Add corporate brain v1 knowledge base
This commit is contained in:
@@ -0,0 +1,7 @@
|
|||||||
|
# DevSecOps Corporate Brain
|
||||||
|
|
||||||
|
Base de conocimiento oficial de la Software Factory IA Autónoma.
|
||||||
|
|
||||||
|
Este repositorio define estándares, flujos, responsabilidades, arquitectura, seguridad, QA, DevOps y plantillas que deben usar todos los agentes IA.
|
||||||
|
|
||||||
|
Todo agente debe priorizar este conocimiento sobre respuestas genéricas.
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
# Reglas de Coordinación de Agentes
|
||||||
|
|
||||||
|
## Regla principal
|
||||||
|
|
||||||
|
Ningún agente debe actuar fuera de su responsabilidad principal.
|
||||||
|
|
||||||
|
## CTO Agent
|
||||||
|
|
||||||
|
Coordina y aprueba. No implementa.
|
||||||
|
|
||||||
|
## Product Owner Agent
|
||||||
|
|
||||||
|
Define alcance, backlog y criterios. No implementa.
|
||||||
|
|
||||||
|
## Architect Agent
|
||||||
|
|
||||||
|
Diseña arquitectura. No implementa código completo.
|
||||||
|
|
||||||
|
## UI/UX Agent
|
||||||
|
|
||||||
|
Diseña experiencia. No implementa lógica.
|
||||||
|
|
||||||
|
## Backend Agent
|
||||||
|
|
||||||
|
Implementa backend según arquitectura aprobada.
|
||||||
|
|
||||||
|
## Frontend Agent
|
||||||
|
|
||||||
|
Implementa frontend según diseño y APIs.
|
||||||
|
|
||||||
|
## DevOps Agent
|
||||||
|
|
||||||
|
Define contenedores, pipelines e infraestructura.
|
||||||
|
|
||||||
|
## QA Agent
|
||||||
|
|
||||||
|
Define y ejecuta estrategia de pruebas.
|
||||||
|
|
||||||
|
## Security Agent
|
||||||
|
|
||||||
|
Valida amenazas, vulnerabilidades y controles.
|
||||||
|
|
||||||
|
## Regla de escalamiento
|
||||||
|
|
||||||
|
Si un agente detecta una decisión fuera de su dominio, debe escalar al CTO Agent.
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
# Estándar de Arquitectura
|
||||||
|
|
||||||
|
## Principios
|
||||||
|
|
||||||
|
- Simplicidad primero.
|
||||||
|
- Escalabilidad justificada.
|
||||||
|
- Bajo acoplamiento.
|
||||||
|
- Alta cohesión.
|
||||||
|
- Separación de responsabilidades.
|
||||||
|
- Seguridad desde el diseño.
|
||||||
|
|
||||||
|
## Arquitectura backend preferida
|
||||||
|
|
||||||
|
- Clean Architecture.
|
||||||
|
- DDD cuando exista dominio complejo.
|
||||||
|
- CQRS cuando haya separación clara de lectura/escritura.
|
||||||
|
- Modular monolith como primera opción si no hay necesidad real de microservicios.
|
||||||
|
|
||||||
|
## Microservicios
|
||||||
|
|
||||||
|
Solo se recomiendan cuando existan:
|
||||||
|
|
||||||
|
- Equipos separados.
|
||||||
|
- Escalamiento independiente.
|
||||||
|
- Dominios claramente separados.
|
||||||
|
- Ciclos de despliegue independientes.
|
||||||
|
|
||||||
|
## Multi-tenant
|
||||||
|
|
||||||
|
Evaluar:
|
||||||
|
|
||||||
|
- TenantId compartido.
|
||||||
|
- Schema por tenant.
|
||||||
|
- Base por tenant.
|
||||||
|
|
||||||
|
Decisión debe justificarse por:
|
||||||
|
|
||||||
|
- Seguridad.
|
||||||
|
- Costo.
|
||||||
|
- Escalabilidad.
|
||||||
|
- Operación.
|
||||||
|
- Complejidad.
|
||||||
|
|
||||||
|
## Decisiones arquitectónicas
|
||||||
|
|
||||||
|
Toda decisión relevante debe documentarse como ADR.
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
# Checklist CTO
|
||||||
|
|
||||||
|
Antes de aprobar una solución validar:
|
||||||
|
|
||||||
|
## Producto
|
||||||
|
|
||||||
|
- Requerimiento claro.
|
||||||
|
- Alcance definido.
|
||||||
|
- Criterios de aceptación.
|
||||||
|
- Riesgos funcionales.
|
||||||
|
|
||||||
|
## Arquitectura
|
||||||
|
|
||||||
|
- Capas claras.
|
||||||
|
- Patrones justificados.
|
||||||
|
- No hay sobrearquitectura.
|
||||||
|
- Escalabilidad razonable.
|
||||||
|
|
||||||
|
## Backend
|
||||||
|
|
||||||
|
- API documentada.
|
||||||
|
- Validaciones.
|
||||||
|
- Manejo de errores.
|
||||||
|
- Seguridad.
|
||||||
|
|
||||||
|
## Frontend
|
||||||
|
|
||||||
|
- UX clara.
|
||||||
|
- Accesibilidad.
|
||||||
|
- Manejo de estados.
|
||||||
|
- Responsive.
|
||||||
|
|
||||||
|
## DevOps
|
||||||
|
|
||||||
|
- Docker.
|
||||||
|
- Pipeline.
|
||||||
|
- Variables.
|
||||||
|
- Despliegue reproducible.
|
||||||
|
|
||||||
|
## QA
|
||||||
|
|
||||||
|
- Pruebas definidas.
|
||||||
|
- Criterios verificables.
|
||||||
|
- Evidencia requerida.
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
- OWASP revisado.
|
||||||
|
- Secretos protegidos.
|
||||||
|
- Autorización validada.
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# Estándar Product Owner
|
||||||
|
|
||||||
|
## Salida mínima esperada
|
||||||
|
|
||||||
|
Todo requerimiento debe transformarse en:
|
||||||
|
|
||||||
|
- Objetivo de negocio.
|
||||||
|
- Alcance.
|
||||||
|
- Fuera de alcance.
|
||||||
|
- Épicas.
|
||||||
|
- Features.
|
||||||
|
- Historias de usuario.
|
||||||
|
- Criterios de aceptación.
|
||||||
|
- Dependencias.
|
||||||
|
- Riesgos.
|
||||||
|
- Prioridad.
|
||||||
|
|
||||||
|
## Formato de historia
|
||||||
|
|
||||||
|
Como [rol]
|
||||||
|
quiero [funcionalidad]
|
||||||
|
para [beneficio]
|
||||||
|
|
||||||
|
## Criterios de aceptación
|
||||||
|
|
||||||
|
Deben ser verificables y claros.
|
||||||
|
|
||||||
|
Ejemplo:
|
||||||
|
|
||||||
|
Dado que soy usuario autenticado,
|
||||||
|
cuando creo una orden válida,
|
||||||
|
entonces el sistema debe guardar la orden y mostrar confirmación.
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
# Estándar QA
|
||||||
|
|
||||||
|
## Tipos de prueba
|
||||||
|
|
||||||
|
Toda solución debe considerar:
|
||||||
|
|
||||||
|
- Pruebas unitarias.
|
||||||
|
- Pruebas de integración.
|
||||||
|
- Pruebas funcionales.
|
||||||
|
- Pruebas de API.
|
||||||
|
- Pruebas de seguridad.
|
||||||
|
- Pruebas de rendimiento.
|
||||||
|
- Pruebas de regresión.
|
||||||
|
|
||||||
|
## Backend
|
||||||
|
|
||||||
|
- xUnit.
|
||||||
|
- Moq.
|
||||||
|
- Testcontainers cuando aplique.
|
||||||
|
- Pruebas de endpoints críticos.
|
||||||
|
|
||||||
|
## Frontend
|
||||||
|
|
||||||
|
- Jasmine/Jest.
|
||||||
|
- Testing Library.
|
||||||
|
- Playwright para E2E.
|
||||||
|
|
||||||
|
## Performance
|
||||||
|
|
||||||
|
- K6 para APIs.
|
||||||
|
- JMeter cuando el escenario sea complejo.
|
||||||
|
- Métricas de latencia.
|
||||||
|
- Throughput.
|
||||||
|
- Errores por segundo.
|
||||||
|
|
||||||
|
## Criterio de aprobación
|
||||||
|
|
||||||
|
No se aprueba una solución sin:
|
||||||
|
|
||||||
|
- Evidencia de pruebas.
|
||||||
|
- Casos críticos cubiertos.
|
||||||
|
- Errores conocidos documentados.
|
||||||
|
- Riesgos aceptados.
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
# Runbook Angular + Docker + Nginx
|
||||||
|
|
||||||
|
## Objetivo
|
||||||
|
|
||||||
|
Compilar Angular y servirlo usando Nginx en contenedor.
|
||||||
|
|
||||||
|
## Flujo
|
||||||
|
|
||||||
|
Angular source
|
||||||
|
↓
|
||||||
|
npm install
|
||||||
|
↓
|
||||||
|
npm build
|
||||||
|
↓
|
||||||
|
Docker multi-stage
|
||||||
|
↓
|
||||||
|
Nginx Alpine
|
||||||
|
↓
|
||||||
|
Imagen final
|
||||||
|
↓
|
||||||
|
Deploy
|
||||||
|
|
||||||
|
## Reglas
|
||||||
|
|
||||||
|
- Usar nginx.conf propio.
|
||||||
|
- Configurar fallback para SPA.
|
||||||
|
- No exponer source maps en producción si no aplica.
|
||||||
|
- Usar variables de entorno por ambiente.
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
# Runbook CI/CD
|
||||||
|
|
||||||
|
## Pipeline mínimo
|
||||||
|
|
||||||
|
1. Checkout.
|
||||||
|
2. Restore dependencies.
|
||||||
|
3. Build.
|
||||||
|
4. Test.
|
||||||
|
5. Static analysis.
|
||||||
|
6. Security scan.
|
||||||
|
7. Docker build.
|
||||||
|
8. Push image.
|
||||||
|
9. Deploy.
|
||||||
|
10. Smoke test.
|
||||||
|
|
||||||
|
## Ambientes
|
||||||
|
|
||||||
|
- dev automático.
|
||||||
|
- qa con validación.
|
||||||
|
- prod con aprobación.
|
||||||
|
|
||||||
|
## Reglas
|
||||||
|
|
||||||
|
- Ningún despliegue manual a producción.
|
||||||
|
- Todo cambio debe venir de repositorio.
|
||||||
|
- Todo release debe tener trazabilidad.
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
# Runbook .NET + Docker
|
||||||
|
|
||||||
|
## Objetivo
|
||||||
|
|
||||||
|
Construir y ejecutar APIs .NET en contenedor.
|
||||||
|
|
||||||
|
## Flujo
|
||||||
|
|
||||||
|
Código .NET
|
||||||
|
↓
|
||||||
|
dotnet restore
|
||||||
|
↓
|
||||||
|
dotnet build
|
||||||
|
↓
|
||||||
|
dotnet test
|
||||||
|
↓
|
||||||
|
dotnet publish
|
||||||
|
↓
|
||||||
|
runtime image
|
||||||
|
↓
|
||||||
|
container
|
||||||
|
|
||||||
|
## Reglas
|
||||||
|
|
||||||
|
- Multi-stage build.
|
||||||
|
- Usuario no root.
|
||||||
|
- Healthcheck.
|
||||||
|
- Variables de entorno.
|
||||||
|
- Logs stdout.
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
# Estándar de Seguridad
|
||||||
|
|
||||||
|
## Principios
|
||||||
|
|
||||||
|
- Seguridad por defecto.
|
||||||
|
- Menor privilegio.
|
||||||
|
- Zero Trust.
|
||||||
|
- Validación de entradas.
|
||||||
|
- Defensa en profundidad.
|
||||||
|
- Auditoría.
|
||||||
|
|
||||||
|
## OWASP
|
||||||
|
|
||||||
|
Toda solución debe revisar:
|
||||||
|
|
||||||
|
- Broken Access Control.
|
||||||
|
- Cryptographic Failures.
|
||||||
|
- Injection.
|
||||||
|
- Insecure Design.
|
||||||
|
- Security Misconfiguration.
|
||||||
|
- Vulnerable Components.
|
||||||
|
- Authentication Failures.
|
||||||
|
- Integrity Failures.
|
||||||
|
- Logging and Monitoring Failures.
|
||||||
|
- SSRF.
|
||||||
|
|
||||||
|
## APIs
|
||||||
|
|
||||||
|
- Autenticación obligatoria en endpoints protegidos.
|
||||||
|
- Autorización por rol o policy.
|
||||||
|
- Rate limiting cuando aplique.
|
||||||
|
- Validación de DTOs.
|
||||||
|
- No exponer información sensible.
|
||||||
|
|
||||||
|
## Contenedores
|
||||||
|
|
||||||
|
- No root.
|
||||||
|
- Imágenes actualizadas.
|
||||||
|
- Escaneo de vulnerabilidades.
|
||||||
|
- Secrets externos.
|
||||||
|
|
||||||
|
## Datos
|
||||||
|
|
||||||
|
- Cifrado en tránsito.
|
||||||
|
- Cifrado en reposo cuando aplique.
|
||||||
|
- Auditoría.
|
||||||
|
- Retención definida.
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
# Estándar Corporativo Angular
|
||||||
|
|
||||||
|
## Framework
|
||||||
|
|
||||||
|
- Angular 20 o superior.
|
||||||
|
- TypeScript estricto.
|
||||||
|
- Standalone components preferidos.
|
||||||
|
- Angular Material cuando aplique.
|
||||||
|
|
||||||
|
## Arquitectura
|
||||||
|
|
||||||
|
Usar arquitectura basada en features:
|
||||||
|
|
||||||
|
src/app/
|
||||||
|
- core/
|
||||||
|
- shared/
|
||||||
|
- features/
|
||||||
|
- layout/
|
||||||
|
- environments/
|
||||||
|
|
||||||
|
## Core
|
||||||
|
|
||||||
|
Debe contener:
|
||||||
|
|
||||||
|
- Interceptors.
|
||||||
|
- Guards.
|
||||||
|
- Servicios globales.
|
||||||
|
- Manejo de autenticación.
|
||||||
|
- Configuración global.
|
||||||
|
|
||||||
|
## Shared
|
||||||
|
|
||||||
|
Debe contener:
|
||||||
|
|
||||||
|
- Componentes reutilizables.
|
||||||
|
- Pipes.
|
||||||
|
- Directivas.
|
||||||
|
- Modelos compartidos.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
Cada funcionalidad debe estar aislada:
|
||||||
|
|
||||||
|
features/orders/
|
||||||
|
- components/
|
||||||
|
- pages/
|
||||||
|
- services/
|
||||||
|
- models/
|
||||||
|
- routes.ts
|
||||||
|
|
||||||
|
## Buenas prácticas
|
||||||
|
|
||||||
|
- No poner lógica de negocio compleja en componentes.
|
||||||
|
- Usar servicios para comunicación API.
|
||||||
|
- Usar interfaces TypeScript.
|
||||||
|
- Usar formularios reactivos.
|
||||||
|
- Manejar estados de carga y error.
|
||||||
|
- Aplicar lazy loading.
|
||||||
|
- Aplicar accesibilidad.
|
||||||
|
- Aplicar responsive design.
|
||||||
|
|
||||||
|
## Seguridad frontend
|
||||||
|
|
||||||
|
- No guardar tokens sensibles en localStorage si hay alternativa más segura.
|
||||||
|
- Sanitizar contenido dinámico.
|
||||||
|
- Usar guards.
|
||||||
|
- Usar interceptores.
|
||||||
|
- No exponer secretos.
|
||||||
|
- Validar también en backend.
|
||||||
|
|
||||||
|
## UX mínima requerida
|
||||||
|
|
||||||
|
Toda pantalla debe considerar:
|
||||||
|
|
||||||
|
- Estado vacío.
|
||||||
|
- Estado cargando.
|
||||||
|
- Estado error.
|
||||||
|
- Confirmaciones para acciones destructivas.
|
||||||
|
- Mensajes claros.
|
||||||
|
- Diseño responsive.
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# Estándar Azure DevOps
|
||||||
|
|
||||||
|
## Reglas
|
||||||
|
|
||||||
|
- Todo repositorio debe tener pipeline CI.
|
||||||
|
- Todo despliegue debe pasar por CD.
|
||||||
|
- Pull Request obligatorio.
|
||||||
|
- Branch policies obligatorias.
|
||||||
|
- Validación de build antes de merge.
|
||||||
|
- Variables sensibles en variable groups seguros.
|
||||||
|
|
||||||
|
## Branching
|
||||||
|
|
||||||
|
Ramas sugeridas:
|
||||||
|
|
||||||
|
- main
|
||||||
|
- develop
|
||||||
|
- feature/*
|
||||||
|
- hotfix/*
|
||||||
|
- release/*
|
||||||
|
|
||||||
|
## Pipeline mínimo
|
||||||
|
|
||||||
|
- Restore/install.
|
||||||
|
- Build.
|
||||||
|
- Tests.
|
||||||
|
- Security scan.
|
||||||
|
- Publish artifact.
|
||||||
|
- Docker build cuando aplique.
|
||||||
|
- Deploy por ambiente.
|
||||||
|
|
||||||
|
## Seguridad
|
||||||
|
|
||||||
|
- No secrets en YAML.
|
||||||
|
- Service connections con mínimo privilegio.
|
||||||
|
- Aprobaciones para producción.
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
# Estándar de Base de Datos
|
||||||
|
|
||||||
|
## Motores preferidos
|
||||||
|
|
||||||
|
- SQL Server para soluciones empresariales Microsoft.
|
||||||
|
- PostgreSQL para soluciones cloud-native y open-source.
|
||||||
|
|
||||||
|
## Diseño
|
||||||
|
|
||||||
|
- Nombres claros.
|
||||||
|
- Llaves primarias explícitas.
|
||||||
|
- Índices para consultas frecuentes.
|
||||||
|
- Foreign keys cuando aplique.
|
||||||
|
- Auditoría en tablas críticas.
|
||||||
|
- Fechas de creación y modificación.
|
||||||
|
|
||||||
|
## Multi-tenant
|
||||||
|
|
||||||
|
Opciones permitidas:
|
||||||
|
|
||||||
|
1. TenantId en tablas compartidas.
|
||||||
|
2. Schema por tenant.
|
||||||
|
3. Base de datos por tenant.
|
||||||
|
|
||||||
|
La opción por defecto será TenantId en tablas compartidas, salvo requisitos fuertes de aislamiento.
|
||||||
|
|
||||||
|
## Seguridad
|
||||||
|
|
||||||
|
- No usar usuarios administradores desde aplicaciones.
|
||||||
|
- Principio de menor privilegio.
|
||||||
|
- Cifrado en tránsito.
|
||||||
|
- Cifrado en reposo cuando aplique.
|
||||||
|
- No guardar contraseñas en texto plano.
|
||||||
|
|
||||||
|
## Migraciones
|
||||||
|
|
||||||
|
- Usar migraciones versionadas.
|
||||||
|
- No modificar manualmente producción.
|
||||||
|
- Todo cambio debe pasar por pipeline.
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
# Estándar Docker
|
||||||
|
|
||||||
|
## Reglas obligatorias
|
||||||
|
|
||||||
|
- Usar Dockerfiles multi-stage.
|
||||||
|
- No ejecutar como root.
|
||||||
|
- Usar imágenes livianas cuando sea posible.
|
||||||
|
- Definir healthcheck cuando aplique.
|
||||||
|
- No incluir secretos en imágenes.
|
||||||
|
- No copiar archivos innecesarios.
|
||||||
|
- Usar .dockerignore.
|
||||||
|
|
||||||
|
## Backend .NET
|
||||||
|
|
||||||
|
Debe usar build stage y runtime stage.
|
||||||
|
|
||||||
|
## Frontend Angular
|
||||||
|
|
||||||
|
Debe compilar en Node y servir con Nginx.
|
||||||
|
|
||||||
|
## Seguridad
|
||||||
|
|
||||||
|
- Usuario no root.
|
||||||
|
- Imagen actualizada.
|
||||||
|
- Variables por ambiente.
|
||||||
|
- No credenciales hardcodeadas.
|
||||||
|
- Puertos mínimos expuestos.
|
||||||
|
|
||||||
|
## Buenas prácticas
|
||||||
|
|
||||||
|
- Versionar imágenes.
|
||||||
|
- Usar tags semánticos.
|
||||||
|
- Escanear vulnerabilidades.
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
# Estándar Corporativo para APIs .NET
|
||||||
|
|
||||||
|
## Framework
|
||||||
|
|
||||||
|
- .NET 8 o superior.
|
||||||
|
- ASP.NET Core Web API.
|
||||||
|
- C# moderno.
|
||||||
|
- Nullable enable.
|
||||||
|
- Async/await obligatorio para operaciones I/O.
|
||||||
|
|
||||||
|
## Arquitectura
|
||||||
|
|
||||||
|
Usar Clean Architecture con capas separadas:
|
||||||
|
|
||||||
|
- API
|
||||||
|
- Application
|
||||||
|
- Domain
|
||||||
|
- Infrastructure
|
||||||
|
- Tests
|
||||||
|
|
||||||
|
## Responsabilidad por capa
|
||||||
|
|
||||||
|
### API
|
||||||
|
|
||||||
|
- Controllers o Minimal APIs.
|
||||||
|
- Middlewares.
|
||||||
|
- Autenticación.
|
||||||
|
- Autorización.
|
||||||
|
- Swagger.
|
||||||
|
- Health checks.
|
||||||
|
|
||||||
|
### Application
|
||||||
|
|
||||||
|
- Casos de uso.
|
||||||
|
- Commands.
|
||||||
|
- Queries.
|
||||||
|
- DTOs.
|
||||||
|
- Validaciones.
|
||||||
|
- Interfaces.
|
||||||
|
|
||||||
|
### Domain
|
||||||
|
|
||||||
|
- Entidades.
|
||||||
|
- Value Objects.
|
||||||
|
- Reglas de negocio.
|
||||||
|
- Eventos de dominio.
|
||||||
|
- Interfaces de repositorio.
|
||||||
|
|
||||||
|
### Infrastructure
|
||||||
|
|
||||||
|
- Entity Framework Core.
|
||||||
|
- Repositorios.
|
||||||
|
- DbContext.
|
||||||
|
- Servicios externos.
|
||||||
|
- Implementaciones técnicas.
|
||||||
|
|
||||||
|
### Tests
|
||||||
|
|
||||||
|
- Unit tests.
|
||||||
|
- Integration tests.
|
||||||
|
- API tests.
|
||||||
|
|
||||||
|
## Patrones recomendados
|
||||||
|
|
||||||
|
- CQRS cuando exista complejidad.
|
||||||
|
- Repository Pattern cuando ayude a separar dominio.
|
||||||
|
- Unit of Work si hay transacciones complejas.
|
||||||
|
- Mediator si se usa MediatR.
|
||||||
|
- Result Pattern para manejo controlado de respuestas.
|
||||||
|
|
||||||
|
## Seguridad
|
||||||
|
|
||||||
|
- JWT Bearer cuando aplique.
|
||||||
|
- Autorización por roles o policies.
|
||||||
|
- Validación de entrada obligatoria.
|
||||||
|
- Protección contra SQL Injection.
|
||||||
|
- Protección contra IDOR.
|
||||||
|
- No exponer stack traces.
|
||||||
|
- No retornar entidades directamente.
|
||||||
|
- No guardar secretos en código.
|
||||||
|
|
||||||
|
## Documentación
|
||||||
|
|
||||||
|
Toda API debe incluir:
|
||||||
|
|
||||||
|
- Swagger/OpenAPI.
|
||||||
|
- Descripción de endpoints.
|
||||||
|
- Ejemplos de request/response.
|
||||||
|
- Códigos de error.
|
||||||
|
- Modelo de autenticación.
|
||||||
|
|
||||||
|
## Observabilidad
|
||||||
|
|
||||||
|
Debe incluir:
|
||||||
|
|
||||||
|
- Logging estructurado.
|
||||||
|
- Correlation ID.
|
||||||
|
- Health checks.
|
||||||
|
- Métricas.
|
||||||
|
- Trazabilidad de errores.
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
Mínimo requerido:
|
||||||
|
|
||||||
|
- Unit tests de servicios.
|
||||||
|
- Unit tests de validadores.
|
||||||
|
- Integration tests de endpoints críticos.
|
||||||
|
- Pruebas de autenticación y autorización.
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
# Principios Globales de la Software Factory
|
||||||
|
|
||||||
|
## Objetivo
|
||||||
|
|
||||||
|
Toda solución generada por la fábrica debe ser mantenible, segura, documentada, testeable y desplegable.
|
||||||
|
|
||||||
|
## Principios obligatorios
|
||||||
|
|
||||||
|
- No inventar integraciones externas no solicitadas.
|
||||||
|
- No asumir proveedor cloud si el usuario no lo especifica.
|
||||||
|
- No entregar código incompleto.
|
||||||
|
- No ignorar seguridad.
|
||||||
|
- No omitir pruebas.
|
||||||
|
- No omitir documentación.
|
||||||
|
- No exponer secretos.
|
||||||
|
- No usar configuraciones inseguras por defecto.
|
||||||
|
- No proponer arquitectura sobredimensionada sin justificar.
|
||||||
|
|
||||||
|
## Estándar de respuesta de agentes
|
||||||
|
|
||||||
|
Todo agente debe responder con:
|
||||||
|
|
||||||
|
1. Análisis.
|
||||||
|
2. Supuestos.
|
||||||
|
3. Entregables.
|
||||||
|
4. Riesgos.
|
||||||
|
5. Recomendaciones.
|
||||||
|
6. Próximos pasos.
|
||||||
|
|
||||||
|
## Tecnologías base preferidas
|
||||||
|
|
||||||
|
- Backend: .NET 8+
|
||||||
|
- Frontend: Angular 20+
|
||||||
|
- Mobile: Ionic + Capacitor
|
||||||
|
- Base de datos: SQL Server o PostgreSQL
|
||||||
|
- Contenedores: Docker
|
||||||
|
- Orquestación: Kubernetes
|
||||||
|
- CI/CD: Azure DevOps
|
||||||
|
- IaC: Terraform
|
||||||
|
- Seguridad: OWASP + DevSecOps
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
# Estándar Ionic + Capacitor
|
||||||
|
|
||||||
|
## Uso
|
||||||
|
|
||||||
|
Usar Ionic + Capacitor para aplicaciones móviles híbridas Android/iOS.
|
||||||
|
|
||||||
|
## Reglas
|
||||||
|
|
||||||
|
- Separar lógica web de lógica nativa.
|
||||||
|
- Encapsular plugins Capacitor en servicios.
|
||||||
|
- Validar permisos antes de usar funcionalidades nativas.
|
||||||
|
- Manejar modo offline cuando aplique.
|
||||||
|
- Considerar sincronización diferida.
|
||||||
|
|
||||||
|
## Estructura recomendada
|
||||||
|
|
||||||
|
src/app/
|
||||||
|
- core/
|
||||||
|
- shared/
|
||||||
|
- features/
|
||||||
|
- mobile/
|
||||||
|
- native/
|
||||||
|
|
||||||
|
## Seguridad móvil
|
||||||
|
|
||||||
|
- No almacenar secretos en texto plano.
|
||||||
|
- Evitar hardcodear endpoints.
|
||||||
|
- Usar HTTPS.
|
||||||
|
- Validar certificados cuando aplique.
|
||||||
|
- Controlar sesiones expiradas.
|
||||||
|
- Manejar almacenamiento seguro.
|
||||||
|
|
||||||
|
## Publicación
|
||||||
|
|
||||||
|
- Generar APK/AAB para Android.
|
||||||
|
- Validar permisos.
|
||||||
|
- Validar versiones de Capacitor.
|
||||||
|
- Probar en dispositivo físico.
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
# Estándar Kubernetes
|
||||||
|
|
||||||
|
## Reglas obligatorias
|
||||||
|
|
||||||
|
Todo deployment debe tener:
|
||||||
|
|
||||||
|
- Requests.
|
||||||
|
- Limits.
|
||||||
|
- Readiness probe.
|
||||||
|
- Liveness probe.
|
||||||
|
- ConfigMaps.
|
||||||
|
- Secrets.
|
||||||
|
- Labels.
|
||||||
|
- Namespaces.
|
||||||
|
- Ingress cuando aplique.
|
||||||
|
|
||||||
|
## Seguridad
|
||||||
|
|
||||||
|
- No ejecutar como root.
|
||||||
|
- Usar securityContext.
|
||||||
|
- No usar privileged containers.
|
||||||
|
- Separar namespaces por ambiente.
|
||||||
|
- No exponer servicios innecesarios.
|
||||||
|
|
||||||
|
## Observabilidad
|
||||||
|
|
||||||
|
- Logs stdout/stderr.
|
||||||
|
- Métricas.
|
||||||
|
- Health checks.
|
||||||
|
- Dashboards.
|
||||||
|
|
||||||
|
## Ambientes
|
||||||
|
|
||||||
|
- dev
|
||||||
|
- qa
|
||||||
|
- staging
|
||||||
|
- prod
|
||||||
|
|
||||||
|
## Despliegue
|
||||||
|
|
||||||
|
Preferir Helm o Kustomize para parametrización.
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# Estándar Terraform
|
||||||
|
|
||||||
|
## Principios
|
||||||
|
|
||||||
|
- Infraestructura como código.
|
||||||
|
- Reutilización mediante módulos.
|
||||||
|
- Separación por ambiente.
|
||||||
|
- State remoto obligatorio.
|
||||||
|
- Variables por ambiente.
|
||||||
|
- No secretos en código.
|
||||||
|
|
||||||
|
## Estructura recomendada
|
||||||
|
|
||||||
|
terraform/
|
||||||
|
- modules/
|
||||||
|
- environments/
|
||||||
|
- dev/
|
||||||
|
- qa/
|
||||||
|
- prod/
|
||||||
|
|
||||||
|
## Reglas
|
||||||
|
|
||||||
|
- Usar terraform fmt.
|
||||||
|
- Usar terraform validate.
|
||||||
|
- Usar plan antes de apply.
|
||||||
|
- Revisar cambios en Pull Request.
|
||||||
|
- Versionar providers.
|
||||||
|
- Documentar variables.
|
||||||
|
|
||||||
|
## Seguridad
|
||||||
|
|
||||||
|
- No guardar credenciales.
|
||||||
|
- Usar Key Vault o Secret Manager.
|
||||||
|
- Aplicar least privilege.
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
# ADR - Architectural Decision Record
|
||||||
|
|
||||||
|
## Estado
|
||||||
|
|
||||||
|
Propuesto / Aprobado / Rechazado
|
||||||
|
|
||||||
|
## Contexto
|
||||||
|
|
||||||
|
Describe el problema o necesidad.
|
||||||
|
|
||||||
|
## Decisión
|
||||||
|
|
||||||
|
Describe la decisión tomada.
|
||||||
|
|
||||||
|
## Alternativas evaluadas
|
||||||
|
|
||||||
|
- Alternativa 1
|
||||||
|
- Alternativa 2
|
||||||
|
- Alternativa 3
|
||||||
|
|
||||||
|
## Consecuencias
|
||||||
|
|
||||||
|
### Positivas
|
||||||
|
|
||||||
|
### Negativas
|
||||||
|
|
||||||
|
## Fecha
|
||||||
|
|
||||||
|
YYYY-MM-DD
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
# Especificación de Endpoint API
|
||||||
|
|
||||||
|
## Nombre
|
||||||
|
|
||||||
|
## Método
|
||||||
|
|
||||||
|
GET / POST / PUT / DELETE
|
||||||
|
|
||||||
|
## Ruta
|
||||||
|
|
||||||
|
/api/recurso
|
||||||
|
|
||||||
|
## Autenticación
|
||||||
|
|
||||||
|
Sí / No
|
||||||
|
|
||||||
|
## Roles permitidos
|
||||||
|
|
||||||
|
## Request
|
||||||
|
|
||||||
|
## Response exitoso
|
||||||
|
|
||||||
|
## Errores esperados
|
||||||
|
|
||||||
|
## Validaciones
|
||||||
|
|
||||||
|
## Observabilidad
|
||||||
|
|
||||||
|
## Pruebas requeridas
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
# Entrega de Proyecto Generado por la Software Factory
|
||||||
|
|
||||||
|
## Resumen
|
||||||
|
|
||||||
|
## Requerimientos
|
||||||
|
|
||||||
|
## Arquitectura
|
||||||
|
|
||||||
|
## Backend
|
||||||
|
|
||||||
|
## Frontend
|
||||||
|
|
||||||
|
## DevOps
|
||||||
|
|
||||||
|
## QA
|
||||||
|
|
||||||
|
## Seguridad
|
||||||
|
|
||||||
|
## Riesgos
|
||||||
|
|
||||||
|
## Próximos pasos
|
||||||
|
|
||||||
|
## Pendientes de definición
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
# Historia de Usuario
|
||||||
|
|
||||||
|
## Título
|
||||||
|
|
||||||
|
Como [rol], quiero [funcionalidad], para [beneficio].
|
||||||
|
|
||||||
|
## Descripción
|
||||||
|
|
||||||
|
Detalle de la necesidad.
|
||||||
|
|
||||||
|
## Criterios de aceptación
|
||||||
|
|
||||||
|
- Dado...
|
||||||
|
- Cuando...
|
||||||
|
- Entonces...
|
||||||
|
|
||||||
|
## Reglas de negocio
|
||||||
|
|
||||||
|
## Dependencias
|
||||||
|
|
||||||
|
## Riesgos
|
||||||
|
|
||||||
|
## Prioridad
|
||||||
|
|
||||||
|
Alta / Media / Baja
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
# Flujo Oficial de Trabajo de la Software Factory
|
||||||
|
|
||||||
|
## Flujo principal
|
||||||
|
|
||||||
|
Solicitud
|
||||||
|
↓
|
||||||
|
Product Owner Agent
|
||||||
|
↓
|
||||||
|
Architect Agent
|
||||||
|
↓
|
||||||
|
UI/UX Agent
|
||||||
|
↓
|
||||||
|
Backend Agent
|
||||||
|
↓
|
||||||
|
Frontend Agent
|
||||||
|
↓
|
||||||
|
DevOps Agent
|
||||||
|
↓
|
||||||
|
QA Agent
|
||||||
|
↓
|
||||||
|
Security Agent
|
||||||
|
↓
|
||||||
|
CTO Agent
|
||||||
|
↓
|
||||||
|
Entrega
|
||||||
|
|
||||||
|
## Responsabilidad del CTO Agent
|
||||||
|
|
||||||
|
El CTO Agent coordina, valida y aprueba. No debe desarrollar directamente salvo ejemplos mínimos.
|
||||||
|
|
||||||
|
## Reglas del flujo
|
||||||
|
|
||||||
|
- Product Owner define alcance y criterios de aceptación.
|
||||||
|
- Arquitecto define arquitectura y decisiones técnicas.
|
||||||
|
- UI/UX define experiencia y estructura visual.
|
||||||
|
- Backend implementa APIs, dominio y servicios.
|
||||||
|
- Frontend implementa pantallas y consumo de APIs.
|
||||||
|
- DevOps define despliegue, contenedores, pipelines e infraestructura.
|
||||||
|
- QA define pruebas funcionales, integración, carga y regresión.
|
||||||
|
- Security revisa riesgos, vulnerabilidades y controles.
|
||||||
|
- CTO aprueba o rechaza la solución.
|
||||||
|
|
||||||
|
## Criterio de aprobación
|
||||||
|
|
||||||
|
Una solución solo se considera lista si tiene:
|
||||||
|
|
||||||
|
- Requerimientos claros.
|
||||||
|
- Arquitectura definida.
|
||||||
|
- Código estructurado.
|
||||||
|
- Pruebas.
|
||||||
|
- Seguridad.
|
||||||
|
- Despliegue.
|
||||||
|
- Documentación.
|
||||||
Reference in New Issue
Block a user