AgentSkillsCN

equinox

Equinox ERP 项目概览与导航指南。触发条件:在开始 Equinox 项目工作、导航代码库,或了解项目结构时使用。

SKILL.md
--- frontmatter
name: equinox
description: >
  Equinox ERP project overview and navigation guide.
  Trigger: When starting work on Equinox, navigating the codebase, or understanding project structure.
license: MIT
metadata:
  author: equinox
  version: "1.0"
  scope: [root]
  auto_invoke: "General Equinox development questions"
allowed-tools: Read, Edit, Write, Glob, Grep, Bash

Project Overview

Equinox ERP is a modular enterprise resource planning system with:

  • Desktop app using Tauri 2 + Rust
  • React frontend with TypeScript
  • SQLCipher encrypted local database
  • Supabase cloud sync
  • SENIAT compliance for Venezuela fiscal requirements

Architecture

code
equinox-ruby/
├── src-tauri/              # Rust backend
│   ├── src/
│   │   ├── commands/       # Tauri commands (API)
│   │   ├── models/         # Data structures
│   │   ├── security/       # SENIAT compliance
│   │   ├── services/       # Business logic
│   │   └── db/             # SQLite + SQLCipher
│   └── migrations/
│
├── src/                    # React frontend
│   ├── components/
│   │   ├── ui/             # Shadcn components
│   │   └── shell/          # AppShell, Sidebar
│   ├── modules/            # Feature modules
│   │   ├── clients/
│   │   ├── inventory/
│   │   └── invoicing/
│   └── lib/
│       ├── tauri.ts        # Invoke wrappers
│       └── store.ts        # Zustand stores
│
├── modules/                # External plugins
└── skills/                 # AI agent skills

Core Modules (MVP)

ModuleRust LocationReact Location
Clientscommands/clients.rsmodules/clients/
Inventorycommands/inventory.rsmodules/inventory/
Invoicingcommands/invoicing.rsmodules/invoicing/

Multi-Tenant Structure

code
Organization (Company)
├── Multiple Tenants (Branches)
│   ├── Local SQLite (offline-capable)
│   └── Hardware-locked for fiscal modules
└── Master Inventory (aggregated in Supabase)

Key Patterns

Frontend → Backend Communication

typescript
// Always use typed invoke wrappers
import { clients } from '@/lib/tauri';

const client = await clients.create({ name: 'ACME' });

Security-First

  • All fiscal documents use secure_chain (blockchain-lite)
  • Audit logs are immutable (SQL triggers)
  • Hardware locking for fiscal modules
  • Time manipulation detection

Commands

bash
# Development
bun run tauri dev

# Build
bun run tauri build

# Rust tests
cd src-tauri && cargo test

# Type check
bun run typecheck

Related Skills

NeedSkill
Rust backend patternsequinox-rust
React UI patternsequinox-ui
Security/SENIATequinox-security
Clients moduleequinox-clients
Inventory moduleequinox-inventory
Invoicing moduleequinox-invoicing