Plantilla

Formato unico para todo el catalogo. Todo el contenido en espanol. Slugs de archivos y carpetas en kebab-case estable (ingles/producto).

Regla base: solo se documenta lo que existe en el codigo (frontend achieveApex-Frontend/src y backend achieveApex-Backend/src). No se inventan campos, botones, rutas ni reglas.

Audiencia y proposito

Este catalogo es la ficha tecnica de AchieveApex para otra IA (ChatGPT, Claude, un agente) o para una persona que pregunta "que hace Apex". Se le entregan estas carpetas (o los bundles de bundles/) y debe poder responder:

Por eso cada ficha lleva Que se logra y cada modulo lleva Para que sirve y Que lo hace diferente. Esas secciones se escriben con hechos del codigo, no con marketing.


1. README.md de modulo

---
id: slug-del-modulo
app: slug-de-la-app
nombre: Nombre en espanol
estado: shipped | beta | partial | admin | public
permiso: can_access_xxx (o "ninguno" si es publico)
---

# Nombre en espanol

Una o dos lineas: para que existe este modulo y a quien sirve.

## Para que sirve

Casos de uso reales del modulo (3 a 6), una linea cada uno, con tipo de negocio concreto:

- Una clinica usa esto para {resultado}.
- Una agencia de marketing usa esto para {resultado}.

## Que lo hace diferente

- Puntos concretos que no tiene una herramienta generica equivalente: integracion nativa con otros modulos de Apex (asistentes IA, automatizaciones, wallet, canales), datos compartidos (contacto unico entre CRM, finanzas, eventos), o capacidades propias. Solo lo confirmado en codigo.

## Acceso

- Ruta principal: `/[orgId]/...`
- Como se llega: `Header app switcher > App > Seccion` (o `Avatar menu > Settings > ...`)
- Permiso requerido: `can_access_xxx` y permisos granulares si aplican

## Alcance tecnico

- Frontend: rutas `page.tsx` relevantes y componentes principales
- Backend: servicios Feathers clave (no listar hooks uno a uno)
- Superficies publicas: rutas sin login si existen
- Integraciones externas: Stripe, Telnyx, Meta, Recall, S3, etc.

## Funcionalidades internas

| Funcionalidad | Archivo | Resumen |
|---------------|---------|---------|
| Nombre | [slug.md](slug.html) | Una linea |

## Relaciones

- Depende de: modulos que necesita (ej. Contactos, Currencies)
- Usado por: modulos que lo consumen (ej. Automatizaciones, Nova)

## Limitaciones y notas

- Reglas de negocio no obvias, limites, estados legacy, convivencia con otros modulos.

2. Archivo de funcionalidad interna {capacidad}.md

Una funcionalidad = una accion o capacidad que el usuario puede ejecutar o configurar. Ejemplos: "Asignar conversacion", "Importar contactos desde CSV", "Convertir estimate en invoice", "Publicar sitio con dominio propio".

---
id: slug-de-la-capacidad
modulo: slug-del-modulo
app: slug-de-la-app
nombre: Nombre en espanol
tipo: accion | configuracion | vista | automatizacion | integracion | publico
---

# Nombre en espanol

Que hace en una o dos lineas.

## Que se logra

- Resultado: que obtiene el usuario o el negocio al usar esto (una linea, concreta).
- Caso de uso: ejemplo real en una o dos lineas con tipo de negocio ("Una inmobiliaria ...").
- Se combina con: otras funcionalidades de Apex con las que suele usarse (solo si aplica).

## Donde esta

- Ruta: `/[orgId]/...`
- Acceso en UI: `Seccion > Boton/Tab/Menu` (nombres reales tal como aparecen)
- Componente(s): `NombreComponente.tsx`

## Como funciona

Pasos reales del usuario. Numerados.

## Campos y opciones

| Campo | Tipo | Obligatorio | Notas |
|-------|------|-------------|-------|

(Omitir la tabla si no hay formulario.)

## Reglas y validaciones

- Condiciones, limites, estados permitidos, permisos granulares (`can_edit_all_...`), que pasa en errores.

## Backend

- Servicios: `nombre-servicio` (metodo: find/get/create/patch/remove o custom)
- Hooks relevantes solo si cambian el comportamiento visible
- Efectos: notificaciones, emails, wallet, automatizaciones disparadas, webhooks

## Relaciones

- Requiere: otras funcionalidades o modulos
- Dispara / afecta: otras funcionalidades o modulos

## Notas

- Casos borde, comportamiento legacy, features flags, diferencias mobile/web.

3. Reglas de escritura