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,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Verificar la salud del setup de Don Cheli en el proyecto actual
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:diagnostico
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Verificar que el setup de Don Cheli en el proyecto está completo y funcional. Detecta archivos faltantes, configuración inconsistente y problemas comunes.
|
|
11
|
+
|
|
12
|
+
## Uso
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/especdev:diagnostico
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Comportamiento
|
|
19
|
+
|
|
20
|
+
Ejecutar verificaciones en 4 categorías:
|
|
21
|
+
|
|
22
|
+
### 1. Estructura .especdev/
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
Verificando .especdev/...
|
|
26
|
+
✅ config.yaml existe y es válido
|
|
27
|
+
✅ estado.md existe
|
|
28
|
+
✅ plan.md existe
|
|
29
|
+
⚠️ hallazgos.md no existe (se creará al explorar)
|
|
30
|
+
✅ progreso.md existe
|
|
31
|
+
✅ memoria/ directorio existe
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 2. Configuración
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Verificando configuración...
|
|
38
|
+
✅ proyecto.nombre definido: "mi-proyecto"
|
|
39
|
+
✅ proyecto.tipo válido: "servicio"
|
|
40
|
+
✅ modelos.default definido: "sonnet"
|
|
41
|
+
⚠️ idioma no definido (usando default: "es")
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 3. Entorno
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
Verificando entorno...
|
|
48
|
+
✅ Git inicializado
|
|
49
|
+
✅ Branch actual: feature/auth
|
|
50
|
+
✅ Docker disponible (para /especdev:implementar)
|
|
51
|
+
⚠️ Docker Compose no encontrado (opcional)
|
|
52
|
+
✅ Node/Python/Go detectado (según stack)
|
|
53
|
+
✅ Linter configurado
|
|
54
|
+
✅ Tests configurados
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 4. Pipeline
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Verificando pipeline...
|
|
61
|
+
✅ specs/features/ directorio existe
|
|
62
|
+
✅ 3 features encontradas (2 @lista, 1 @borrador)
|
|
63
|
+
⚠️ specs/db_schema/ no existe (se creará al especificar)
|
|
64
|
+
✅ Constitución presente (reglas/constitucion.md)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Output
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
## Diagnóstico Don Cheli: mi-proyecto
|
|
71
|
+
|
|
72
|
+
| Categoría | Estado | Problemas |
|
|
73
|
+
|-----------|--------|-----------|
|
|
74
|
+
| Estructura | ✅ OK | 0 |
|
|
75
|
+
| Configuración | ⚠️ Warning | 1 warning |
|
|
76
|
+
| Entorno | ⚠️ Warning | 1 warning |
|
|
77
|
+
| Pipeline | ✅ OK | 0 |
|
|
78
|
+
|
|
79
|
+
### Warnings
|
|
80
|
+
1. `idioma` no definido en config.yaml → agregar `idioma: "es"`
|
|
81
|
+
2. Docker Compose no encontrado → instalar para usar `/especdev:implementar`
|
|
82
|
+
|
|
83
|
+
### Resultado: ✅ SALUDABLE (2 warnings menores)
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Resultados Posibles
|
|
87
|
+
|
|
88
|
+
| Resultado | Significado |
|
|
89
|
+
|-----------|-------------|
|
|
90
|
+
| ✅ **SALUDABLE** | Todo funciona, warnings son opcionales |
|
|
91
|
+
| ⚠️ **FUNCIONAL** | Funciona pero con limitaciones |
|
|
92
|
+
| ❌ **REQUIERE ATENCIÓN** | Archivos críticos faltantes, ejecutar `/especdev:iniciar` |
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Diseño técnico con decisiones de arquitectura documentadas
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:diseñar
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Crear un documento de diseño técnico entre la planificación y el desglose de tareas. Documenta decisiones de arquitectura, trade-offs evaluados, y el diseño detallado del sistema.
|
|
11
|
+
|
|
12
|
+
> Adaptado de `sdd-design` de Gentle-AI — separa la planificación del diseño técnico.
|
|
13
|
+
|
|
14
|
+
## Uso
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/especdev:diseñar @specs/features/<dominio>/<Feature>.plan.md
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Diferencia con planificar-tecnico
|
|
21
|
+
|
|
22
|
+
| `/especdev:planificar-tecnico` | `/especdev:diseñar` |
|
|
23
|
+
|-------------------------------|---------------------|
|
|
24
|
+
| Blueprint: contratos API, modelos, servicios | Decisiones de arquitectura y trade-offs |
|
|
25
|
+
| QUÉ vamos a construir | CÓMO y POR QUÉ así |
|
|
26
|
+
| Rápido, estructurado | Profundo, con análisis |
|
|
27
|
+
|
|
28
|
+
## Output
|
|
29
|
+
|
|
30
|
+
```markdown
|
|
31
|
+
# Diseño Técnico: Sistema de Autenticación OAuth
|
|
32
|
+
|
|
33
|
+
## Decisiones de Arquitectura
|
|
34
|
+
|
|
35
|
+
### ADR-001: Strategy Pattern para Providers
|
|
36
|
+
- **Estado:** Aceptada
|
|
37
|
+
- **Contexto:** Necesitamos soportar Google, GitHub, y posiblemente más
|
|
38
|
+
- **Opciones evaluadas:**
|
|
39
|
+
1. If/else por provider → No extensible
|
|
40
|
+
2. Strategy Pattern → Extensible, testeable ✅
|
|
41
|
+
3. Plugin system → Over-engineering para esta fase
|
|
42
|
+
- **Consecuencias:** Cada provider es una clase independiente
|
|
43
|
+
|
|
44
|
+
### ADR-002: Tokens en BD vs Redis
|
|
45
|
+
- **Estado:** Aceptada
|
|
46
|
+
- **Decisión:** BD con TTL automático
|
|
47
|
+
- **Razón:** No queremos agregar Redis como dependencia solo para tokens
|
|
48
|
+
|
|
49
|
+
## Diagramas
|
|
50
|
+
|
|
51
|
+
### Flujo de Autenticación
|
|
52
|
+
```
|
|
53
|
+
Usuario → Redirect a Google → Callback → Verificar Token
|
|
54
|
+
→ Buscar/Crear usuario local → Generar JWT interno → Responder
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Complejidad
|
|
58
|
+
| Componente | Complejidad | Notas |
|
|
59
|
+
|-----------|-------------|-------|
|
|
60
|
+
| OAuthProvider interface | Baja | Strategy pattern simple |
|
|
61
|
+
| GoogleProvider | Media | API de Google bien documentada |
|
|
62
|
+
| Account linking | Alta | Lógica de merge de cuentas |
|
|
63
|
+
| Token refresh | Media | Background job necesario |
|
|
64
|
+
|
|
65
|
+
## Estado: APROBADO PARA IMPLEMENTACIÓN
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Pipeline Actualizado (9 Fases)
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
explorar → proponer → especificar → clarificar
|
|
72
|
+
→ planificar-tecnico → diseñar → desglosar
|
|
73
|
+
→ implementar → revisar
|
|
74
|
+
```
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Test rápido de 5 preguntas para verificar contexto
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:donde-estoy
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Ejecutar un test rápido de 5 preguntas para verificar que el contexto de trabajo está completo.
|
|
11
|
+
|
|
12
|
+
## Uso
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/especdev:donde-estoy
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Las 5 Preguntas
|
|
19
|
+
|
|
20
|
+
| # | Pregunta | Fuente |
|
|
21
|
+
|---|----------|--------|
|
|
22
|
+
| 1 | ¿Dónde estoy? | `estado.md` |
|
|
23
|
+
| 2 | ¿A dónde voy? | `plan.md` |
|
|
24
|
+
| 3 | ¿Cuál es la meta? | `config.yaml` |
|
|
25
|
+
| 4 | ¿Qué he aprendido? | `hallazgos.md` |
|
|
26
|
+
| 5 | ¿Qué he hecho? | `progreso.md` |
|
|
27
|
+
|
|
28
|
+
## Interpretación
|
|
29
|
+
|
|
30
|
+
- ✅ 5/5 → Listo para continuar
|
|
31
|
+
- ⚠️ 3-4/5 → Proceder con precaución
|
|
32
|
+
- ❌ 0-2/5 → Ejecutar `/especdev:iniciar --reparar`
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Crear especificación Gherkin desde un requerimiento con schema DBML auto-generado
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:especificar
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Convertir un requerimiento en lenguaje natural a una especificación Gherkin estructurada (`.feature`), incluyendo auto-generación de schema DBML provisional si no existe.
|
|
11
|
+
|
|
12
|
+
> Mejorado con el ciclo de vida DBML de Specular (constitution.md §I-B)
|
|
13
|
+
> Alineado con spec-kit (github/spec-kit) — prioridades P1/P2/P3+, criterios de éxito y marcadores de clarificación
|
|
14
|
+
|
|
15
|
+
## Uso
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
/especdev:especificar Tipo: <COMANDO|CONSULTA|EVENTO> Feature: <dominio/Nombre> Dominio: <dominio> Requerimiento: <descripción> Contexto: @<archivo-referencia>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Comportamiento
|
|
22
|
+
|
|
23
|
+
1. **Verificar** si existe `specs/db_schema/<dominio>.dbml`
|
|
24
|
+
- Si **NO existe** → Auto-generar DBML `@provisional` con campos inferidos del requerimiento
|
|
25
|
+
- Si **existe y está ratificado** → Usar como referencia, agregar nuevos campos como `@provisional`
|
|
26
|
+
2. **Analizar** el requerimiento proporcionado
|
|
27
|
+
3. **Identificar** actores, acciones y resultados esperados
|
|
28
|
+
4. **Categorizar** escenarios por prioridad (P1/P2/P3+)
|
|
29
|
+
5. **Generar** escenarios Gherkin con Dado/Cuando/Entonces
|
|
30
|
+
6. **Usar** los nombres de campo EXACTOS del DBML en los escenarios
|
|
31
|
+
7. **Marcar** requisitos ambiguos con `[NECESITA CLARIFICACIÓN]`
|
|
32
|
+
8. **Definir** criterios de éxito medibles y agnósticos de tecnología
|
|
33
|
+
9. **Crear** archivo `.feature` en `specs/features/<dominio>/` con tag `@borrador`
|
|
34
|
+
10. **Incluir** edge cases y escenarios de error
|
|
35
|
+
11. **Generar** checklist de requisitos vacía (`requisitos.md`)
|
|
36
|
+
|
|
37
|
+
## Output
|
|
38
|
+
|
|
39
|
+
### Schema DBML (auto-generado si no existe)
|
|
40
|
+
|
|
41
|
+
```dbml
|
|
42
|
+
// specs/db_schema/usuario.dbml
|
|
43
|
+
// @provisional — Auto-generado por /especdev:especificar
|
|
44
|
+
|
|
45
|
+
Table usuario @provisional {
|
|
46
|
+
id uuid [pk, default: `gen_random_uuid()`]
|
|
47
|
+
email varchar(255) [unique, not null]
|
|
48
|
+
password_hash varchar(255) [not null]
|
|
49
|
+
nombre varchar(100) [not null]
|
|
50
|
+
created_at timestamp [not null, default: `now()`]
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Spec Gherkin
|
|
55
|
+
|
|
56
|
+
```gherkin
|
|
57
|
+
# specs/features/usuario/CrearUsuario.feature
|
|
58
|
+
# Estado: @borrador
|
|
59
|
+
# Rama: feature/crear-usuario
|
|
60
|
+
# Creado: 2026-03-21
|
|
61
|
+
|
|
62
|
+
@borrador
|
|
63
|
+
Feature: Crear Usuario
|
|
64
|
+
Como usuario nuevo
|
|
65
|
+
Quiero registrarme con email y contraseña
|
|
66
|
+
Para poder acceder al sistema
|
|
67
|
+
|
|
68
|
+
## Prioridad P1: Camino Crítico (Must Have)
|
|
69
|
+
|
|
70
|
+
@P1
|
|
71
|
+
Escenario: Registro exitoso
|
|
72
|
+
# Historia: Usuario se registra con datos válidos
|
|
73
|
+
Dado que no existe un usuario con email "test@ejemplo.com"
|
|
74
|
+
Cuando envío una solicitud de registro con:
|
|
75
|
+
| campo | valor |
|
|
76
|
+
| email | test@ejemplo.com |
|
|
77
|
+
| password | MiClave123! |
|
|
78
|
+
| nombre | Test User |
|
|
79
|
+
Entonces el usuario se crea exitosamente
|
|
80
|
+
Y recibo un token de autenticación
|
|
81
|
+
|
|
82
|
+
@P1
|
|
83
|
+
Escenario: Email duplicado
|
|
84
|
+
Dado que existe un usuario con email "test@ejemplo.com"
|
|
85
|
+
Cuando envío una solicitud de registro con email "test@ejemplo.com"
|
|
86
|
+
Entonces la creación debería fallar
|
|
87
|
+
Y el mensaje de error debería indicar "El email ya está registrado"
|
|
88
|
+
|
|
89
|
+
## Prioridad P2: Importante (Should Have)
|
|
90
|
+
|
|
91
|
+
@P2
|
|
92
|
+
Escenario: Campo obligatorio vacío
|
|
93
|
+
Cuando envío una solicitud de registro con:
|
|
94
|
+
| campo | valor |
|
|
95
|
+
| email | test@ejemplo.com |
|
|
96
|
+
| password | MiClave123! |
|
|
97
|
+
| nombre | |
|
|
98
|
+
Entonces la creación debería fallar
|
|
99
|
+
Y el mensaje de error debería indicar "El nombre es obligatorio"
|
|
100
|
+
|
|
101
|
+
@P2
|
|
102
|
+
Escenario: Contraseña débil
|
|
103
|
+
# [NECESITA CLARIFICACIÓN] ¿Cuáles son los requisitos exactos de fortaleza de contraseña?
|
|
104
|
+
Cuando envío una solicitud de registro con:
|
|
105
|
+
| campo | valor |
|
|
106
|
+
| email | test@ejemplo.com |
|
|
107
|
+
| password | 123 |
|
|
108
|
+
| nombre | Test User |
|
|
109
|
+
Entonces la creación debería fallar
|
|
110
|
+
Y el mensaje de error debería indicar "La contraseña no cumple los requisitos"
|
|
111
|
+
|
|
112
|
+
## Prioridad P3+: Deseable (Nice to Have)
|
|
113
|
+
|
|
114
|
+
@P3
|
|
115
|
+
Escenario: Registro con proveedor OAuth
|
|
116
|
+
# [NECESITA CLARIFICACIÓN] ¿Se soporta OAuth? ¿Qué proveedores?
|
|
117
|
+
Dado que el usuario tiene una cuenta de Google
|
|
118
|
+
Cuando inicia registro con Google OAuth
|
|
119
|
+
Entonces el usuario se crea con los datos del proveedor
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Criterios de Éxito
|
|
123
|
+
|
|
124
|
+
Los criterios se incluyen al final del `.feature` como comentarios estructurados:
|
|
125
|
+
|
|
126
|
+
```gherkin
|
|
127
|
+
# === CRITERIOS DE ÉXITO ===
|
|
128
|
+
# Experiencia de Usuario:
|
|
129
|
+
# - El registro se completa en menos de 3 pasos
|
|
130
|
+
# - Los errores de validación son claros y accionables
|
|
131
|
+
# Rendimiento:
|
|
132
|
+
# - El registro responde en < 500ms (p95)
|
|
133
|
+
# Fiabilidad:
|
|
134
|
+
# - 99.9% de los registros válidos se completan exitosamente
|
|
135
|
+
# Negocio:
|
|
136
|
+
# - Tasa de conversión de registro > 60%
|
|
137
|
+
|
|
138
|
+
# === NECESITA CLARIFICACIÓN ===
|
|
139
|
+
# 1. ¿Cuáles son los requisitos de fortaleza de contraseña? (min longitud, caracteres especiales)
|
|
140
|
+
# 2. ¿Se soporta registro con OAuth? ¿Qué proveedores?
|
|
141
|
+
# 3. ¿El email de bienvenida es síncrono o asíncrono?
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Categorización de Prioridades
|
|
145
|
+
|
|
146
|
+
| Prioridad | Significado | Criterio |
|
|
147
|
+
|-----------|-------------|----------|
|
|
148
|
+
| **P1** | Camino Crítico (Must Have) | Sin esto, la feature no funciona |
|
|
149
|
+
| **P2** | Importante (Should Have) | Necesario para calidad de producción |
|
|
150
|
+
| **P3+** | Deseable (Nice to Have) | Mejora la experiencia pero no bloquea |
|
|
151
|
+
|
|
152
|
+
**Regla:** Todo spec DEBE tener al menos 1 escenario P1 (happy path) y 1 escenario P1 (sad path).
|
|
153
|
+
|
|
154
|
+
## Marcadores de Clarificación
|
|
155
|
+
|
|
156
|
+
Usar `[NECESITA CLARIFICACIÓN]` inline cuando:
|
|
157
|
+
- Un requisito es ambiguo
|
|
158
|
+
- Falta información para definir el comportamiento exacto
|
|
159
|
+
- Hay múltiples interpretaciones posibles
|
|
160
|
+
|
|
161
|
+
Estos marcadores se resuelven durante `/especdev:clarificar` y DEBEN estar vacíos antes de avanzar a `/especdev:planificar-tecnico`.
|
|
162
|
+
|
|
163
|
+
## Artefactos Generados
|
|
164
|
+
|
|
165
|
+
| Artefacto | Ruta | Condición |
|
|
166
|
+
|-----------|------|-----------|
|
|
167
|
+
| Schema DBML | `specs/db_schema/<dominio>.dbml` | Solo si no existe |
|
|
168
|
+
| Spec Gherkin | `specs/features/<dominio>/<Feature>.feature` | Siempre |
|
|
169
|
+
| Checklist | `specs/features/<dominio>/requisitos.md` | Siempre (vacía) |
|
|
170
|
+
|
|
171
|
+
## Pipeline Completo
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
/especdev:especificar → .feature + .dbml(@provisional)
|
|
175
|
+
→ /especdev:clarificar → .feature(@lista) + Auto-QA
|
|
176
|
+
→ /especdev:planificar-tecnico → .plan.md (ratifica @provisional)
|
|
177
|
+
→ /especdev:desglosar → .tasks.md
|
|
178
|
+
→ /especdev:implementar → código + tests en Docker
|
|
179
|
+
→ /especdev:revisar → review.md + test-report.html
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Puerta de Calidad
|
|
183
|
+
|
|
184
|
+
Este comando produce el tag `@borrador`. El spec DEBE pasar por `/especdev:clarificar` para obtener el tag `@lista` antes de avanzar a la fase Plan.
|
|
185
|
+
|
|
186
|
+
**Criterios de la Puerta 1 (Completitud de Spec):**
|
|
187
|
+
- Cada prioridad P1 tiene al menos un happy path y un sad path
|
|
188
|
+
- Criterios de éxito definidos (al menos 2 medibles)
|
|
189
|
+
- Todos los marcadores `[NECESITA CLARIFICACIÓN]` identificados (se resuelven en clarificar)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Mostrar el estado actual del proyecto Don Cheli
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:estado
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Mostrar un resumen del estado actual del proyecto según los archivos de `.especdev/`.
|
|
11
|
+
|
|
12
|
+
## Uso
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/especdev:estado
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Comportamiento
|
|
19
|
+
|
|
20
|
+
1. **Leer** `.especdev/config.yaml` — nombre y tipo de proyecto
|
|
21
|
+
2. **Leer** `.especdev/estado.md` — fase actual y progreso
|
|
22
|
+
3. **Leer** `.especdev/plan.md` — fases restantes
|
|
23
|
+
4. **Generar** resumen visual
|
|
24
|
+
|
|
25
|
+
## Output
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
=== Estado del Proyecto ===
|
|
29
|
+
|
|
30
|
+
📋 Proyecto: api-pagos (servicio)
|
|
31
|
+
📍 Fase: 3/7 (Diseño)
|
|
32
|
+
📊 Progreso: 40%
|
|
33
|
+
🕐 Última actualización: 2026-03-21 15:30
|
|
34
|
+
|
|
35
|
+
Tareas pendientes: 5
|
|
36
|
+
Hallazgos: 3 registrados
|
|
37
|
+
Sesiones: 4 completadas
|
|
38
|
+
|
|
39
|
+
Velocidad:
|
|
40
|
+
- Sesiones completadas: 4
|
|
41
|
+
- Duración promedio: 2.5h
|
|
42
|
+
- Fases completadas: 2/7
|
|
43
|
+
- Tiempo restante estimado: ~15h
|
|
44
|
+
|
|
45
|
+
Próximo paso: Completar diseño de base de datos
|
|
46
|
+
```
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generar estimados de desarrollo usando múltiples modelos de estimación
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:estimar
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Generar estimados de desarrollo profesionales usando múltiples modelos de estimación en paralelo, produciendo un rango optimista/esperado/pesimista con análisis de riesgos.
|
|
11
|
+
|
|
12
|
+
## Uso
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/especdev:estimar <prd.md | feature | tarea>
|
|
16
|
+
/especdev:estimar --modelo <puntos-funcion|poker|cocomo|historico>
|
|
17
|
+
/especdev:estimar --formato <resumen|detallado|ejecutivo>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Modelos de Estimación
|
|
21
|
+
|
|
22
|
+
### 1. Puntos de Función
|
|
23
|
+
|
|
24
|
+
Evalúa la complejidad funcional de cada feature:
|
|
25
|
+
|
|
26
|
+
| Componente | Simple | Medio | Complejo |
|
|
27
|
+
|-----------|--------|-------|----------|
|
|
28
|
+
| Entrada externa | 3 PF | 4 PF | 6 PF |
|
|
29
|
+
| Salida externa | 4 PF | 5 PF | 7 PF |
|
|
30
|
+
| Consulta externa | 3 PF | 4 PF | 6 PF |
|
|
31
|
+
| Archivo lógico | 7 PF | 10 PF | 15 PF |
|
|
32
|
+
| Interfaz externa | 5 PF | 7 PF | 10 PF |
|
|
33
|
+
|
|
34
|
+
**Conversión:** PF total × Factor de productividad = Horas estimadas
|
|
35
|
+
|
|
36
|
+
### 2. Planning Poker IA
|
|
37
|
+
|
|
38
|
+
Tres "agentes" independientes estiman la misma tarea:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
Agente Optimista: Asume el mejor escenario, experiencia previa
|
|
42
|
+
Agente Realista: Considera complejidad típica, imprevistos menores
|
|
43
|
+
Agente Pesimista: Incluye riesgos, curva de aprendizaje, dependencias
|
|
44
|
+
|
|
45
|
+
Estimado final = (Optimista + 4×Realista + Pesimista) / 6
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 3. COCOMO Simplificado
|
|
49
|
+
|
|
50
|
+
Basado en líneas de código estimadas:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
Esfuerzo (personas-mes) = a × (KLOC)^b
|
|
54
|
+
|
|
55
|
+
Donde:
|
|
56
|
+
- KLOC = Miles de líneas de código estimadas
|
|
57
|
+
- a, b = Coeficientes según tipo de proyecto
|
|
58
|
+
- Orgánico (simple): a=2.4, b=1.05
|
|
59
|
+
- Semi-empotrado: a=3.0, b=1.12
|
|
60
|
+
- Empotrado (complejo): a=3.6, b=1.20
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 4. Estimación Histórica
|
|
64
|
+
|
|
65
|
+
Compara con tareas similares completadas previamente:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
1. Buscar en .especdev/historial/ tareas similares
|
|
69
|
+
2. Comparar alcance, tecnología, complejidad
|
|
70
|
+
3. Ajustar por diferencias
|
|
71
|
+
4. Aplicar factor de confianza
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Comportamiento
|
|
75
|
+
|
|
76
|
+
1. **Leer** el input (PRD, feature o tarea)
|
|
77
|
+
2. **Desglosar** en componentes estimables
|
|
78
|
+
3. **Aplicar** los 4 modelos de estimación
|
|
79
|
+
4. **Calcular** consenso y rango
|
|
80
|
+
5. **Identificar** riesgos que afectan la estimación
|
|
81
|
+
6. **Generar** documento de estimado
|
|
82
|
+
|
|
83
|
+
## Output
|
|
84
|
+
|
|
85
|
+
Genera archivo `estimado-[fecha].md`:
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
# Estimado de Desarrollo: [Nombre del Proyecto]
|
|
89
|
+
|
|
90
|
+
## Resumen Ejecutivo
|
|
91
|
+
|
|
92
|
+
| Métrica | Valor |
|
|
93
|
+
|---------|-------|
|
|
94
|
+
| **Esfuerzo total** | 15-22 días/persona |
|
|
95
|
+
| **Complejidad** | Media-Alta |
|
|
96
|
+
| **Confianza** | 70% |
|
|
97
|
+
| **Modelo dominante** | Planning Poker IA |
|
|
98
|
+
|
|
99
|
+
## Desglose por Feature
|
|
100
|
+
|
|
101
|
+
| Feature | Optimista | Esperado | Pesimista | Riesgo |
|
|
102
|
+
|---------|-----------|----------|-----------|--------|
|
|
103
|
+
| Autenticación | 3d | 5d | 8d | Medio |
|
|
104
|
+
| API REST | 2d | 3d | 5d | Bajo |
|
|
105
|
+
| Interfaz UI | 5d | 8d | 12d | Alto |
|
|
106
|
+
| Base de datos | 1d | 2d | 3d | Bajo |
|
|
107
|
+
|
|
108
|
+
## Detalle por Modelo
|
|
109
|
+
|
|
110
|
+
### Puntos de Función: 18 días
|
|
111
|
+
### Planning Poker IA: 16 días (consenso)
|
|
112
|
+
### COCOMO: 20 días
|
|
113
|
+
### Histórico: N/A (sin datos previos)
|
|
114
|
+
|
|
115
|
+
## Riesgos que Afectan la Estimación
|
|
116
|
+
|
|
117
|
+
| Riesgo | Probabilidad | Impacto | Mitigación |
|
|
118
|
+
|--------|-------------|---------|------------|
|
|
119
|
+
| API externa | 40% | +3 días | Mockear temprano |
|
|
120
|
+
| Requisitos ambiguos | 30% | +2 días | Clarificar en Fase 1 |
|
|
121
|
+
| Curva aprendizaje | 20% | +2 días | Spike técnico |
|
|
122
|
+
|
|
123
|
+
## Supuestos Clave
|
|
124
|
+
|
|
125
|
+
- Desarrollador con experiencia en la tecnología
|
|
126
|
+
- Requisitos estables durante el desarrollo
|
|
127
|
+
- Infraestructura disponible
|
|
128
|
+
- Sin dependencias externas bloqueantes
|
|
129
|
+
|
|
130
|
+
## Recomendación
|
|
131
|
+
|
|
132
|
+
Usar estimado **esperado** (18 días) con buffer de 20% para imprevistos
|
|
133
|
+
→ **Total recomendado: 22 días/persona**
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Integración
|
|
137
|
+
|
|
138
|
+
- Se puede ejecutar en cualquier fase del proyecto
|
|
139
|
+
- Los estimados se guardan en `.especdev/estimados/`
|
|
140
|
+
- El modelo histórico aprende de estimaciones previas vs. tiempo real
|
|
141
|
+
- Se puede re-estimar cuando cambia el alcance
|