don-cheli-sdd 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +33 -0
- package/CHANGELOG.md +108 -0
- package/CLAUDE.md +114 -0
- package/LICENSE +190 -0
- package/README.es.md +611 -0
- package/README.md +640 -0
- package/README.pt.md +579 -0
- package/VERSION +1 -0
- package/agentes/README.md +28 -0
- package/agentes/prompts/estimador.md +29 -0
- package/comandos/bucle-completar.md +13 -0
- package/comandos/bucle-estado.md +13 -0
- package/comandos/bucle.md +74 -0
- package/comandos/especdev/actualizar.md +200 -0
- package/comandos/especdev/agente.md +43 -0
- package/comandos/especdev/analizar-sesiones.md +158 -0
- package/comandos/especdev/aplicar.md +73 -0
- package/comandos/especdev/archivar.md +69 -0
- package/comandos/especdev/auditar-seguridad.md +234 -0
- package/comandos/especdev/auditar.md +15 -0
- package/comandos/especdev/avance-rapido.md +64 -0
- package/comandos/especdev/cambios.md +14 -0
- package/comandos/especdev/capturar.md +61 -0
- package/comandos/especdev/cerrar-sesion.md +88 -0
- package/comandos/especdev/clarificar.md +98 -0
- package/comandos/especdev/comenzar.md +105 -0
- package/comandos/especdev/completo.md +49 -0
- package/comandos/especdev/continuar.md +59 -0
- package/comandos/especdev/contrato-api.md +223 -0
- package/comandos/especdev/contrato-ui.md +245 -0
- package/comandos/especdev/crear-skill.md +148 -0
- package/comandos/especdev/debate.md +119 -0
- package/comandos/especdev/desglosar.md +172 -0
- package/comandos/especdev/destilar.md +211 -0
- package/comandos/especdev/detectar-ambiguedad.md +81 -0
- package/comandos/especdev/diagnostico.md +92 -0
- package/comandos/especdev/dise/303/261ar.md +74 -0
- package/comandos/especdev/doctor.md +78 -0
- package/comandos/especdev/donde-estoy.md +32 -0
- package/comandos/especdev/especificar.md +189 -0
- package/comandos/especdev/estado.md +46 -0
- package/comandos/especdev/estimar.md +141 -0
- package/comandos/especdev/explorar.md +175 -0
- package/comandos/especdev/guardian.md +99 -0
- package/comandos/especdev/historial.md +14 -0
- package/comandos/especdev/implementar.md +227 -0
- package/comandos/especdev/incorporar.md +71 -0
- package/comandos/especdev/iniciar.md +82 -0
- package/comandos/especdev/limpiar-slop.md +88 -0
- package/comandos/especdev/marketplace.md +109 -0
- package/comandos/especdev/memorizar.md +31 -0
- package/comandos/especdev/mesa-redonda.md +60 -0
- package/comandos/especdev/mesa-tecnica.md +144 -0
- package/comandos/especdev/migrar.md +237 -0
- package/comandos/especdev/minar-referencias.md +214 -0
- package/comandos/especdev/planificar-tecnico.md +186 -0
- package/comandos/especdev/planning.md +264 -0
- package/comandos/especdev/poc.md +302 -0
- package/comandos/especdev/presentar.md +75 -0
- package/comandos/especdev/proponer.md +69 -0
- package/comandos/especdev/pseudocodigo.md +49 -0
- package/comandos/especdev/rapido.md +69 -0
- package/comandos/especdev/reflexionar.md +53 -0
- package/comandos/especdev/retro.md +14 -0
- package/comandos/especdev/reversa.md +155 -0
- package/comandos/especdev/revisar.md +231 -0
- package/comandos/especdev/traspasar.md +76 -0
- package/comandos/especdev/traspaso.md +43 -0
- package/comandos/especdev/uat.md +84 -0
- package/comandos/especdev/validar-spec.md +58 -0
- package/comandos/especdev/validar.md +40 -0
- package/comandos/historias-generar.md +74 -0
- package/comandos/razonar/5-porques.md +42 -0
- package/comandos/razonar/circulo-competencia.md +22 -0
- package/comandos/razonar/costo-oportunidad.md +21 -0
- package/comandos/razonar/inversion.md +40 -0
- package/comandos/razonar/mapa-territorio.md +22 -0
- package/comandos/razonar/minimizar-arrepentimiento.md +20 -0
- package/comandos/razonar/pareto.md +32 -0
- package/comandos/razonar/pre-mortem.md +22 -0
- package/comandos/razonar/primeros-principios.md +57 -0
- package/comandos/razonar/probabilistico.md +21 -0
- package/comandos/razonar/reversibilidad.md +27 -0
- package/comandos/razonar/rlm-cadena-pensamiento.md +189 -0
- package/comandos/razonar/rlm-descomposicion.md +216 -0
- package/comandos/razonar/rlm-verificacion.md +169 -0
- package/comandos/razonar/segundo-orden.md +35 -0
- package/ganchos/parar.md +10 -0
- package/ganchos/post-herramienta.md +9 -0
- package/ganchos/pre-herramienta.md +19 -0
- package/habilidades/arnes-agente/HABILIDAD.md +164 -0
- package/habilidades/auto-correccion/HABILIDAD.md +114 -0
- package/habilidades/brainstorming/HABILIDAD.md +88 -0
- package/habilidades/cambio-carpeta/HABILIDAD.md +100 -0
- package/habilidades/code-rag/HABILIDAD.md +306 -0
- package/habilidades/contabilidad-tokens/HABILIDAD.md +109 -0
- package/habilidades/delta-specs/HABILIDAD.md +102 -0
- package/habilidades/desarrollo-subagentes/HABILIDAD.md +51 -0
- package/habilidades/deteccion-loops/HABILIDAD.md +168 -0
- package/habilidades/deteccion-stubs/HABILIDAD.md +204 -0
- package/habilidades/devlog/HABILIDAD.md +84 -0
- package/habilidades/documentacion-viva/HABILIDAD.md +231 -0
- package/habilidades/estimacion/HABILIDAD.md +48 -0
- package/habilidades/extensiones-presets/HABILIDAD.md +133 -0
- package/habilidades/generador-specs/HABILIDAD.md +37 -0
- package/habilidades/ingenieria-contexto/HABILIDAD.md +34 -0
- package/habilidades/integracion-mcp/HABILIDAD.md +59 -0
- package/habilidades/leyes-hierro/HABILIDAD.md +45 -0
- package/habilidades/mapa-arquitectonico/HABILIDAD.md +93 -0
- package/habilidades/memoria-persistente/HABILIDAD.md +97 -0
- package/habilidades/obsidian/HABILIDAD.md +93 -0
- package/habilidades/optimizacion-tokens/HABILIDAD.md +179 -0
- package/habilidades/optimizador-contexto/HABILIDAD.md +106 -0
- package/habilidades/orquestacion-autonoma/HABILIDAD.md +133 -0
- package/habilidades/permisos-seguridad/HABILIDAD.md +76 -0
- package/habilidades/persona/HABILIDAD.md +66 -0
- package/habilidades/planning-equipo/HABILIDAD.md +169 -0
- package/habilidades/presentaciones/HABILIDAD.md +63 -0
- package/habilidades/proyecciones-costo/HABILIDAD.md +54 -0
- package/habilidades/prueba-trabajo/HABILIDAD.md +131 -0
- package/habilidades/razonamiento/HABILIDAD.md +69 -0
- package/habilidades/recuperacion-sesion/HABILIDAD.md +27 -0
- package/habilidades/refactorizacion-solid/HABILIDAD.md +182 -0
- package/habilidades/reflexion/HABILIDAD.md +37 -0
- package/habilidades/rigor-progresivo/HABILIDAD.md +109 -0
- package/habilidades/rlm/HABILIDAD.md +85 -0
- package/habilidades/routing-modelos/HABILIDAD.md +79 -0
- package/habilidades/salud-habilidades/HABILIDAD.md +63 -0
- package/habilidades/schemas-dbml/HABILIDAD.md +101 -0
- package/habilidades/trazabilidad/HABILIDAD.md +63 -0
- package/habilidades/ui-ux-design/HABILIDAD.md +76 -0
- package/habilidades/validacion-nyquist/HABILIDAD.md +161 -0
- package/habilidades/worktrees/HABILIDAD.md +80 -0
- package/locales/en.json +179 -0
- package/locales/es.json +179 -0
- package/locales/pt.json +179 -0
- package/package.json +48 -0
- package/plantillas/checklist-requisitos.md +31 -0
- package/plantillas/docker/Dockerfile +16 -0
- package/plantillas/docker/docker-compose.yml +28 -0
- package/plantillas/especdev/WORKFLOW.md +118 -0
- package/plantillas/especdev/config.yaml +27 -0
- package/plantillas/especdev/en/config.yaml +27 -0
- package/plantillas/especdev/en/decisions.md +17 -0
- package/plantillas/especdev/en/deferred-work.md +17 -0
- package/plantillas/especdev/en/findings.md +7 -0
- package/plantillas/especdev/en/knowledge.md +19 -0
- package/plantillas/especdev/en/plan.md +35 -0
- package/plantillas/especdev/en/progress.md +7 -0
- package/plantillas/especdev/en/project-constitution.md +53 -0
- package/plantillas/especdev/en/pseudocode.md +35 -0
- package/plantillas/especdev/en/runtime.md +26 -0
- package/plantillas/especdev/en/status.md +16 -0
- package/plantillas/especdev/es/config.yaml +27 -0
- package/plantillas/especdev/es/conocimiento.md +19 -0
- package/plantillas/especdev/es/constitucion-proyecto.md +53 -0
- package/plantillas/especdev/es/decisiones.md +17 -0
- package/plantillas/especdev/es/deuda-scope.md +17 -0
- package/plantillas/especdev/es/estado.md +16 -0
- package/plantillas/especdev/es/hallazgos.md +7 -0
- package/plantillas/especdev/es/plan.md +35 -0
- package/plantillas/especdev/es/progreso.md +7 -0
- package/plantillas/especdev/es/pseudocodigo.md +35 -0
- package/plantillas/especdev/es/runtime.md +26 -0
- package/plantillas/especdev/estado.md +16 -0
- package/plantillas/especdev/hallazgos.md +7 -0
- package/plantillas/especdev/isa.yml +152 -0
- package/plantillas/especdev/plan.md +35 -0
- package/plantillas/especdev/progreso.md +7 -0
- package/plantillas/especdev/pt/config.yaml +27 -0
- package/plantillas/especdev/pt/conhecimento.md +19 -0
- package/plantillas/especdev/pt/constituicao-projeto.md +53 -0
- package/plantillas/especdev/pt/decisoes.md +17 -0
- package/plantillas/especdev/pt/descobertas.md +7 -0
- package/plantillas/especdev/pt/estado.md +16 -0
- package/plantillas/especdev/pt/plano.md +35 -0
- package/plantillas/especdev/pt/progresso.md +7 -0
- package/plantillas/especdev/pt/pseudocodigo.md +35 -0
- package/plantillas/especdev/pt/runtime.md +26 -0
- package/plantillas/especdev/pt/trabalho-diferido.md +17 -0
- package/plantillas/estimado-desarrollo.md +43 -0
- package/prompt.md +16 -0
- package/reglas/constitucion.md +122 -0
- package/reglas/hooks-parar.md +102 -0
- package/reglas/i18n.md +47 -0
- package/reglas/leyes-hierro.md +18 -0
- package/reglas/puertas-calidad.md +87 -0
- package/reglas/reglas-desviacion.md +36 -0
- package/reglas/reglas-trabajo-globales.md +171 -0
- package/reglas/skills-best-practices.md +109 -0
- package/scripts/.claude/commands/bucle-completar.md +13 -0
- package/scripts/.claude/commands/bucle-estado.md +13 -0
- package/scripts/.claude/commands/bucle.md +74 -0
- package/scripts/.claude/commands/especdev/actualizar.md +200 -0
- package/scripts/.claude/commands/especdev/agente.md +43 -0
- package/scripts/.claude/commands/especdev/analizar-sesiones.md +158 -0
- package/scripts/.claude/commands/especdev/aplicar.md +73 -0
- package/scripts/.claude/commands/especdev/archivar.md +69 -0
- package/scripts/.claude/commands/especdev/auditar-seguridad.md +234 -0
- package/scripts/.claude/commands/especdev/auditar.md +15 -0
- package/scripts/.claude/commands/especdev/avance-rapido.md +64 -0
- package/scripts/.claude/commands/especdev/cambios.md +14 -0
- package/scripts/.claude/commands/especdev/cerrar-sesion.md +88 -0
- package/scripts/.claude/commands/especdev/clarificar.md +98 -0
- package/scripts/.claude/commands/especdev/comenzar.md +77 -0
- package/scripts/.claude/commands/especdev/completo.md +49 -0
- package/scripts/.claude/commands/especdev/continuar.md +59 -0
- package/scripts/.claude/commands/especdev/contrato-api.md +223 -0
- package/scripts/.claude/commands/especdev/contrato-ui.md +245 -0
- package/scripts/.claude/commands/especdev/desglosar.md +172 -0
- package/scripts/.claude/commands/especdev/destilar.md +211 -0
- package/scripts/.claude/commands/especdev/detectar-ambiguedad.md +81 -0
- package/scripts/.claude/commands/especdev/diagnostico.md +92 -0
- package/scripts/.claude/commands/especdev/dise/303/261ar.md +74 -0
- package/scripts/.claude/commands/especdev/donde-estoy.md +32 -0
- package/scripts/.claude/commands/especdev/especificar.md +189 -0
- package/scripts/.claude/commands/especdev/estado.md +46 -0
- package/scripts/.claude/commands/especdev/estimar.md +141 -0
- package/scripts/.claude/commands/especdev/explorar.md +175 -0
- package/scripts/.claude/commands/especdev/guardian.md +99 -0
- package/scripts/.claude/commands/especdev/historial.md +14 -0
- package/scripts/.claude/commands/especdev/implementar.md +227 -0
- package/scripts/.claude/commands/especdev/incorporar.md +71 -0
- package/scripts/.claude/commands/especdev/iniciar.md +82 -0
- package/scripts/.claude/commands/especdev/limpiar-slop.md +88 -0
- package/scripts/.claude/commands/especdev/memorizar.md +31 -0
- package/scripts/.claude/commands/especdev/mesa-redonda.md +60 -0
- package/scripts/.claude/commands/especdev/mesa-tecnica.md +144 -0
- package/scripts/.claude/commands/especdev/migrar.md +237 -0
- package/scripts/.claude/commands/especdev/minar-referencias.md +214 -0
- package/scripts/.claude/commands/especdev/planificar-tecnico.md +186 -0
- package/scripts/.claude/commands/especdev/planning.md +264 -0
- package/scripts/.claude/commands/especdev/poc.md +302 -0
- package/scripts/.claude/commands/especdev/proponer.md +69 -0
- package/scripts/.claude/commands/especdev/rapido.md +69 -0
- package/scripts/.claude/commands/especdev/reflexionar.md +53 -0
- package/scripts/.claude/commands/especdev/retro.md +14 -0
- package/scripts/.claude/commands/especdev/reversa.md +155 -0
- package/scripts/.claude/commands/especdev/revisar.md +221 -0
- package/scripts/.claude/commands/especdev/traspasar.md +76 -0
- package/scripts/.claude/commands/especdev/traspaso.md +43 -0
- package/scripts/.claude/commands/especdev/validar.md +40 -0
- package/scripts/.claude/commands/historias-generar.md +74 -0
- package/scripts/.claude/commands/razonar/5-porques.md +42 -0
- package/scripts/.claude/commands/razonar/circulo-competencia.md +22 -0
- package/scripts/.claude/commands/razonar/costo-oportunidad.md +21 -0
- package/scripts/.claude/commands/razonar/inversion.md +40 -0
- package/scripts/.claude/commands/razonar/mapa-territorio.md +22 -0
- package/scripts/.claude/commands/razonar/minimizar-arrepentimiento.md +20 -0
- package/scripts/.claude/commands/razonar/pareto.md +32 -0
- package/scripts/.claude/commands/razonar/pre-mortem.md +22 -0
- package/scripts/.claude/commands/razonar/primeros-principios.md +57 -0
- package/scripts/.claude/commands/razonar/probabilistico.md +21 -0
- package/scripts/.claude/commands/razonar/reversibilidad.md +27 -0
- package/scripts/.claude/commands/razonar/rlm-cadena-pensamiento.md +189 -0
- package/scripts/.claude/commands/razonar/rlm-descomposicion.md +216 -0
- package/scripts/.claude/commands/razonar/rlm-verificacion.md +169 -0
- package/scripts/.claude/commands/razonar/segundo-orden.md +35 -0
- package/scripts/.claude/don-cheli/AGENTS.md +20 -0
- package/scripts/.claude/don-cheli/CLAUDE.md +114 -0
- package/scripts/.claude/don-cheli/NOTICE +17 -0
- package/scripts/.claude/don-cheli/VERSION +1 -0
- package/scripts/.claude/don-cheli/agentes/README.md +28 -0
- package/scripts/.claude/don-cheli/agentes/prompts/estimador.md +29 -0
- package/scripts/.claude/don-cheli/folder-map.json +19 -0
- package/scripts/.claude/don-cheli/ganchos/parar.md +10 -0
- package/scripts/.claude/don-cheli/ganchos/post-herramienta.md +9 -0
- package/scripts/.claude/don-cheli/ganchos/pre-herramienta.md +19 -0
- package/scripts/.claude/don-cheli/habilidades/arnes-agente/HABILIDAD.md +155 -0
- package/scripts/.claude/don-cheli/habilidades/auto-correccion/HABILIDAD.md +105 -0
- package/scripts/.claude/don-cheli/habilidades/brainstorming/HABILIDAD.md +79 -0
- package/scripts/.claude/don-cheli/habilidades/cambio-carpeta/HABILIDAD.md +91 -0
- package/scripts/.claude/don-cheli/habilidades/code-rag/HABILIDAD.md +297 -0
- package/scripts/.claude/don-cheli/habilidades/contabilidad-tokens/HABILIDAD.md +100 -0
- package/scripts/.claude/don-cheli/habilidades/delta-specs/HABILIDAD.md +93 -0
- package/scripts/.claude/don-cheli/habilidades/desarrollo-subagentes/HABILIDAD.md +42 -0
- package/scripts/.claude/don-cheli/habilidades/deteccion-loops/HABILIDAD.md +159 -0
- package/scripts/.claude/don-cheli/habilidades/deteccion-stubs/HABILIDAD.md +195 -0
- package/scripts/.claude/don-cheli/habilidades/devlog/HABILIDAD.md +75 -0
- package/scripts/.claude/don-cheli/habilidades/documentacion-viva/HABILIDAD.md +222 -0
- package/scripts/.claude/don-cheli/habilidades/estimacion/HABILIDAD.md +39 -0
- package/scripts/.claude/don-cheli/habilidades/extensiones-presets/HABILIDAD.md +124 -0
- package/scripts/.claude/don-cheli/habilidades/generador-specs/HABILIDAD.md +28 -0
- package/scripts/.claude/don-cheli/habilidades/ingenieria-contexto/HABILIDAD.md +25 -0
- package/scripts/.claude/don-cheli/habilidades/integracion-mcp/HABILIDAD.md +50 -0
- package/scripts/.claude/don-cheli/habilidades/leyes-hierro/HABILIDAD.md +36 -0
- package/scripts/.claude/don-cheli/habilidades/mapa-arquitectonico/HABILIDAD.md +84 -0
- package/scripts/.claude/don-cheli/habilidades/memoria-persistente/HABILIDAD.md +88 -0
- package/scripts/.claude/don-cheli/habilidades/obsidian/HABILIDAD.md +84 -0
- package/scripts/.claude/don-cheli/habilidades/optimizacion-tokens/HABILIDAD.md +170 -0
- package/scripts/.claude/don-cheli/habilidades/optimizador-contexto/HABILIDAD.md +97 -0
- package/scripts/.claude/don-cheli/habilidades/orquestacion-autonoma/HABILIDAD.md +124 -0
- package/scripts/.claude/don-cheli/habilidades/permisos-seguridad/HABILIDAD.md +67 -0
- package/scripts/.claude/don-cheli/habilidades/persona/HABILIDAD.md +57 -0
- package/scripts/.claude/don-cheli/habilidades/presentaciones/HABILIDAD.md +54 -0
- package/scripts/.claude/don-cheli/habilidades/prueba-trabajo/HABILIDAD.md +122 -0
- package/scripts/.claude/don-cheli/habilidades/razonamiento/HABILIDAD.md +60 -0
- package/scripts/.claude/don-cheli/habilidades/recuperacion-sesion/HABILIDAD.md +18 -0
- package/scripts/.claude/don-cheli/habilidades/refactorizacion-solid/HABILIDAD.md +173 -0
- package/scripts/.claude/don-cheli/habilidades/reflexion/HABILIDAD.md +15 -0
- package/scripts/.claude/don-cheli/habilidades/rigor-progresivo/HABILIDAD.md +100 -0
- package/scripts/.claude/don-cheli/habilidades/rlm/HABILIDAD.md +76 -0
- package/scripts/.claude/don-cheli/habilidades/schemas-dbml/HABILIDAD.md +92 -0
- package/scripts/.claude/don-cheli/habilidades/trazabilidad/HABILIDAD.md +54 -0
- package/scripts/.claude/don-cheli/habilidades/ui-ux-design/HABILIDAD.md +67 -0
- package/scripts/.claude/don-cheli/habilidades/validacion-nyquist/HABILIDAD.md +152 -0
- package/scripts/.claude/don-cheli/habilidades/worktrees/HABILIDAD.md +71 -0
- package/scripts/.claude/don-cheli/locale +1 -0
- package/scripts/.claude/don-cheli/locales/en.json +179 -0
- package/scripts/.claude/don-cheli/locales/es.json +179 -0
- package/scripts/.claude/don-cheli/locales/pt.json +179 -0
- package/scripts/.claude/don-cheli/plantillas/checklist-requisitos.md +31 -0
- package/scripts/.claude/don-cheli/plantillas/docker/Dockerfile +16 -0
- package/scripts/.claude/don-cheli/plantillas/docker/docker-compose.yml +28 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/WORKFLOW.md +118 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/config.yaml +27 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/en/config.yaml +27 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/en/findings.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/en/plan.md +35 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/en/progress.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/en/status.md +16 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/es/config.yaml +27 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/es/estado.md +16 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/es/hallazgos.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/es/plan.md +35 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/es/progreso.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/estado.md +16 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/hallazgos.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/isa.yml +152 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/plan.md +35 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/progreso.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/pt/config.yaml +27 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/pt/descobertas.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/pt/estado.md +16 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/pt/plano.md +35 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/pt/progresso.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/estimado-desarrollo.md +43 -0
- package/scripts/.claude/don-cheli/prompt.md +16 -0
- package/scripts/.claude/don-cheli/reglas/constitucion.md +122 -0
- package/scripts/.claude/don-cheli/reglas/hooks-parar.md +102 -0
- package/scripts/.claude/don-cheli/reglas/i18n.md +47 -0
- package/scripts/.claude/don-cheli/reglas/leyes-hierro.md +18 -0
- package/scripts/.claude/don-cheli/reglas/puertas-calidad.md +87 -0
- package/scripts/.claude/don-cheli/reglas/reglas-desviacion.md +36 -0
- package/scripts/.claude/don-cheli/reglas/reglas-trabajo-globales.md +171 -0
- package/scripts/.claude/don-cheli/scripts/bucle.sh +103 -0
- package/scripts/.claude/don-cheli/scripts/instalar.sh +522 -0
- package/scripts/.claude/don-cheli/scripts/validar.sh +70 -0
- package/scripts/bucle.sh +103 -0
- package/scripts/instalar.sh +587 -0
- package/scripts/validar.sh +70 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Estado do Don Cheli
|
|
2
|
+
|
|
3
|
+
## Atual
|
|
4
|
+
- **Fase:** 1/7 (Descoberta)
|
|
5
|
+
- **Tarefa:** Definir o problema
|
|
6
|
+
- **Bloqueio:** Nenhum
|
|
7
|
+
|
|
8
|
+
## Estatísticas Rápidas
|
|
9
|
+
- **Progresso:** 0%
|
|
10
|
+
- **Última Atualização:** [data]
|
|
11
|
+
|
|
12
|
+
## Velocidade
|
|
13
|
+
- Sessões concluídas: 0
|
|
14
|
+
- Duração média: -
|
|
15
|
+
- Fases concluídas: 0/7
|
|
16
|
+
- Tempo restante estimado: -
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Plano do Projeto
|
|
2
|
+
|
|
3
|
+
## Fase 1: Descoberta
|
|
4
|
+
- [ ] Validar o problema
|
|
5
|
+
- [ ] Pesquisar soluções existentes
|
|
6
|
+
- [ ] Documentar descobertas
|
|
7
|
+
|
|
8
|
+
## Fase 2: Estratégia
|
|
9
|
+
- [ ] Definir roteiro
|
|
10
|
+
- [ ] Estabelecer marcos
|
|
11
|
+
- [ ] Tomar decisões chave
|
|
12
|
+
|
|
13
|
+
## Fase 3: Design
|
|
14
|
+
- [ ] Arquitetura do sistema
|
|
15
|
+
- [ ] Design de UX/UI
|
|
16
|
+
- [ ] Especificações técnicas
|
|
17
|
+
|
|
18
|
+
## Fase 4: Desenvolvimento
|
|
19
|
+
- [ ] Implementar com TDD
|
|
20
|
+
- [ ] Iterar sobre feedback
|
|
21
|
+
|
|
22
|
+
## Fase 5: Qualidade
|
|
23
|
+
- [ ] Testes completos
|
|
24
|
+
- [ ] Validação de desempenho
|
|
25
|
+
- [ ] Revisão de segurança
|
|
26
|
+
|
|
27
|
+
## Fase 6: Lançamento
|
|
28
|
+
- [ ] Implantação
|
|
29
|
+
- [ ] Documentação final
|
|
30
|
+
- [ ] Notas de versão
|
|
31
|
+
|
|
32
|
+
## Fase 7: Crescimento
|
|
33
|
+
- [ ] Monitoramento
|
|
34
|
+
- [ ] Feedback dos usuários
|
|
35
|
+
- [ ] Iteração
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Pseudocódigo
|
|
2
|
+
|
|
3
|
+
Lógica de alto nível agnóstica de linguagem/framework. Gerado DEPOIS de especificar e ANTES de planejar. Força o agente a raciocinar sobre a lógica sem comprometer tecnologia.
|
|
4
|
+
|
|
5
|
+
## [Feature/Módulo]
|
|
6
|
+
|
|
7
|
+
### Fluxo Principal
|
|
8
|
+
```
|
|
9
|
+
QUANDO usuário faz X
|
|
10
|
+
VALIDAR que Y
|
|
11
|
+
SE condição A
|
|
12
|
+
EXECUTAR ação B
|
|
13
|
+
PERSISTIR resultado em C
|
|
14
|
+
NOTIFICAR D
|
|
15
|
+
SENÃO
|
|
16
|
+
RETORNAR erro E
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Invariantes
|
|
20
|
+
<!-- Condições que SEMPRE devem ser verdadeiras -->
|
|
21
|
+
- [Invariante 1]
|
|
22
|
+
- [Invariante 2]
|
|
23
|
+
|
|
24
|
+
### Casos Limite
|
|
25
|
+
<!-- O que acontece nas bordas -->
|
|
26
|
+
- [Edge case 1]: [comportamento esperado]
|
|
27
|
+
- [Edge case 2]: [comportamento esperado]
|
|
28
|
+
|
|
29
|
+
### Dependências de Dados
|
|
30
|
+
<!-- Quais dados são necessários e de onde vêm -->
|
|
31
|
+
- [Dado 1] ← [Fonte]
|
|
32
|
+
- [Dado 2] ← [Fonte]
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
*Gerado com `/especdev:pseudocodigo` entre especificar e planejar.*
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Runtime
|
|
2
|
+
|
|
3
|
+
Informações de execução do projeto: endpoints, variáveis de ambiente, serviços, portas.
|
|
4
|
+
|
|
5
|
+
## Endpoints Locais
|
|
6
|
+
| Serviço | URL | Porta |
|
|
7
|
+
|---------|-----|-------|
|
|
8
|
+
<!-- Auto-gerado durante /especdev:implementar -->
|
|
9
|
+
|
|
10
|
+
## Variáveis de Ambiente Requeridas
|
|
11
|
+
| Variável | Descrição | Origem |
|
|
12
|
+
|----------|-----------|--------|
|
|
13
|
+
<!-- Extraído do .env.example -->
|
|
14
|
+
|
|
15
|
+
## Serviços Externos
|
|
16
|
+
| Serviço | URL/Host | Plano | Rate Limit |
|
|
17
|
+
|---------|----------|-------|------------|
|
|
18
|
+
<!-- Documentado durante PoC e planejamento -->
|
|
19
|
+
|
|
20
|
+
## Comandos de Desenvolvimento
|
|
21
|
+
```bash
|
|
22
|
+
# Iniciar
|
|
23
|
+
# Testes
|
|
24
|
+
# Build
|
|
25
|
+
# Deploy
|
|
26
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Trabalho Diferido
|
|
2
|
+
|
|
3
|
+
Trabalho descoberto durante fixes, PoCs ou implementação que está FORA do escopo atual. Registrado aqui para não expandir o escopo e priorizado posteriormente.
|
|
4
|
+
|
|
5
|
+
## Formato
|
|
6
|
+
|
|
7
|
+
### TD-NNN: [Descrição curta]
|
|
8
|
+
- **Descoberto em:** [Tarefa/PoC/Fix onde foi encontrado]
|
|
9
|
+
- **Data:** YYYY-MM-DD
|
|
10
|
+
- **Prioridade estimada:** alta | média | baixa
|
|
11
|
+
- **Esforço estimado:** < 1h | 1-4h | 1d | 1w+
|
|
12
|
+
- **Contexto:** [Por que surgiu e por que não foi resolvido agora]
|
|
13
|
+
- **Status:** pendente | planejado | descartado
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
<!-- O trabalho diferido é registrado automaticamente durante /especdev:poc, /especdev:rapido e /especdev:implementar -->
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Estimado de Desarrollo: [Nombre del Proyecto]
|
|
2
|
+
|
|
3
|
+
**Fecha:** [fecha]
|
|
4
|
+
**Generado por:** `/especdev:estimar`
|
|
5
|
+
|
|
6
|
+
## Resumen Ejecutivo
|
|
7
|
+
|
|
8
|
+
| Métrica | Valor |
|
|
9
|
+
|---------|-------|
|
|
10
|
+
| **Esfuerzo total** | X-Y días/persona |
|
|
11
|
+
| **Complejidad** | Baja/Media/Alta |
|
|
12
|
+
| **Confianza** | X% |
|
|
13
|
+
| **Modelo dominante** | [modelo] |
|
|
14
|
+
|
|
15
|
+
## Desglose por Feature
|
|
16
|
+
|
|
17
|
+
| Feature | Optimista | Esperado | Pesimista | Riesgo |
|
|
18
|
+
|---------|-----------|----------|-----------|--------|
|
|
19
|
+
| Feature 1 | Xd | Yd | Zd | Bajo/Medio/Alto |
|
|
20
|
+
| Feature 2 | Xd | Yd | Zd | Bajo/Medio/Alto |
|
|
21
|
+
|
|
22
|
+
## Detalle por Modelo
|
|
23
|
+
|
|
24
|
+
### Puntos de Función: X días
|
|
25
|
+
### Planning Poker IA: X días
|
|
26
|
+
### COCOMO: X días
|
|
27
|
+
### Histórico: X días / N/A
|
|
28
|
+
|
|
29
|
+
## Riesgos que Afectan la Estimación
|
|
30
|
+
|
|
31
|
+
| Riesgo | Probabilidad | Impacto | Mitigación |
|
|
32
|
+
|--------|-------------|---------|------------|
|
|
33
|
+
| Riesgo 1 | X% | +X días | [acción] |
|
|
34
|
+
|
|
35
|
+
## Supuestos Clave
|
|
36
|
+
|
|
37
|
+
- [supuesto 1]
|
|
38
|
+
- [supuesto 2]
|
|
39
|
+
|
|
40
|
+
## Recomendación
|
|
41
|
+
|
|
42
|
+
Usar estimado **esperado** (X días) con buffer de 20% para imprevistos.
|
|
43
|
+
→ **Total recomendado: X días/persona**
|
package/prompt.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Don Cheli — Instrucciones para Amp
|
|
2
|
+
|
|
3
|
+
## Identidad
|
|
4
|
+
|
|
5
|
+
Asistente de desarrollo bajo el framework Don Cheli.
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
Lee `.especdev/` para entender el estado del proyecto.
|
|
10
|
+
|
|
11
|
+
## Reglas
|
|
12
|
+
|
|
13
|
+
1. TDD obligatorio
|
|
14
|
+
2. Causa raíz primero
|
|
15
|
+
3. Evidencia siempre
|
|
16
|
+
4. Todo en español
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Constitución de Don Cheli
|
|
2
|
+
|
|
3
|
+
> **Versión:** 2.0.0 | **Ratificada:** 2026-03-21
|
|
4
|
+
>
|
|
5
|
+
> La constitución gobierna TODO el código generado bajo Don Cheli.
|
|
6
|
+
> Enriquecida con principios de Specular (pei9564/Specular).
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## I. Gherkin es Rey (Fuente Única de Verdad)
|
|
11
|
+
|
|
12
|
+
Los archivos `.feature` en `specs/features/` son los **ÚNICOS** artefactos de especificación. No se generan ni mantienen archivos spec.md separados.
|
|
13
|
+
|
|
14
|
+
- Todas las decisiones de planificación, implementación y testing DEBEN rastrearse hasta Escenarios y Reglas definidos en el `.feature` correspondiente.
|
|
15
|
+
- El orden del flujo DEBE ser: Leer Gherkin → Generar Step Definitions (Rojo) → Implementar Feature (Verde) → Refactorizar.
|
|
16
|
+
- Cuando un archivo Gherkin es ambiguo o incompleto, el vacío DEBE resolverse actualizando el `.feature` — nunca inventando requisitos en artefactos posteriores.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## I-B. Schema como Verdad Viva (Ciclo de Vida DBML)
|
|
21
|
+
|
|
22
|
+
Las definiciones de schema en `specs/db_schema/<dominio>.dbml` siguen un ciclo de dos fases:
|
|
23
|
+
|
|
24
|
+
1. **Provisional** (tag `@provisional` presente): Auto-generado durante la fase Spec. Nombres de campos, tipos y restricciones son borradores.
|
|
25
|
+
- Los Escenarios en `.feature` DEBEN usar los nombres de campos provisionales tal como están.
|
|
26
|
+
- Los schemas provisionales DEBEN revisarse y ratificarse antes de la fase Plan.
|
|
27
|
+
|
|
28
|
+
2. **Ratificado** (sin tag `@provisional`): Revisado durante Clarify o Plan. Una vez ratificado, el DBML se convierte en **Verdad Absoluta**.
|
|
29
|
+
- Cualquier feature posterior en el mismo dominio DEBE extender (no reemplazar) el schema ratificado.
|
|
30
|
+
- Renombrar campos después de la ratificación requiere una nota de migración en el plan.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## II. Precisión Quirúrgica (Colaboración en Equipo)
|
|
35
|
+
|
|
36
|
+
Cada cambio DEBE ser el **cambio mínimo viable** requerido por la tarea actual.
|
|
37
|
+
|
|
38
|
+
- Refactoring "de paso" de código no relacionado, helpers globales o componentes compartidos está **PROHIBIDO** salvo que se solicite explícitamente.
|
|
39
|
+
- Cambios de formato, adición de comentarios y reordenamiento de imports fuera del alcance de la tarea NO DEBEN aparecer en diffs.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## III. Arquitectura Plug-and-Play (Modularidad)
|
|
44
|
+
|
|
45
|
+
El código DEBE seguir el Principio Abierto/Cerrado: abierto para extensión, cerrado para modificación.
|
|
46
|
+
|
|
47
|
+
- Nuevas features DEBEN entregarse como módulos, Objetos de Servicio o clases nuevas, no inflando funciones existentes.
|
|
48
|
+
- La lógica de negocio DEBE encapsularse en Objetos de Servicio o clases especializadas. Controllers, Handlers y Routers DEBEN ser thin (solo delegación).
|
|
49
|
+
- Concerns transversales (logging, auth, validación) DEBEN usar patrones de middleware o decoradores, no código inline.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## IV. La Regla "Las Vegas" (Aislamiento de Servicios y Mocking)
|
|
54
|
+
|
|
55
|
+
> Lo que pasa dentro de un servicio SE QUEDA dentro de ese servicio.
|
|
56
|
+
|
|
57
|
+
- Los tests DEBEN ejecutarse herméticamente — sin llamadas de red reales, sin estado de BD compartido, sin efectos secundarios en el filesystem.
|
|
58
|
+
- Toda interacción con un servicio externo (HTTP APIs, gRPC, bases de datos, colas de mensajes) DEBE estar mockeada por defecto.
|
|
59
|
+
- Las clases de servicio DEBEN aceptar dependencias via Inyección de Dependencias para que intercambiar mocks por clientes reales sea transparente.
|
|
60
|
+
- Los tests end-to-end son la ÚNICA excepción y DEBEN marcarse explícitamente como tales.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## IV-B. Regla del Punto de Entrada (Alineamiento BDD-Arquitectura)
|
|
65
|
+
|
|
66
|
+
La validación de reglas de negocio DEBE colocarse lo más cerca posible del punto de entrada que el paso `Cuando` del BDD invoca.
|
|
67
|
+
|
|
68
|
+
**Test de litmus:** Para cada Escenario de fallo en el `.feature`, preguntar: _"¿El paso `Cuando` realmente se ejecuta en mi arquitectura?"_ Si la respuesta es no, la arquitectura viola esta regla.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## V. Estándares Modernos de Código
|
|
73
|
+
|
|
74
|
+
- **Type hints** son obligatorios en toda firma de función.
|
|
75
|
+
- **Modelos de validación** (Pydantic/Zod/equivalente) DEBEN usarse para DTOs y schemas — diccionarios/objetos crudos están PROHIBIDOS para datos estructurados.
|
|
76
|
+
- Se DEBE seguir el style guide del lenguaje (PEP 8, ESLint, etc.). Donde el guide conflicta con legibilidad, gana legibilidad.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## VI. Adaptabilidad al Contexto
|
|
81
|
+
|
|
82
|
+
Antes de generar código, el framework y toolchain DEBEN detectarse escaneando archivos de configuración (`package.json`, `requirements.txt`, `pyproject.toml`, etc.).
|
|
83
|
+
|
|
84
|
+
El código generado NO DEBE introducir patrones que conflicten con las dependencias instaladas o convenciones establecidas del proyecto.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## VII. Codificación Defensiva y Manejo de Errores
|
|
89
|
+
|
|
90
|
+
- Bloques `try...catch` desnudos que engullen errores están PROHIBIDOS. Toda excepción capturada DEBE logguearse con stack trace completo.
|
|
91
|
+
- El código DEBE usar clases de excepción custom que mapeen a códigos de estado HTTP (ej: `RecursoNoEncontrado` → 404).
|
|
92
|
+
- **Regla Stop-Loss:** Si una tarea falla (luz Roja) más de 3 veces, el trabajo DEBE detenerse y se DEBE solicitar guía humana. Los ciclos infinitos de fix-break están PROHIBIDOS.
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## VIII. Protocolo de Clarificación (Auto-QA)
|
|
97
|
+
|
|
98
|
+
Al ejecutar `/especdev:clarificar`, el agente actúa como **Ingeniero QA Estricto** y ejecuta obligatoriamente:
|
|
99
|
+
|
|
100
|
+
1. **Verificación de Consistencia Schema-Spec:**
|
|
101
|
+
- Escanear todos los campos en el Gherkin
|
|
102
|
+
- Comparar contra el schema DBML
|
|
103
|
+
- Error si nombres no coinciden exactamente
|
|
104
|
+
- Error si campo `NOT NULL` no tiene escenario de validación
|
|
105
|
+
|
|
106
|
+
2. **Verificación de Convención de Nombres:**
|
|
107
|
+
- Feature COMMAND: usar patrón precondición/postcondición
|
|
108
|
+
- Feature QUERY: usar patrón precondición/éxito
|
|
109
|
+
|
|
110
|
+
3. **Auditoría Auto-Generado:**
|
|
111
|
+
- Revisar escenarios auto-generados
|
|
112
|
+
- Marcar los que sean redundantes o lógicamente imposibles
|
|
113
|
+
|
|
114
|
+
**Formato de salida:** ✅ PASS / ⚠️ WARNING / ❌ FAIL
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Gobernanza
|
|
119
|
+
|
|
120
|
+
- Esta constitución **supersede** todas las prácticas de desarrollo y guías de estilo dentro del repositorio.
|
|
121
|
+
- Las enmiendas requieren: (1) Justificación documentada, (2) Revisión, (3) Plan de migración para código que ya no cumpla.
|
|
122
|
+
- Todos los PRs y revisiones de código DEBEN verificar cumplimiento con estos principios.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Stop Hooks — Verificaciones de Parada
|
|
2
|
+
|
|
3
|
+
## Qué Son
|
|
4
|
+
|
|
5
|
+
Los Stop Hooks son verificaciones automáticas que DEBEN pasar antes de que el agente pueda declarar una tarea como "completa". Son el equivalente a puertas de calidad de CI/CD pero ejecutadas por el agente en tiempo real.
|
|
6
|
+
|
|
7
|
+
> Concepto de MELI: los agentes NO pueden terminar sin pasar validaciones.
|
|
8
|
+
|
|
9
|
+
## Configuración
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
# .especdev/hooks/parar.yml
|
|
13
|
+
version: 1
|
|
14
|
+
|
|
15
|
+
hooks:
|
|
16
|
+
# Obligatorios — si fallan, la tarea se BLOQUEA
|
|
17
|
+
obligatorios:
|
|
18
|
+
- nombre: "Lint"
|
|
19
|
+
comando: "npm run lint"
|
|
20
|
+
timeout: 60
|
|
21
|
+
|
|
22
|
+
- nombre: "Type Check"
|
|
23
|
+
comando: "npx tsc --noEmit"
|
|
24
|
+
timeout: 120
|
|
25
|
+
|
|
26
|
+
- nombre: "Tests Unitarios"
|
|
27
|
+
comando: "npm test -- --testPathPattern=unit"
|
|
28
|
+
timeout: 180
|
|
29
|
+
|
|
30
|
+
- nombre: "Build"
|
|
31
|
+
comando: "npm run build"
|
|
32
|
+
timeout: 300
|
|
33
|
+
|
|
34
|
+
# Opcionales — si fallan, se advierte pero no se bloquea
|
|
35
|
+
opcionales:
|
|
36
|
+
- nombre: "Coverage"
|
|
37
|
+
comando: "npm run coverage -- --threshold 85"
|
|
38
|
+
timeout: 180
|
|
39
|
+
|
|
40
|
+
- nombre: "Tests E2E"
|
|
41
|
+
comando: "npm run test:e2e"
|
|
42
|
+
timeout: 600
|
|
43
|
+
|
|
44
|
+
# Pre-commit — se ejecutan antes de cada commit
|
|
45
|
+
pre_commit:
|
|
46
|
+
- nombre: "Guardian"
|
|
47
|
+
comando: "/especdev:guardian"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Flujo de Ejecución
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
/especdev:implementar
|
|
54
|
+
│
|
|
55
|
+
├── ... (implementar tareas) ...
|
|
56
|
+
│
|
|
57
|
+
└── Ejecutar Stop Hooks
|
|
58
|
+
│
|
|
59
|
+
├── 1. Lint ───── ✅ PASS (0.8s)
|
|
60
|
+
├── 2. TypeCheck ── ✅ PASS (2.1s)
|
|
61
|
+
├── 3. Tests ───── ❌ FAIL (1 fallo)
|
|
62
|
+
│ └── BLOQUEADO: 1 test falla
|
|
63
|
+
│ → Corregir y re-ejecutar
|
|
64
|
+
│
|
|
65
|
+
└── Re-ejecutar después de fix
|
|
66
|
+
├── 3. Tests ───── ✅ PASS
|
|
67
|
+
├── 4. Build ───── ✅ PASS
|
|
68
|
+
└── === TODOS LOS HOOKS PASAN ===
|
|
69
|
+
→ Tarea marcada como ✅ COMPLETA
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Templates por Stack
|
|
73
|
+
|
|
74
|
+
### Node.js / TypeScript
|
|
75
|
+
```yaml
|
|
76
|
+
hooks:
|
|
77
|
+
obligatorios:
|
|
78
|
+
- {nombre: "ESLint", comando: "npx eslint . --ext .ts,.tsx"}
|
|
79
|
+
- {nombre: "TypeScript", comando: "npx tsc --noEmit"}
|
|
80
|
+
- {nombre: "Vitest", comando: "npx vitest run"}
|
|
81
|
+
- {nombre: "Build", comando: "npm run build"}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Python
|
|
85
|
+
```yaml
|
|
86
|
+
hooks:
|
|
87
|
+
obligatorios:
|
|
88
|
+
- {nombre: "Ruff", comando: "ruff check ."}
|
|
89
|
+
- {nombre: "MyPy", comando: "mypy app/ --strict"}
|
|
90
|
+
- {nombre: "Pytest", comando: "pytest -v"}
|
|
91
|
+
- {nombre: "Build", comando: "python -m build"}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Go
|
|
95
|
+
```yaml
|
|
96
|
+
hooks:
|
|
97
|
+
obligatorios:
|
|
98
|
+
- {nombre: "Go Vet", comando: "go vet ./..."}
|
|
99
|
+
- {nombre: "Staticcheck", comando: "staticcheck ./..."}
|
|
100
|
+
- {nombre: "Go Test", comando: "go test ./..."}
|
|
101
|
+
- {nombre: "Go Build", comando: "go build ./..."}
|
|
102
|
+
```
|
package/reglas/i18n.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# i18n — Internationalization Rules
|
|
2
|
+
|
|
3
|
+
## Language Detection
|
|
4
|
+
|
|
5
|
+
On every interaction, detect the user's configured language:
|
|
6
|
+
|
|
7
|
+
1. Read the framework locale file at `${FRAMEWORK_HOME}/locale` (contains `es`, `en`, or `pt`)
|
|
8
|
+
2. If not found, check `.especdev/config.yaml` → `framework.idioma`
|
|
9
|
+
3. If neither exists, default to `es`
|
|
10
|
+
|
|
11
|
+
## Language Behavior
|
|
12
|
+
|
|
13
|
+
Once the locale is determined:
|
|
14
|
+
|
|
15
|
+
| Locale | Communication | Code | Commits/PRs | Docs |
|
|
16
|
+
|--------|--------------|------|-------------|------|
|
|
17
|
+
| `es` | Español | English | Español | Español |
|
|
18
|
+
| `en` | English | English | English | English |
|
|
19
|
+
| `pt` | Português | English | Português | Português |
|
|
20
|
+
|
|
21
|
+
**Code (variables, functions, comments) is ALWAYS in English regardless of locale.**
|
|
22
|
+
|
|
23
|
+
## Locale Files
|
|
24
|
+
|
|
25
|
+
Framework locale strings are in `locales/{es,en,pt}.json`. Use them for:
|
|
26
|
+
- Phase names, status labels, verdicts
|
|
27
|
+
- Installer messages
|
|
28
|
+
- Command output templates
|
|
29
|
+
- Review dimensions, severity labels
|
|
30
|
+
- TDD cycle names, iron laws
|
|
31
|
+
|
|
32
|
+
## How to Apply
|
|
33
|
+
|
|
34
|
+
When generating output (estado.md, plan.md, hallazgos.md, propuesta.md, etc.):
|
|
35
|
+
- Use the locale's terminology for headers, labels, and status text
|
|
36
|
+
- Keep technical terms (e.g., TDD, OWASP, API, WebSocket) untranslated
|
|
37
|
+
- Gherkin keywords follow the Gherkin i18n spec:
|
|
38
|
+
- `es`: Dado/Cuando/Entonces/Y
|
|
39
|
+
- `en`: Given/When/Then/And
|
|
40
|
+
- `pt`: Dado/Quando/Então/E
|
|
41
|
+
|
|
42
|
+
## Changing Language
|
|
43
|
+
|
|
44
|
+
The user can change the language at any time by:
|
|
45
|
+
1. Editing `${FRAMEWORK_HOME}/locale` directly
|
|
46
|
+
2. Re-running `scripts/instalar.sh` (re-prompts language selection)
|
|
47
|
+
3. Setting `framework.idioma` in `.especdev/config.yaml`
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Leyes de Hierro
|
|
2
|
+
|
|
3
|
+
## No Negociable. Siempre se aplican.
|
|
4
|
+
|
|
5
|
+
### 1. Ley TDD
|
|
6
|
+
Todo código de producción REQUIERE tests.
|
|
7
|
+
- `RED` → Escribir test que falla
|
|
8
|
+
- `GREEN` → Código mínimo que pasa
|
|
9
|
+
- `REFACTOR` → Mejorar sin cambiar comportamiento
|
|
10
|
+
|
|
11
|
+
### 2. Ley de Debugging
|
|
12
|
+
Primero la causa raíz, luego la corrección.
|
|
13
|
+
1. REPRODUCIR → AISLAR → ENTENDER → CORREGIR → VERIFICAR
|
|
14
|
+
|
|
15
|
+
### 3. Ley de Verificación
|
|
16
|
+
Evidencia antes de afirmaciones.
|
|
17
|
+
- ✅ "Tests pasan (evidencia adjunta)"
|
|
18
|
+
- ❌ "Creo que funciona"
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Puertas de Calidad (Quality Gates)
|
|
2
|
+
|
|
3
|
+
## Cómo Mejoran el Framework
|
|
4
|
+
|
|
5
|
+
Las puertas de calidad son **puntos de verificación obligatorios** entre fases del pipeline.
|
|
6
|
+
Sin ellas, el pipeline avanza aunque haya problemas. Con ellas, cada fase DEBE cumplir
|
|
7
|
+
criterios formales antes de pasar a la siguiente. Esto es clave para la **trazabilidad**.
|
|
8
|
+
|
|
9
|
+
> Adaptado de Specular (pei9564/Specular → constitution.md §Quality Gates)
|
|
10
|
+
> Alineado con spec-kit (github/spec-kit) — criterios de completitud y constitution check
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Las 6 Puertas
|
|
15
|
+
|
|
16
|
+
| # | Puerta | Fase | Criterios |
|
|
17
|
+
|---|--------|------|-----------|
|
|
18
|
+
| 1 | **Completitud de Spec** | Después de `/especdev:especificar` | P1 tiene happy + sad path. Criterios de éxito definidos (≥2 medibles). Marcadores `[NECESITA CLARIFICACIÓN]` identificados |
|
|
19
|
+
| 2 | **Estado de Spec** | Antes de `/especdev:planificar-tecnico` | Tag `@lista` presente. Specs `@borrador` NO pueden entrar a fase Plan |
|
|
20
|
+
| 3 | **Verificación Clarify** | Después de `/especdev:clarificar` | Reporte Auto-QA sin ❌ FALLA. Todos los `[NECESITA CLARIFICACIÓN]` resueltos. Auditoría completada |
|
|
21
|
+
| 4 | **Aprobación de Plan** | Después de `/especdev:planificar-tecnico` | Chequeo de constitución pasa (todos ✅). Contexto técnico completo. DBML ratificado. Tracking de complejidad documentado |
|
|
22
|
+
| 5 | **Preparación de Tareas** | Después de `/especdev:desglosar` | Todas las tareas con IDs (`T###`). Rutas de archivos en tareas de implementación. Marcadores `[P]` de paralelismo asignados. 5 fases presentes |
|
|
23
|
+
| 6 | **Merge de Código** | Después de `/especdev:implementar` | Tests verdes, lint limpio, type-check pasa, coverage ≥85%, sin diff no relacionado, regresión cross-fase pasa |
|
|
24
|
+
|
|
25
|
+
## Verificación Automática
|
|
26
|
+
|
|
27
|
+
Cada puerta se verifica automáticamente. Si falla, el framework **bloquea** el avance:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
/especdev:especificar → [Puerta 1: ¿Completitud?]
|
|
31
|
+
├── ✅ PASA → Continuar
|
|
32
|
+
└── ❌ FALLA → "Faltan escenarios sad path en P1" o "Criterios de éxito no definidos"
|
|
33
|
+
|
|
34
|
+
/especdev:clarificar → [Puerta 2+3: ¿Estado? ¿Auto-QA?]
|
|
35
|
+
├── ✅ PASA → Marcar @lista
|
|
36
|
+
└── ❌ FALLA → "Quedan 2 [NECESITA CLARIFICACIÓN] sin resolver"
|
|
37
|
+
|
|
38
|
+
/especdev:planificar-tecnico → [Puerta 4: ¿Aprobación?]
|
|
39
|
+
├── ✅ PASA → Continuar a tareas
|
|
40
|
+
└── ❌ FALLA → "Artículo III de constitución no cumplido" o "DBML provisional no ratificado"
|
|
41
|
+
|
|
42
|
+
/especdev:desglosar → [Puerta 5: ¿Preparación?]
|
|
43
|
+
├── ✅ PASA → Listo para implementar
|
|
44
|
+
└── ❌ FALLA → "Tarea T008 sin ruta de archivo" o "Falta Fase 5 (Verificación)"
|
|
45
|
+
|
|
46
|
+
/especdev:implementar → [Puerta 6: ¿Merge?]
|
|
47
|
+
├── ✅ PASA → Feature completa
|
|
48
|
+
└── ❌ FALLA → "3 tests fallan" o "Coverage 72% < 85%"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Reporte de Puerta
|
|
52
|
+
|
|
53
|
+
Cada puerta genera un reporte estructurado:
|
|
54
|
+
|
|
55
|
+
```markdown
|
|
56
|
+
## Puerta de Calidad: Completitud de Spec
|
|
57
|
+
|
|
58
|
+
✅ PASS: P1 tiene happy path (Registro exitoso)
|
|
59
|
+
✅ PASS: P1 tiene sad path (Email duplicado)
|
|
60
|
+
✅ PASS: Criterios de éxito definidos (4 medibles)
|
|
61
|
+
⚠️ WARNING: P2 solo tiene 1 escenario (recomendado: ≥2)
|
|
62
|
+
✅ PASS: 3 marcadores [NECESITA CLARIFICACIÓN] identificados
|
|
63
|
+
❌ FAIL: P3+ tiene escenario sin criterio de aceptación
|
|
64
|
+
|
|
65
|
+
**Resultado: NO-AVANZAR (1 FAIL)**
|
|
66
|
+
→ Acción requerida: Agregar Given/When/Then al escenario P3+ "Registro OAuth"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Regresión Cross-Fase
|
|
70
|
+
|
|
71
|
+
Al completar la Puerta 6 de una feature, se ejecuta **regresión automática** sobre features anteriores:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
Feature actual: CrearUsuario (Puerta 6)
|
|
75
|
+
│
|
|
76
|
+
├── Tests de CrearUsuario: ✅ 21/21
|
|
77
|
+
├── Regresión: ListarProductos (feature anterior): ✅ 15/15
|
|
78
|
+
├── Regresión: GestionarCarrito (feature anterior): ✅ 18/18
|
|
79
|
+
└── Resultado: ✅ SIN REGRESIÓN
|
|
80
|
+
|
|
81
|
+
¿Algún test de feature anterior falla?
|
|
82
|
+
├── NO → ✅ Puerta 6 pasa
|
|
83
|
+
└── SÍ → ❌ REGRESIÓN DETECTADA
|
|
84
|
+
└── Identificar qué test rompió y en qué feature
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Regla:** No se puede mergear código que rompe features anteriores. La regresión cross-fase es parte obligatoria de la Puerta 6.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Reglas de Desviación
|
|
2
|
+
|
|
3
|
+
## Las 5 Reglas
|
|
4
|
+
|
|
5
|
+
Cuando encuentras algo inesperado durante la ejecución:
|
|
6
|
+
|
|
7
|
+
| Regla | Disparador | Acción |
|
|
8
|
+
|:-----:|-----------|--------|
|
|
9
|
+
| **1** | Bug encontrado | 🔧 Auto-corregir inmediatamente |
|
|
10
|
+
| **2** | Falta algo crítico (deps, config) | ➕ Auto-agregar inmediatamente |
|
|
11
|
+
| **3** | Bloqueador (impide progreso) | 🚧 Auto-desbloquear inmediatamente |
|
|
12
|
+
| **4** | Cambio arquitectónico | ⛔ **PARAR Y PREGUNTAR** |
|
|
13
|
+
| **5** | Mejora (nice-to-have) | 📝 Registrar en ISSUES.md |
|
|
14
|
+
|
|
15
|
+
## Distribución de Autonomía
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
AUTÓNOMO (solo hacerlo):
|
|
19
|
+
├── Regla 1: Bug → Corregir
|
|
20
|
+
├── Regla 2: Faltante → Agregar
|
|
21
|
+
├── Regla 3: Bloqueador → Desbloquear
|
|
22
|
+
└── Regla 5: Mejora → Registrar
|
|
23
|
+
|
|
24
|
+
HUMANO REQUERIDO (parar y preguntar):
|
|
25
|
+
└── Regla 4: Cambio arquitectónico
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Guía Rápida de Decisión
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
¿Puedo corregir esto en < 5 min sin cambiar cómo las cosas trabajan juntas?
|
|
32
|
+
├── SÍ → Reglas 1, 2 o 3 (auto-manejar)
|
|
33
|
+
└── NO → ¿Necesita una decisión de diseño?
|
|
34
|
+
├── SÍ → Regla 4 (PARAR y PREGUNTAR)
|
|
35
|
+
└── NO → Regla 5 (Registrar y continuar)
|
|
36
|
+
```
|