Add corporate brain v1 knowledge base
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user