Sincroniza con doc Obsidian 2.14 v2.3 y engram sig-cm2/design-system: - Agrega violet accent y nueva guidance - Density bumpeada a 40px (input h-10), radius 10px base - Utilities CSS (.glass/.gradient-mesh/.grid-bg/.surface/.focus-glow) - Card variants ampliados - Tooltip Radix obligatorio (no CSS absolute en sidebars) - Sidebar colapsable con useSidebar - TooltipProvider y Toaster ya en App.tsx - Browser autofill fix mencionado
5.5 KiB
5.5 KiB
Skill Registry — sig-cm2
Generated: 2026-04-13
User Skills
| Skill | Trigger |
|---|---|
sdd-init |
User says "sdd init", "iniciar sdd", "openspec init" |
sdd-explore |
Orchestrator launches exploration of a feature or codebase area |
sdd-propose |
Orchestrator launches proposal for a change |
sdd-spec |
Orchestrator launches spec writing for a change |
sdd-design |
Orchestrator launches technical design for a change |
sdd-tasks |
Orchestrator launches task breakdown for a change |
sdd-apply |
Orchestrator launches implementation of tasks |
sdd-verify |
Orchestrator launches verification of a completed change |
sdd-archive |
Orchestrator launches archival of a completed change |
sdd-onboard |
User wants a guided SDD walkthrough |
judgment-day |
User says "judgment day", "review adversarial", "doble review", "juzgar" |
go-testing |
Writing Go tests, using teatest, Bubbletea TUI testing |
skill-creator |
Creating a new AI agent skill |
branch-pr |
Creating a pull request, preparing changes for review |
issue-creation |
Creating a GitHub issue, bug report, or feature request |
skill-registry |
Update skill registry, "actualizar skills" |
obsidian-cli |
Interact with Obsidian vault via CLI |
obsidian-markdown |
Creating/editing Obsidian Flavored Markdown (.md files in vault) |
gitea-workflow |
Agile workflow for Gitea repos, "run the workflow", "what's next" |
find-skills |
"Find a skill for X", "how do I do X", discover capabilities |
Project Conventions
| File | Role |
|---|---|
Obsidian/SPEC.md |
Source of truth — visión, módulos, tech stack |
Obsidian/STATUS.md |
Estado de UDTs — ÚNICO lugar para marcar tareas [x] |
Obsidian/INSTRUCCIONES_IA.md |
SOP del agente: bucle de ejecución, reglas de lectura |
Obsidian/02-ARQUITECTURA-y-TECH-STACK/ |
UDTs por módulo con CMV (Contexto Mínimo Viable) |
Obsidian/04-DOMINIO-y-REGLAS-de-NEGOCIO/ |
Reglas de negocio — consultar ante dudas |
Compact Rules
SIG-CM2 Development Rules
- Orden de implementación SIEMPRE: BD → Backend → Frontend
- Rama por UDT:
feature/UDT-XXX(o VTA-XXX, TAS-XXX, INT-XXX, ADM-XXX) - Commits:
tipo(módulo): descripción— feat/fix/docs/refactor/test/chore/security - NUNCA leer
Obsidian/07-RELEVAMIENTOS/sin instrucción humana explícita - Para dudas de negocio: consultar
04-DOMINIO-y-REGLAS-de-NEGOCIO/oSPEC.md - Antes de cada UDT: leer STATUS.md → leer UDT en carpeta 02 → cargar solo el CMV indicado
Architecture
- Clean Architecture: SIGCM2.Api / SIGCM2.Application / SIGCM2.Domain / SIGCM2.Infrastructure
- Backend ORM: Dapper 2.x (NO Entity Framework — decisión arquitectural)
- Lógica crítica de negocio: Stored Procedures en SQL Server
- Frontend state: Zustand (global) + TanStack Query (server state)
- Frontend estructura: src/api, src/components/{ui,features}, src/features/*, src/hooks, src/layouts, src/pages, src/stores, src/utils
Strict TDD Mode (ACTIVE)
- Tests ANTES del código de producción (Red → Green → Refactor)
- Backend: xUnit + NSubstitute — comando:
dotnet test - Frontend: Vitest + React Testing Library — comando:
vitest - Coverage backend:
dotnet test --collect:"XPlat Code Coverage" - Coverage frontend:
vitest --coverage
Design System (frontend) — v2.3
- Source of truth:
Obsidian/02-ARQUITECTURA-y-TECH-STACK/2.14 🎨 Design System.md. Engram topic_key:sig-cm2/design-system - Personality: tech sophisticated (Vercel/Linear/Railway). Glass + gradient mesh + multi-layer shadows + glow blobs corners
- Brand
#008fbe(logo) → escalado OKLCH--brand-50..950. Violet accentoklch(0.62 0.20 280)(--accent-violet-*) para combos tech. Neutral cool slate con shift hue 250-252 (--neutral-50..950) - NO usar
gray-*/slate-*/blue-*genéricos de Tailwind. Solo brand/neutral/violet/semantic - Tokens semánticos:
bg-background,text-foreground,bg-primary,bg-card,text-muted-foreground,border-border,ring-ring,bg-input(conborder-input-border). NUNCA hardcodearbg-white/text-black/hex inline - Density compact: button 32-40px, input 40px (
h-10), table row 40px.--radiusbase 10px (sm/md/lg/xl = 6/8/10/14) - Light + Dark con default = system preference (
useTheme()hook). Dark NO es pure black (slate-violet). Smoke test ambos antes de mergear - Forms: ≤4 campos single col, ≥5 campos
grid grid-cols-1 md:grid-cols-2 gap-4 - Tablas mobile: priority columns + tap-to-expand (NO cards-on-mobile, NO pure horizontal scroll)
- Utilities CSS (
@layer componentsen index.css):.glass,.gradient-mesh,.grid-bg(usar en root layouts),.surface(tablas),.focus-glow - Card variants:
default(shadow-md) /elevated/glass/flat - Tooltips: usar SIEMPRE
<Tooltip>de@/components/ui/tooltip(Radix Portal). NO CSS absolute en sidebars/modals — clipping issue - Sidebar: colapsable con
useSidebar()hook (persiste en localStorage). Toggle en top header al lado del brand - Toasts via
sonner(<Toaster richColors closeButton position="top-right" />ya montado enApp.tsx).toast.success()/toast.error() - TooltipProvider ya envuelve App con
delayDuration={150} - Componentes shadcn: instalar via shadcn MCP server o
npx shadcn@latest add. NUNCA copy-paste manual del website - WCAG AA obligatorio: focus rings visibles (ya forzado en CSS base), contrast ≥ 4.5:1 texto normal, aria-label en botones icon-only
- Browser autofill fix ya aplicado en
@layer base— respeta tokens del DS