workspace/core/standards/ESTANDAR-ESTRUCTURA-DOCUMENTACION.md
rckrdmrd ea1879f4ad feat: Initial workspace structure with multi-level Git configuration
- Configure workspace Git repository with comprehensive .gitignore
- Add Odoo as submodule for ERP reference code
- Include documentation: SETUP.md, GIT-STRUCTURE.md
- Add gitignore templates for projects (backend, frontend, database)
- Structure supports independent repos per project/subproject level

Workspace includes:
- core/ - Reusable patterns, modules, orchestration system
- projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.)
- knowledge-base/ - Reference code and patterns (includes Odoo submodule)
- devtools/ - Development tools and templates
- customers/ - Client implementations template

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 10:44:23 -06:00

246 lines
6.3 KiB
Markdown

# Estándar de Estructura de Documentación
## Objetivo
Definir la estructura estándar para la documentación de proyectos dentro del workspace, basada en las mejores prácticas del proyecto Gamilit.
---
## Estructura de Carpetas `docs/`
### Principio de Numeración
La numeración sigue un esquema jerárquico:
- **00-09**: Visión general y contexto
- **01-0N**: Fases del proyecto (secuenciales)
- **90-99**: Documentación transversal y referencia
```
docs/
├── 00-vision-general/ # Visión, arquitectura, contexto
├── 01-fase-{nombre}/ # Primera fase del proyecto
├── 02-fase-{nombre}/ # Segunda fase del proyecto
├── ... # Fases adicionales según necesidad
├── 0N-fase-{nombre}/ # N-ésima fase
├── 90-transversal/ # Documentación que cruza todas las fases
├── 95-guias-desarrollo/ # Guías técnicas de desarrollo
├── 96-quick-reference/ # Referencias rápidas (cheatsheets)
├── 97-adr/ # Architecture Decision Records
├── 98-standards/ # Estándares del proyecto
├── 99-finiquito/ # Documentación de cierre/entrega
├── {feature-especifica}/ # Carpetas de features sin numeración
└── README.md # Índice maestro de documentación
```
---
## Reglas de Numeración
### Fases del Proyecto (01-0N)
Las fases representan etapas cronológicas o lógicas del proyecto:
| Prefijo | Uso | Ejemplo |
|---------|-----|---------|
| `01-fase-` | Primera fase | `01-fase-alcance-inicial/` |
| `02-fase-` | Segunda fase | `02-fase-robustecimiento/` |
| `03-fase-` | Tercera fase | `03-fase-extensiones/` |
| `04-fase-` | Fase de backlog | `04-fase-backlog/` |
**Nomenclatura:** `{NN}-fase-{nombre-descriptivo}/`
### Documentación Transversal (90-99)
Reservada para documentación que no pertenece a una fase específica:
| Prefijo | Propósito |
|---------|-----------|
| `90-transversal/` | Cruza todas las fases (APIs, BD, componentes) |
| `95-guias-desarrollo/` | Guías técnicas para desarrolladores |
| `96-quick-reference/` | Cheatsheets, referencias rápidas |
| `97-adr/` | Architecture Decision Records |
| `98-standards/` | Estándares y convenciones del proyecto |
| `99-finiquito/` | Manuales de usuario, entrega final |
### Carpetas sin Numeración
Para features o módulos específicos que no son fases:
```
├── sistema-recompensas/ # Feature específica
├── student-portal/ # Portal específico
├── database/ # Documentación de BD
└── frontend/ # Documentación de frontend
```
---
## Estructura Interna de Fases
Cada fase debe contener:
```
01-fase-{nombre}/
├── README.md # Índice de la fase
├── _MAP.md # Mapa de archivos (opcional)
├── {EPICA-001}/ # Épica o feature principal
│ ├── README.md
│ ├── requerimientos/
│ │ └── US-{XXX}-{nombre}.md
│ ├── especificaciones/
│ │ └── SPEC-{nombre}.md
│ └── implementacion/
│ └── IMPL-{nombre}.md
└── {EPICA-002}/
└── ...
```
---
## Archivo README.md Principal
El README.md de docs/ debe incluir:
1. **Encabezado del Proyecto**
- Nombre, versión, período, estado
2. **Alcance** (MVP vs Backlog)
- Tabla clara de qué está incluido vs pendiente
3. **Mapa de Navegación**
- Árbol de estructura con descripción de cada carpeta
4. **Resumen por Fase**
- Objetivo, épicas, resultados, métricas
5. **Navegación por Dominio**
- Acceso rápido por área funcional
6. **Métricas y Estado**
- Completitud, coverage, KPIs
---
## Ejemplos por Tipo de Proyecto
### Proyecto con Fases Cronológicas (Gamilit)
```
docs/
├── 00-vision-general/
├── 01-fase-alcance-inicial/ # Mes 1
├── 02-fase-robustecimiento/ # Mes 2
├── 03-fase-extensiones/ # Mes 3-4
├── 04-fase-backlog/ # Futuro
├── 90-transversal/
├── 95-guias-desarrollo/
├── 96-quick-reference/
├── 97-adr/
├── 98-standards/
└── 99-finiquito/
```
### Proyecto con Módulos (ERP)
```
docs/
├── 00-vision-general/
├── 01-modulo-contabilidad/
├── 02-modulo-inventarios/
├── 03-modulo-ventas/
├── 04-modulo-compras/
├── 90-transversal/
├── 95-guias-desarrollo/
├── 97-adr/
└── 98-standards/
```
### Proyecto Nuevo (Minimal)
```
docs/
├── 00-vision-general/
│ └── README.md # Visión inicial
├── 01-fase-mvp/
│ └── README.md # Pendiente de definir
├── 95-guias-desarrollo/
│ └── README.md
└── README.md
```
---
## Anti-patrones
### NO hacer:
1. **Duplicar numeración**
```
# INCORRECTO
├── 01-requerimientos/
├── 01-fase-inicial/ # Conflicto de numeración
```
2. **Mezclar niveles**
```
# INCORRECTO
├── 01-fase-inicial/
├── componentes/ # Sin numeración junto con numerados
├── 02-fase-desarrollo/
```
3. **Numeración no secuencial**
```
# INCORRECTO
├── 01-fase-inicial/
├── 05-fase-final/ # Salto de numeración
```
### SÍ hacer:
1. **Numeración consistente**
```
# CORRECTO
├── 01-fase-mvp/
├── 02-fase-consolidacion/
├── 03-fase-expansion/
```
2. **Features sin numerar van al final**
```
# CORRECTO
├── 01-fase-mvp/
├── 02-fase-consolidacion/
├── 90-transversal/
├── sistema-pagos/ # Feature específica
└── integraciones/ # Feature específica
```
---
## Migración de Proyectos Existentes
Cuando se migra documentación existente:
1. **Identificar estructura actual**
2. **Mapear a la estructura estándar**
3. **Eliminar duplicados de numeración**
4. **Preservar contenido original**
5. **Actualizar referencias internas**
---
## Validación
El script `validate-structure.sh` verifica:
- Existencia de `docs/README.md`
- Carpeta `docs/` presente
- Sin carpetas con numeración duplicada
---
*Estándar basado en el proyecto Gamilit - Sistema NEXUS*
*Última actualización: 2025-12-05*