Convenciones transversales del Universo
Convenciones transversales del Universo
Section titled “Convenciones transversales del Universo”Código
Section titled “Código”- TypeScript estricto. Sin
anysalvo justificación documentada. - Clean Architecture / DDD cuando el dominio lo justifique.
- Commits: Conventional Commits (feat:, fix:, refactor:, docs:, chore:).
Documentación (CFD)
Section titled “Documentación (CFD)”docs/adr/NNNN-titulo.mdpor decisión arquitectónica.CLAUDE.mdpor mundo hereda del global con @../../CLAUDE.md.COWORK.mdpor mundo = briefing para Claude Cowork.docs/design-system.mdpor mundo = tokens para Claude Design.
Supabase (si el mundo usa Supabase)
Section titled “Supabase (si el mundo usa Supabase)”- No todo mundo usa Supabase — depende del stack elegido (ej. ShipFree usa Drizzle + Better-Auth).
- RLS siempre en tablas con datos de usuario.
- Migraciones versionadas en
supabase/migrations/. - Secrets fuera del repo.
Contratos de API (mundos front/backend)
Section titled “Contratos de API (mundos front/backend)”- Un par (o N:M) de mundos front/backend comparte contrato via
_shared/contracts/<producto>/api-contract.yaml. - El backend es la única fuente de verdad — ese archivo es siempre un symlink al artefacto real del mundo backend, nunca una copia.
- Registrar el par en
_shared/contracts/registry.json; sin entrada ahí, el hook de drift-check no hace nada. - Ver
_shared/contracts/README.mdpara el procedimiento completo y ADR-G017.
Testing
Section titled “Testing”- Un test harness que apunta a un server legacy “real” nunca defaultea al puerto donde corre producción real, aunque sea “solo para desarrollo”. Agregar guard que falle duro (no warning) si la URL resuelta coincide con el puerto de producción conocido. Ver ADR-G027.
Idioma
Section titled “Idioma”- Interno/casual: español. Código/comentarios públicos: inglés.
TASKS.md — marca de paralelizable
Section titled “TASKS.md — marca de paralelizable”- Toda tarea nueva en cualquier
TASKS.mdlleva marca[P]o[S]junto al tag de módulo. [P]= paralelizable: no toca los mismos archivos ni depende de otra tareapending/doing. Segura para lanzar en subagente/mundo distinto al mismo tiempo que otras[P].[S]= secuencial: toca archivos compartidos con otra tarea activa, o depende de que otra termine antes.- Formato:
- [ ] [P] [modulo][id] **Título** — descripción. (fecha). - Al mover una tarea a
## done, conservar la marca[P]/[S]en la entrada final.
Auto-memory (Claude Code)
Section titled “Auto-memory (Claude Code)”Auto-memory es para hallazgos operativos (comandos descubiertos, gotchas, correcciones puntuales). Decisiones de arquitectura van SIEMPRE a docs/adr/, nunca solo a memory. Convenciones de código van SIEMPRE a CONVENTIONS.md, nunca solo a memory. Si detectas conflicto entre un memory file y CLAUDE.md/CONVENTIONS.md/ADR, el documento escrito manda.