# Project Rules - Template SaaS (Trae IDE)

**Proyecto:** template-saas
**Tipo:** PROVIDER
**Sistema:** SIMCO v4.0.0

---

## Reglas Heredadas

Este proyecto hereda TODAS las reglas de:
- `workspace-v2/CLAUDE.md`
- `workspace-v2/.trae/rules.md`

Las reglas aquí son EXTENSIONES específicas del proyecto.

---

## Stack

- **Backend:** NestJS 11.1.8
- **Frontend:** React 19.0.0 + Vite 6.0.6
- **Database:** PostgreSQL 15+ con TypeORM
- **Cache:** Redis (ioredis)

---

## Credenciales BD

```
DB_HOST=localhost
DB_PORT=5432
DB_NAME=template_saas_dev
DB_USER=template_saas_user
DB_PASS=saas_dev_2026
```

---

## Reglas Específicas

### 1. Multi-Tenancy Obligatorio

Todo endpoint y query debe:
- Incluir `tenant_id` en el contexto
- Usar Row Level Security (RLS)
- Validar que el usuario pertenece al tenant

### 2. Validación Stripe

Los webhooks de Stripe deben:
- Validar firma con `stripe-signature`
- Usar `constructEvent()` de Stripe SDK
- Manejar errores de validación

### 3. Módulos Disponibles (19)

```
auth, tenants, users, billing, plans, ai, notifications,
email, whatsapp, audit, feature-flags, webhooks, storage,
analytics, reports, health, onboarding, rbac, superadmin
```

### 4. Tests

Cobertura mínima: 70% para nuevos módulos
Comando: `npm run test`

---

## Paths de Trabajo

```
Backend:    projects/template-saas/backend/src/
Frontend:   projects/template-saas/frontend/src/
DDL:        projects/template-saas/database/ddl/
Docs:       projects/template-saas/docs/
```

---

## Propagación

Como PROVIDER, cambios aquí pueden propagarse a:
- erp-core
- Verticales ERP (via erp-core)

**Siempre evaluar propagación después de completar tarea.**

---

## Referencias

- CLAUDE.md local: `projects/template-saas/CLAUDE.md`
- Constantes: `projects/template-saas/.claude/constants/CONSTANTS-PROJECT.yml`
- Inventarios: `projects/template-saas/orchestration/inventarios/`
