diff --git a/docs/superpowers/specs/2026-05-06-base-backend-scaffold-design.md b/docs/superpowers/specs/2026-05-06-base-backend-scaffold-design.md index 263fc14..c6ec6a3 100644 --- a/docs/superpowers/specs/2026-05-06-base-backend-scaffold-design.md +++ b/docs/superpowers/specs/2026-05-06-base-backend-scaffold-design.md @@ -145,14 +145,45 @@ Breve. Explica: - Cómo crear un servicio nuevo: copiar `packages/_template/`, renombrar. - Dónde mirar: `CLAUDE.md`, `CONTRIBUTING.md`, skill `sf-backend-architecture`. -### 7. `packages/_template/package.json` +### 7. `packages/_template/` + +Limpiar el template completo de referencias específicas del repo origen. + +#### 7.1 `package.json` - `name`: `"sim-template"` → `"template"`. - `description`: "Template de la estructura de archivos" → "Plantilla base para servicios del monorepo". - **Quitar dependencias** `amqplib` y `@types/amqplib` (decisión 4). -- Path aliases (`imports`): mantener `#adapters/*`, `#domain/*`, `#ports/*`, `#tests/*`. **Añadir** `#application/*` (no estaba antes; refleja la corrección del typo en decisión 6). +- Path aliases (`imports`): consolidar con los del `tsconfig.json` del template (sf-sim los tiene desincronizados). El conjunto canónico es: `#config/*`, `#adapters/*`, `#application/*`, `#domain/*`, `#ports/*`, `#tests/*`. (`#application/*` se añade nuevo — refleja la corrección del typo de decisión 6.) - Resto se mantiene. +#### 7.2 `tsconfig.json` + +- `compilerOptions.outDir`: `"../../dist/sim-gestor-eventos"` → `"../../dist/template"` (nombre genérico). +- `compilerOptions.paths`: añadir `"#application/*": ["application/*"]` para alinear con los `imports` del `package.json`. + +#### 7.3 `.env` + +Reescribir. Eliminar todas las vars de `RABBITMQ_*` y `POSTGRES_*` (decisión 1: sin infra de mensajería/persistencia en el scaffold). Dejar solo: + +```env +ENVIRONMENT=development +``` + +(Corregido el typo `ENVIORMENT` del fichero original.) + +#### 7.4 `config/env/index.ts` + +Reescribir. Sustituir el objeto que exporta vars de RabbitMQ y Postgres por un objeto mínimo: + +```ts +export const env = { + ENVIRONMENT: String(process.env.ENVIRONMENT ?? "development"), +}; +``` + +Cuando alguien arranque un servicio real, ampliará este objeto con las vars que necesite. + ### 8. `.agents/skills/sf-backend-architecture/SKILL.md` Añadir bloque al inicio (tras el frontmatter):