template-saas/CLAUDE.md
Adrian Flores Cortes e7767e03be
Some checks failed
CI / Backend CI (push) Has been cancelled
CI / Frontend CI (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / CI Summary (push) Has been cancelled
[template-saas] refactor(structure): Migrate to canonical apps/ structure (ADR-0011)
- Moved backend/ submodule to apps/backend/
- Moved frontend/ submodule to apps/frontend-web/ (canonical naming)
- Moved database/ submodule to apps/database/
- Updated docker-compose.yml frontend path to apps/frontend-web
- Updated CLAUDE.md v2.0.0 with canonical structure and aliases
- Created apps/_MAP.md with component index
- Updated MASTER_INVENTORY.yml paths (13 references)

Part of: TASK-2026-02-06-ESTANDARIZACION-ESTRUCTURA-PROYECTOS (Sprint 2)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 10:14:32 -06:00

187 lines
5.2 KiB
Markdown

# CLAUDE.md - Template SaaS
**Hereda de:** workspace-v2/CLAUDE.md
**Sistema:** SIMCO v4.0.0 + NEXUS v4.0
**Proyecto:** template-saas
**Tipo:** PROVIDER (L1A)
**Versión:** 2.0.0
**Actualizado:** 2026-02-06
**ADR Vinculante:** ADR-0011 (Estructura Canonica apps/)
**Homologación:** TASK-2026-02-03-HOMOLOGACION-TEMPLATE-SAAS
---
## EXTENSIONES LOCALES
Este archivo EXTIENDE (no reemplaza) las reglas del workspace.
Para reglas base, ver: `../../CLAUDE.md`
---
## STACK TECNOLÓGICO
| Capa | Tecnología | Versión |
|------|------------|---------|
| Backend | NestJS | 11.1.8 |
| Frontend | React | 19.0.0 |
| Build Tool | Vite | 6.0.6 |
| Base de Datos | PostgreSQL | 15+ |
| ORM | TypeORM | 0.3.22 |
| Cache | Redis (ioredis) | 5.9.0 |
| Queue | BullMQ | 5.66.4 |
| Payments | Stripe | 17.5.0 |
| State Mgmt | Zustand | 5.0.2 |
| UI Framework | Tailwind CSS | 3.4.17 |
---
## CREDENCIALES BD
```
Database: template_saas_dev
User: template_saas_user
Password: saas_dev_2026
Port: 5432
Host: localhost
```
---
## ESTRUCTURA CANONICA (ADR-0011)
```
template-saas/
├── apps/ # Contenedor canonico
│ ├── backend/ # NestJS API (submodule)
│ │ └── src/modules/ # 23 modulos
│ ├── frontend-web/ # React SPA (submodule)
│ │ └── src/ # 3 portales
│ ├── database/ # DDL PostgreSQL (submodule)
│ │ └── ddl/ # 24 tablas
│ └── _MAP.md # Indice de apps
├── orchestration/ # Sistema SIMCO local
├── docs/ # Documentacion tecnica
├── .claude/ # Instrucciones Claude Code
├── docker-compose.yml # Orquestacion Docker
└── .gitmodules # 3 submodules en apps/
```
**IMPORTANTE:** Todo desarrollo nuevo DEBE ir dentro de `apps/`. No crear archivos en raiz.
---
## HERENCIA
### Este proyecto hereda de:
- `workspace-v2/orchestration/` → Directivas globales, triggers, modos
- `workspace-v2/shared/catalog/` → Funcionalidades reutilizables
### Este proyecto exporta a:
- `erp-core` → Patrones base SaaS, auth, multi-tenancy
- Verticales ERP → Via erp-core (herencia transitiva)
---
## MÓDULOS BACKEND (23)
| Módulo | Descripción |
|--------|-------------|
| auth | JWT, OAuth ready, MFA |
| tenants | Multi-tenancy con RLS |
| users | Gestión de usuarios |
| billing | Integración Stripe |
| plans | Límites y suscripciones |
| ai | Wrapper multi-LLM |
| notifications | Email, push, in-app, WebSocket |
| email | SendGrid, SES, SMTP |
| whatsapp | WhatsApp Business API |
| audit | Auditoría de acciones |
| feature-flags | Toggles dinámicos |
| webhooks | Outbound con BullMQ |
| storage | S3, R2, MinIO |
| analytics | Reportes analíticos |
| reports | Generación de reportes |
| health | Health checks |
| onboarding | Wizard para nuevos tenants |
| rbac | Control de acceso |
| superadmin | Portal super admin |
| sales | Pipeline de ventas (SAAS-018) |
| portfolio | Catálogo de productos (SAAS-019) |
| commissions | Comisiones (SAAS-020) |
| mlm | Marketing multinivel (SAAS-021) |
| goals | Metas y objetivos (SAAS-022) |
---
## VALIDACIONES ADICIONALES
Además de las validaciones del workspace:
1. **Multi-Tenancy:** Todo endpoint debe respetar tenant_id
2. **RLS:** Las queries deben usar Row Level Security
3. **Stripe:** Los webhooks deben validar firma
4. **Tests:** Cobertura mínima 70% para nuevos módulos
---
## ALIASES LOCALES
- `@BACKEND` → apps/backend/src/modules/
- `@FRONTEND` → apps/frontend-web/src/
- `@DDL` → apps/database/ddl/
- `@DOCS` → docs/
- `@INVENTARIOS` → orchestration/inventarios/
- `@CONSTANTS` → .claude/constants/CONSTANTS-PROJECT.yml
- `@APPS-MAP` → apps/_MAP.md
---
## ANTES DE IMPLEMENTAR
1. Verificar en `docs/` que existe especificación
2. Si no existe → DETENER y preguntar
3. Revisar `orchestration/inventarios/` para estado actual
4. Validar que no duplica funcionalidad existente
---
## DESPUÉS DE IMPLEMENTAR
1. Actualizar inventarios (BACKEND_INVENTORY.yml, etc.)
2. Actualizar documentación afectada
3. Commit y push siguiendo SIMCO-GIT
4. Evaluar propagación a erp-core
---
## PROPAGACIÓN
Como proyecto PROVIDER, los cambios en template-saas pueden propagarse a:
```
template-saas (PROVIDER)
erp-core (INTERMEDIATE)
erp-construccion, erp-clinicas, erp-retail, etc. (CONSUMERS)
```
**Regla:** Security fixes se propagan INMEDIATAMENTE.
---
## REFERENCIAS RÁPIDAS
| Documento | Ubicación | Descripción |
|-----------|-----------|-------------|
| Estándares Aplicados | `docs/99-referencias/ESTANDARES-APLICADOS.md` | 14 estándares, 98% cumplimiento |
| Matriz Trazabilidad | `docs/99-referencias/MATRIZ-TRAZABILIDAD.md` | 37 RF/RNF, 97% cobertura |
| Directivas Locales | `.claude/directivas/DIRECTIVAS-LOCALES.md` | Extensiones de directivas SIMCO |
| CONTEXT-MAP | `orchestration/CONTEXT-MAP.yml` | Mapeo de contexto NEXUS |
| Inventarios | `orchestration/inventarios/` | Estado de artefactos |
---
*Template SaaS v2.0.0 - Sistema SIMCO v4.0.0*
*Estructura migrada a apps/ canonico: 2026-02-06*