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:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user