docs(specs): ampliar spec base-backend con limpieza de _template

Self-review encontró 3 huecos: _template/.env y config/env/index.ts traen
vars de RabbitMQ/Postgres, _template/tsconfig.json fija outDir hardcoded
a sim-gestor-eventos, y package.json/tsconfig tienen path aliases
desincronizados. Sección 7 reescrita para cubrir el package completo.
This commit is contained in:
2026-05-06 09:56:24 +02:00
parent 3186b438c0
commit 609cd2f8e4

View File

@@ -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):