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,264 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Planning semanal de equipo con revisión de RFCs, priorización, asignación por responsable/pareja/squad y seguimiento
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:planning
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Facilitar el planning semanal de un equipo de desarrollo: revisar RFCs pendientes, priorizar trabajo, asignar tareas a responsables individuales, parejas o squads, y generar un plan accionable con compromisos claros.
|
|
11
|
+
|
|
12
|
+
A diferencia de `/especdev:estimar` (esfuerzo por tarea) o `/especdev:debate` (decisiones técnicas), el planning opera a **nivel de equipo y sprint**: qué se hace, quién lo hace, en qué orden, y qué se deja fuera.
|
|
13
|
+
|
|
14
|
+
## Uso
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/especdev:planning # Planning completo (interactivo)
|
|
18
|
+
/especdev:planning --semana "2026-03-24" # Planning para semana específica
|
|
19
|
+
/especdev:planning --equipo "Ana,Carlos,Luis,María" # Definir equipo
|
|
20
|
+
/especdev:planning --capacidad "Ana:4d,Carlos:3d" # Capacidad por persona (días disponibles)
|
|
21
|
+
/especdev:planning --rfcs "RFC-012,RFC-015,RFC-018" # RFCs a revisar
|
|
22
|
+
/especdev:planning --modo revision # Solo revisión de RFCs (sin asignación)
|
|
23
|
+
/especdev:planning --modo asignacion # Solo asignación (RFCs ya priorizados)
|
|
24
|
+
/especdev:planning --modo seguimiento # Revisar avance del planning anterior
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Proceso (4 Fases)
|
|
28
|
+
|
|
29
|
+
### Fase 1: Contexto del equipo
|
|
30
|
+
|
|
31
|
+
Recopilar información del equipo antes de planificar:
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
## Contexto del equipo
|
|
35
|
+
|
|
36
|
+
### Miembros y disponibilidad
|
|
37
|
+
| Miembro | Rol | Disponibilidad | Notas |
|
|
38
|
+
|---------|-----|----------------|-------|
|
|
39
|
+
| Ana | Sr. Backend | 4/5 días | Lunes feriado |
|
|
40
|
+
| Carlos | Sr. Frontend | 5/5 días | — |
|
|
41
|
+
| Luis | Fullstack | 3/5 días | 2 días en soporte rotativo |
|
|
42
|
+
| María | Sr. Backend | 5/5 días | — |
|
|
43
|
+
| Diego | Jr. Frontend | 5/5 días | Necesita mentoring |
|
|
44
|
+
|
|
45
|
+
### Capacidad total del equipo
|
|
46
|
+
- Días disponibles: 22/25 (88%)
|
|
47
|
+
- Factor de foco (reuniones, interrupciones): 0.7
|
|
48
|
+
- **Capacidad efectiva: 15.4 días-persona**
|
|
49
|
+
|
|
50
|
+
### Arrastre de la semana anterior
|
|
51
|
+
- [ ] RFC-010: Migración de auth — 60% completado (María, bloqueo en revisión de seguridad)
|
|
52
|
+
- [x] RFC-011: Endpoint de reportes — completado
|
|
53
|
+
- [ ] BUG-234: Memory leak en worker — pendiente (Luis no tuvo disponibilidad)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Fase 2: Revisión de RFCs
|
|
57
|
+
|
|
58
|
+
Evaluar cada RFC pendiente con criterios estructurados:
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
## Revisión de RFCs
|
|
62
|
+
|
|
63
|
+
### RFC-012: Cache distribuido con Redis
|
|
64
|
+
- **Autor:** María | **Estado:** Aprobado | **Tamaño:** L
|
|
65
|
+
- **Dependencias:** Infra debe provisionar Redis cluster
|
|
66
|
+
- **Riesgo técnico:** Medio (equipo no tiene experiencia con Redis Cluster)
|
|
67
|
+
- **Impacto de negocio:** Alto (reduce latencia de catálogo de 800ms a 200ms)
|
|
68
|
+
- **Deuda técnica:** Baja (solución limpia, bien diseñada)
|
|
69
|
+
- **Veredicto:** ✅ Priorizar esta semana
|
|
70
|
+
|
|
71
|
+
### RFC-015: Migración de Styled Components a Tailwind
|
|
72
|
+
- **Autor:** Carlos | **Estado:** En discusión | **Tamaño:** XL
|
|
73
|
+
- **Dependencias:** Ninguna técnica, pero necesita buy-in del equipo de diseño
|
|
74
|
+
- **Riesgo técnico:** Bajo (migración incremental posible)
|
|
75
|
+
- **Impacto de negocio:** Bajo (mejora DX, no impacta usuario final)
|
|
76
|
+
- **Deuda técnica:** Media (reduce deuda futura pero introduce churn ahora)
|
|
77
|
+
- **Veredicto:** ⏸️ Postergar — no justifica el costo de oportunidad esta semana
|
|
78
|
+
|
|
79
|
+
### RFC-018: API de notificaciones push
|
|
80
|
+
- **Autor:** Ana | **Estado:** Aprobado | **Tamaño:** M
|
|
81
|
+
- **Dependencias:** RFC-012 (necesita Redis para pub/sub)
|
|
82
|
+
- **Riesgo técnico:** Bajo
|
|
83
|
+
- **Impacto de negocio:** Alto (feature pedido por 3 clientes enterprise)
|
|
84
|
+
- **Veredicto:** ✅ Priorizar después de RFC-012
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Fase 3: Priorización y asignación
|
|
88
|
+
|
|
89
|
+
Usar matriz de priorización y asignar por modalidad:
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
## Priorización (Eisenhower + WSJF)
|
|
93
|
+
|
|
94
|
+
| # | Item | Urgente | Importante | WSJF Score | Decisión |
|
|
95
|
+
|---|------|---------|------------|------------|----------|
|
|
96
|
+
| 1 | BUG-234: Memory leak | ✅ | ✅ | — | **Primero** (producción) |
|
|
97
|
+
| 2 | RFC-010: Auth (arrastre) | ✅ | ✅ | 8.5 | **Completar** (WIP) |
|
|
98
|
+
| 3 | RFC-012: Redis cache | ❌ | ✅ | 7.2 | **Esta semana** |
|
|
99
|
+
| 4 | RFC-018: Push notifications | ❌ | ✅ | 6.8 | **Iniciar si hay capacidad** |
|
|
100
|
+
| 5 | RFC-015: Tailwind migration | ❌ | ❌ | 3.1 | **Backlog** |
|
|
101
|
+
|
|
102
|
+
### WSJF (Weighted Shortest Job First)
|
|
103
|
+
Score = (Valor de negocio + Urgencia + Reducción de riesgo) / Tamaño del trabajo
|
|
104
|
+
- Valor: 1-5 | Urgencia: 1-5 | Riesgo: 1-5 | Tamaño: 1-5 (Fibonacci: 1,2,3,5,8)
|
|
105
|
+
|
|
106
|
+
## Asignación
|
|
107
|
+
|
|
108
|
+
### Modalidad: Individual
|
|
109
|
+
Para tareas bien definidas donde una persona puede avanzar sola.
|
|
110
|
+
|
|
111
|
+
| Tarea | Responsable | Estimado | Entregable | Deadline |
|
|
112
|
+
|-------|-------------|----------|------------|----------|
|
|
113
|
+
| BUG-234: Memory leak | Luis | 1d | Fix + test + post-mortem | Lunes |
|
|
114
|
+
| RFC-010: Auth (completar) | María | 2d | PR listo para merge | Miércoles |
|
|
115
|
+
|
|
116
|
+
### Modalidad: Pareja (Pair Programming)
|
|
117
|
+
Para tareas que requieren conocimiento cruzado o mentoring.
|
|
118
|
+
|
|
119
|
+
| Tarea | Pareja | Razón | Estimado | Entregable |
|
|
120
|
+
|-------|--------|-------|----------|------------|
|
|
121
|
+
| RFC-012: Redis cache (setup) | María + Luis | María diseñó el RFC, Luis aprende Redis | 2d | Infra + tests de integración |
|
|
122
|
+
| RFC-012: Redis cache (frontend) | Carlos + Diego | Diego aprende patterns de caching en frontend, Carlos mentora | 1.5d | Cache invalidation UI + tests |
|
|
123
|
+
|
|
124
|
+
### Modalidad: Squad
|
|
125
|
+
Para iniciativas que necesitan esfuerzo coordinado multi-disciplina.
|
|
126
|
+
|
|
127
|
+
| Iniciativa | Squad | Roles | Estimado | Sync |
|
|
128
|
+
|------------|-------|-------|----------|------|
|
|
129
|
+
| RFC-018: Push notifications | Ana (lead) + Carlos + María | Ana: API, Carlos: UI, María: pub/sub | 3d | Daily 15min a las 10:00 |
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Fase 4: Plan semanal consolidado
|
|
133
|
+
|
|
134
|
+
```markdown
|
|
135
|
+
## Plan Semanal: 2026-03-24 → 2026-03-28
|
|
136
|
+
|
|
137
|
+
### Compromisos (lo que prometemos entregar)
|
|
138
|
+
1. ✅ BUG-234 resuelto en producción (Lunes)
|
|
139
|
+
2. ✅ RFC-010: Auth migración completada y mergeada (Miércoles)
|
|
140
|
+
3. ✅ RFC-012: Redis cache funcional en staging (Viernes)
|
|
141
|
+
|
|
142
|
+
### Stretch goals (si hay capacidad)
|
|
143
|
+
4. 🎯 RFC-018: Push notifications — diseño de API + spike de pub/sub
|
|
144
|
+
|
|
145
|
+
### Lo que NO hacemos esta semana (y por qué)
|
|
146
|
+
- RFC-015: Tailwind migration — WSJF bajo, sin urgencia de negocio
|
|
147
|
+
- TECH-089: Upgrade Node 22 — esperamos que el equipo de plataforma publique guía
|
|
148
|
+
|
|
149
|
+
### Riesgos y mitigaciones
|
|
150
|
+
| Riesgo | Probabilidad | Impacto | Mitigación |
|
|
151
|
+
|--------|-------------|---------|------------|
|
|
152
|
+
| Redis provisioning se demora | Media | Alto | María hace spike con Docker local primero |
|
|
153
|
+
| Luis no termina BUG-234 el lunes | Baja | Alto | Ana como backup (conoce el worker) |
|
|
154
|
+
| Revisión de seguridad de auth bloquea a María | Alta | Medio | Escalar a Tech Lead el martes si no hay review |
|
|
155
|
+
|
|
156
|
+
### Ceremonias
|
|
157
|
+
| Ceremonia | Día | Hora | Duración | Quién |
|
|
158
|
+
|-----------|-----|------|----------|-------|
|
|
159
|
+
| Planning (este documento) | Lunes | 09:00 | 45min | Todo el equipo |
|
|
160
|
+
| Daily standup | L-V | 09:30 | 15min | Todo el equipo |
|
|
161
|
+
| RFC-018 sync | M-J | 10:00 | 15min | Squad de push |
|
|
162
|
+
| Demo/Review | Viernes | 16:00 | 30min | Todo el equipo + PM |
|
|
163
|
+
|
|
164
|
+
### Métricas de la semana
|
|
165
|
+
- Capacidad utilizada: 15.4 / 15.4 días-persona (100%)
|
|
166
|
+
- Items comprometidos: 3
|
|
167
|
+
- Stretch: 1
|
|
168
|
+
- Carry-over anterior: 2 (BUG-234, RFC-010)
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Criterios de evaluación de RFCs
|
|
172
|
+
|
|
173
|
+
Al revisar un RFC, evaluar cada dimensión con 1-5:
|
|
174
|
+
|
|
175
|
+
| Dimensión | 1 (Bajo) | 5 (Alto) |
|
|
176
|
+
|-----------|----------|----------|
|
|
177
|
+
| **Impacto de negocio** | Nice-to-have interno | Bloquea revenue o cliente enterprise |
|
|
178
|
+
| **Riesgo técnico** | Tecnología conocida, patrón probado | Stack nuevo, sin experiencia en el equipo |
|
|
179
|
+
| **Tamaño** | < 1 día, 1-2 archivos | > 1 semana, cross-cutting |
|
|
180
|
+
| **Urgencia** | Sin deadline, puede esperar | SLA comprometido o dependencia bloqueante |
|
|
181
|
+
| **Deuda técnica** | Solución limpia | Workaround que acumula deuda |
|
|
182
|
+
|
|
183
|
+
## Reglas del Planning
|
|
184
|
+
|
|
185
|
+
### Regla de capacidad
|
|
186
|
+
**NUNCA planificar al 100% de capacidad.** Factor de foco:
|
|
187
|
+
- Equipo maduro con pocos meetings: **0.8**
|
|
188
|
+
- Equipo promedio: **0.7**
|
|
189
|
+
- Equipo con mucho soporte/on-call: **0.5-0.6**
|
|
190
|
+
|
|
191
|
+
### Regla de WIP
|
|
192
|
+
Máximo **2 items en progreso por persona**. Si alguien tiene 2 tareas activas, no se le asigna una tercera hasta que cierre una.
|
|
193
|
+
|
|
194
|
+
### Regla de arrastre
|
|
195
|
+
Si un item se arrastra **3 semanas consecutivas**, se debe tomar una decisión:
|
|
196
|
+
1. **Replantear**: dividir en partes más pequeñas
|
|
197
|
+
2. **Escalar**: pedir ayuda o más recursos
|
|
198
|
+
3. **Cancelar**: admitir que no es prioridad y sacarlo del backlog
|
|
199
|
+
|
|
200
|
+
### Regla de parejas
|
|
201
|
+
Las parejas DEBEN rotar cada semana. Objetivo: ningún conocimiento queda en una sola persona.
|
|
202
|
+
|
|
203
|
+
### Regla de juniors
|
|
204
|
+
Todo junior DEBE estar asignado en pareja con un senior. Nunca asignar tareas críticas a un junior solo.
|
|
205
|
+
|
|
206
|
+
## Almacenamiento
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
.especdev/
|
|
210
|
+
├── plannings/
|
|
211
|
+
│ ├── 2026-W13.md # Planning semana 13
|
|
212
|
+
│ ├── 2026-W14.md # Planning semana 14
|
|
213
|
+
│ └── _retrospectiva.md # Patrones observados entre plannings
|
|
214
|
+
└── rfcs/
|
|
215
|
+
├── RFC-012.md # RFC individual
|
|
216
|
+
├── RFC-015.md
|
|
217
|
+
└── _indice.md # Índice de todos los RFCs con estado
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## Modos especiales
|
|
221
|
+
|
|
222
|
+
### `--modo revision`
|
|
223
|
+
Solo ejecuta Fases 1 y 2 (contexto + revisión de RFCs). Útil para sesiones de refinamiento mid-week.
|
|
224
|
+
|
|
225
|
+
### `--modo asignacion`
|
|
226
|
+
Solo ejecuta Fases 3 y 4 (priorización + plan). Asume que los RFCs ya fueron revisados.
|
|
227
|
+
|
|
228
|
+
### `--modo seguimiento`
|
|
229
|
+
Lee el planning de la semana actual (`.especdev/plannings/`) y genera reporte de avance:
|
|
230
|
+
```markdown
|
|
231
|
+
## Seguimiento: Semana 2026-W13 (Jueves)
|
|
232
|
+
|
|
233
|
+
### Avance
|
|
234
|
+
| Item | Estado | Progreso | Notas |
|
|
235
|
+
|------|--------|----------|-------|
|
|
236
|
+
| BUG-234 | ✅ Completado | 100% | Mergeado lunes, post-mortem hecho |
|
|
237
|
+
| RFC-010: Auth | 🟡 En progreso | 80% | Review de seguridad pendiente |
|
|
238
|
+
| RFC-012: Redis | 🟢 En progreso | 40% | Setup OK, tests de integración en progreso |
|
|
239
|
+
| RFC-018: Push | ⬜ No iniciado | 0% | Depende de RFC-012, se inicia viernes si hay tiempo |
|
|
240
|
+
|
|
241
|
+
### Alerta
|
|
242
|
+
- RFC-010 lleva 2 semanas de carry-over. Si no se completa esta semana → regla de arrastre.
|
|
243
|
+
- Capacidad real utilizada: 12/15.4 días (78%) — 2 días perdidos en incidente no planificado.
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
## Integración con otros comandos
|
|
247
|
+
|
|
248
|
+
| Comando | Cuándo usarlo junto con planning |
|
|
249
|
+
|---------|----------------------------------|
|
|
250
|
+
| `/especdev:estimar` | Para estimar RFCs grandes antes del planning |
|
|
251
|
+
| `/especdev:debate` | Para resolver desacuerdos técnicos sobre un RFC |
|
|
252
|
+
| `/especdev:mesa-tecnica` | Para profundizar en la implementación de un RFC priorizado |
|
|
253
|
+
| `/especdev:desglosar` | Para dividir un RFC priorizado en tareas TDD |
|
|
254
|
+
| `/especdev:contrato-api` | Para definir interfaces antes de asignar a parejas/squads |
|
|
255
|
+
|
|
256
|
+
## Modelo recomendado
|
|
257
|
+
|
|
258
|
+
| Paso | Modelo | Razón |
|
|
259
|
+
|------|--------|-------|
|
|
260
|
+
| Contexto y capacidad | Haiku | Cálculos y formateo |
|
|
261
|
+
| Revisión de RFCs | Sonnet | Juicio técnico para evaluar riesgo/impacto |
|
|
262
|
+
| Priorización WSJF | Sonnet | Razonamiento sobre trade-offs |
|
|
263
|
+
| Asignación | Haiku | Matcheo persona-tarea según datos |
|
|
264
|
+
| Plan consolidado | Haiku | Formateo y consolidación |
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Modo Prueba de Concepto para validar viabilidad técnica antes de comprometer implementación completa
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:poc
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Iniciar una Prueba de Concepto (PoC) para validar viabilidad técnica, explorar soluciones o demostrar una idea **antes** de comprometer una implementación completa. El PoC tiene reglas relajadas: prioriza velocidad y aprendizaje sobre calidad de producción.
|
|
11
|
+
|
|
12
|
+
## Uso
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/especdev:poc <descripción de lo que se quiere validar>
|
|
16
|
+
/especdev:poc --hipotesis "<lo que quiero demostrar>"
|
|
17
|
+
/especdev:poc --tiempo 2h # Limitar timebox (default: 4h)
|
|
18
|
+
/especdev:poc --graduar # Convertir PoC exitoso en feature real
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Cuándo Usar
|
|
22
|
+
|
|
23
|
+
| Situación | PoC | Rápido | Completo |
|
|
24
|
+
|-----------|-----|--------|----------|
|
|
25
|
+
| "¿Se puede hacer X con esta librería?" | ✅ | | |
|
|
26
|
+
| "¿Este enfoque escala?" | ✅ | | |
|
|
27
|
+
| "Necesito una demo para el stakeholder" | ✅ | | |
|
|
28
|
+
| "Corregir bug en auth" | | ✅ | |
|
|
29
|
+
| "Implementar feature de pagos" | | | ✅ |
|
|
30
|
+
| "¿WebSockets o SSE para real-time?" | ✅ | | |
|
|
31
|
+
| "Migrar de REST a GraphQL, ¿vale la pena?" | ✅ | | |
|
|
32
|
+
|
|
33
|
+
**Regla de oro:** Si la pregunta empieza con "¿se puede...?", "¿funciona...?" o "¿vale la pena...?" → es un PoC.
|
|
34
|
+
|
|
35
|
+
## Diferencias con Modo Rápido y Completo
|
|
36
|
+
|
|
37
|
+
| Aspecto | PoC | Rápido (N1) | Completo (N3) |
|
|
38
|
+
|---------|-----|-------------|---------------|
|
|
39
|
+
| **Objetivo** | Validar viabilidad | Entregar cambio | Entregar feature |
|
|
40
|
+
| **Output** | Aprendizaje + demo | Código de producción | Sistema completo |
|
|
41
|
+
| **TDD** | Opcional (solo tests de validación) | Obligatorio | Obligatorio |
|
|
42
|
+
| **Coverage** | Sin mínimo | ≥85% | ≥85% |
|
|
43
|
+
| **Lint/Types** | Relajado | Obligatorio | Obligatorio |
|
|
44
|
+
| **Docs** | Veredicto + hallazgos | Descripción PR | spec.md + tech.md |
|
|
45
|
+
| **Código** | Desechable (puede no mergearse) | Producción | Producción |
|
|
46
|
+
| **Timebox** | Fijo (default 4h) | Variable | Variable |
|
|
47
|
+
| **Constitución** | Solo Art. VII (Stop-Loss) | Completa | Completa |
|
|
48
|
+
| **Stubs permitidos** | Sí (con marcador) | No | No |
|
|
49
|
+
| **Contrato UI** | No | Si aplica | Si aplica |
|
|
50
|
+
|
|
51
|
+
## Proceso (4 fases)
|
|
52
|
+
|
|
53
|
+
### Fase 1: Hipótesis (10 min)
|
|
54
|
+
|
|
55
|
+
Definir QUÉ se quiere validar y CÓMO se medirá el éxito/fracaso.
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
## PoC: [título]
|
|
59
|
+
|
|
60
|
+
**Hipótesis:** [lo que se quiere demostrar]
|
|
61
|
+
**Criterio de éxito:** [cómo se sabe que funciona]
|
|
62
|
+
**Criterio de fracaso:** [cuándo abandonar]
|
|
63
|
+
**Timebox:** [tiempo máximo, default 4h]
|
|
64
|
+
**Alcance:**
|
|
65
|
+
- Incluido: [qué se construirá]
|
|
66
|
+
- Excluido: [qué NO se construirá]
|
|
67
|
+
|
|
68
|
+
**Preguntas a responder:**
|
|
69
|
+
1. [pregunta técnica 1]
|
|
70
|
+
2. [pregunta técnica 2]
|
|
71
|
+
3. [pregunta técnica 3]
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Ejemplo:**
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
## PoC: WebSockets vs SSE para notificaciones en tiempo real
|
|
78
|
+
|
|
79
|
+
**Hipótesis:** WebSockets ofrece menor latencia que SSE para nuestro caso de uso
|
|
80
|
+
(notificaciones de cambio de estado de pedido, ~100 usuarios concurrentes).
|
|
81
|
+
|
|
82
|
+
**Criterio de éxito:**
|
|
83
|
+
- WebSockets entrega notificaciones en < 50ms
|
|
84
|
+
- Conexión se mantiene estable por > 30 min
|
|
85
|
+
- Funciona detrás de nuestro reverse proxy (nginx)
|
|
86
|
+
|
|
87
|
+
**Criterio de fracaso:**
|
|
88
|
+
- Latencia > 200ms
|
|
89
|
+
- Requiere cambio de infraestructura (nginx no soporta)
|
|
90
|
+
- Complejidad de implementación > 3x vs SSE
|
|
91
|
+
|
|
92
|
+
**Timebox:** 3 horas
|
|
93
|
+
|
|
94
|
+
**Alcance:**
|
|
95
|
+
- Incluido: Servidor WS básico, cliente simple, test de latencia
|
|
96
|
+
- Excluido: Auth, persistencia, UI bonita, reconexión automática
|
|
97
|
+
|
|
98
|
+
**Preguntas a responder:**
|
|
99
|
+
1. ¿Cuál es la latencia real de WS vs SSE en nuestro stack?
|
|
100
|
+
2. ¿nginx necesita configuración especial para WS?
|
|
101
|
+
3. ¿Cuántas conexiones concurrentes aguanta el servidor?
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Fase 2: Construir (80% del tiempo)
|
|
105
|
+
|
|
106
|
+
Reglas relajadas para máxima velocidad:
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
✅ PERMITIDO en PoC:
|
|
110
|
+
- Hardcoded values (API keys en .env, datos mock)
|
|
111
|
+
- Código sin tipos estrictos
|
|
112
|
+
- Sin lint perfecto
|
|
113
|
+
- Console.log como debugging
|
|
114
|
+
- Dependencias sin evaluar alternativas
|
|
115
|
+
- Un solo archivo largo (sin modularizar)
|
|
116
|
+
- Estilos inline
|
|
117
|
+
- Sin manejo de errores exhaustivo
|
|
118
|
+
|
|
119
|
+
❌ PROHIBIDO incluso en PoC:
|
|
120
|
+
- Credenciales en código (usar .env)
|
|
121
|
+
- Cambiar código de producción existente
|
|
122
|
+
- Commitear al branch principal
|
|
123
|
+
- Ignorar el timebox (Stop-Loss aplica)
|
|
124
|
+
- Concluir sin evidencia
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Ubicación del código PoC:**
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
poc/
|
|
131
|
+
├── <nombre-poc>/
|
|
132
|
+
│ ├── README.md # Hipótesis + veredicto
|
|
133
|
+
│ ├── src/ # Código del PoC
|
|
134
|
+
│ ├── resultados/ # Screenshots, benchmarks, logs
|
|
135
|
+
│ └── .env.example # Variables requeridas (sin valores)
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Branch:** `poc/<nombre-poc>` (siempre desde la rama actual, nunca main)
|
|
139
|
+
|
|
140
|
+
### Fase 3: Evaluar (10 min)
|
|
141
|
+
|
|
142
|
+
Contra los criterios definidos en la hipótesis:
|
|
143
|
+
|
|
144
|
+
```markdown
|
|
145
|
+
## Evaluación del PoC
|
|
146
|
+
|
|
147
|
+
### Resultados vs Criterios
|
|
148
|
+
|
|
149
|
+
| Criterio | Resultado | Veredicto |
|
|
150
|
+
|----------|-----------|-----------|
|
|
151
|
+
| Latencia < 50ms | 12ms promedio | ✅ CUMPLE |
|
|
152
|
+
| Estable > 30 min | 45 min sin desconexión | ✅ CUMPLE |
|
|
153
|
+
| Funciona con nginx | Sí, con `proxy_set_header Upgrade` | ✅ CUMPLE |
|
|
154
|
+
|
|
155
|
+
### Preguntas Respondidas
|
|
156
|
+
|
|
157
|
+
1. **Latencia WS vs SSE:** WS = 12ms, SSE = 45ms (WS 3.7x más rápido)
|
|
158
|
+
2. **nginx:** Requiere 3 líneas de config adicional (documentado)
|
|
159
|
+
3. **Conexiones:** Servidor aguanta ~500 concurrentes con 256MB RAM
|
|
160
|
+
|
|
161
|
+
### Hallazgos Inesperados
|
|
162
|
+
- La librería `ws` tiene memory leak conocido en v8.16 (usar v8.17+)
|
|
163
|
+
- SSE no funciona con HTTP/2 en nuestro setup actual
|
|
164
|
+
|
|
165
|
+
### Evidencia
|
|
166
|
+
- Benchmark: resultados/benchmark.json
|
|
167
|
+
- Screenshot: resultados/latency-chart.png
|
|
168
|
+
- Logs: resultados/stress-test.log
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Fase 4: Veredicto (5 min)
|
|
172
|
+
|
|
173
|
+
Uno de 4 resultados posibles:
|
|
174
|
+
|
|
175
|
+
```markdown
|
|
176
|
+
## Veredicto: ✅ VIABLE — Proceder con implementación
|
|
177
|
+
|
|
178
|
+
**Recomendación:** Usar WebSockets para notificaciones real-time.
|
|
179
|
+
**Próximo paso:** /especdev:comenzar Implementar notificaciones real-time con WebSockets
|
|
180
|
+
**Hallazgos a preservar:**
|
|
181
|
+
- Config nginx necesaria → guardar en hallazgos.md
|
|
182
|
+
- Usar ws@8.17+ (no 8.16) → guardar en hallazgos.md
|
|
183
|
+
- Benchmark como referencia → guardar en resultados/
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
| Veredicto | Significado | Acción |
|
|
187
|
+
|-----------|-------------|--------|
|
|
188
|
+
| ✅ **VIABLE** | Hipótesis confirmada, criterios cumplidos | Graduar a feature con `/especdev:poc --graduar` |
|
|
189
|
+
| ⚠️ **VIABLE CON RESERVAS** | Funciona pero con limitaciones | Documentar limitaciones, decidir si proceder |
|
|
190
|
+
| ❌ **NO VIABLE** | Hipótesis refutada | Documentar por qué, explorar alternativas |
|
|
191
|
+
| 🔄 **INCONCLUSO** | Timebox agotado sin evidencia suficiente | Extender timebox o reformular hipótesis |
|
|
192
|
+
|
|
193
|
+
## Graduación de PoC a Feature
|
|
194
|
+
|
|
195
|
+
Cuando un PoC es VIABLE, se puede graduar a una feature real:
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
/especdev:poc --graduar
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Flujo de Graduación
|
|
202
|
+
|
|
203
|
+
```
|
|
204
|
+
PoC VIABLE
|
|
205
|
+
│
|
|
206
|
+
├── 1. Extraer hallazgos → .especdev/hallazgos.md
|
|
207
|
+
├── 2. Extraer decisiones técnicas → .especdev/memoria/decisiones.md
|
|
208
|
+
├── 3. Crear propuesta desde PoC → /especdev:proponer (auto-generada)
|
|
209
|
+
├── 4. Iniciar pipeline completo → /especdev:comenzar
|
|
210
|
+
│ (con contexto del PoC como input)
|
|
211
|
+
└── 5. Archivar código PoC → poc/_archivo/<nombre>/
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**Importante:** El código del PoC **NO se reutiliza** directamente. Se reescribe con calidad de producción siguiendo el pipeline completo (TDD, constitución, puertas de calidad). El PoC informa las decisiones, no el código.
|
|
215
|
+
|
|
216
|
+
## Timebox y Stop-Loss
|
|
217
|
+
|
|
218
|
+
| Timebox | Acción |
|
|
219
|
+
|---------|--------|
|
|
220
|
+
| 50% del tiempo | Checkpoint: ¿avanzando hacia la respuesta? |
|
|
221
|
+
| 75% del tiempo | Warning: empezar a consolidar hallazgos |
|
|
222
|
+
| 100% del tiempo | ⛔ PARAR. Evaluar con lo que hay |
|
|
223
|
+
| >100% (extendido) | Solo si el usuario lo autoriza explícitamente |
|
|
224
|
+
|
|
225
|
+
**Regla:** Un PoC que no da respuesta en el timebox es un PoC mal definido, no un PoC que necesita más tiempo.
|
|
226
|
+
|
|
227
|
+
## Integración con Pipeline
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
/especdev:poc → hipótesis + código + veredicto
|
|
231
|
+
├── ✅ VIABLE → /especdev:poc --graduar → /especdev:proponer → pipeline normal
|
|
232
|
+
├── ⚠️ CON RESERVAS → documentar → decisión del usuario
|
|
233
|
+
├── ❌ NO VIABLE → documentar → explorar alternativa
|
|
234
|
+
└── 🔄 INCONCLUSO → reformular hipótesis → nuevo PoC
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Almacenamiento
|
|
238
|
+
|
|
239
|
+
```
|
|
240
|
+
poc/
|
|
241
|
+
├── websockets-vs-sse/
|
|
242
|
+
│ ├── README.md # Hipótesis + veredicto
|
|
243
|
+
│ ├── src/ # Código PoC
|
|
244
|
+
│ └── resultados/ # Evidencia
|
|
245
|
+
├── graphql-migration/
|
|
246
|
+
│ ├── README.md
|
|
247
|
+
│ ├── src/
|
|
248
|
+
│ └── resultados/
|
|
249
|
+
└── _archivo/ # PoCs graduados o descartados
|
|
250
|
+
└── auth-biometrica/
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## Ejemplo Completo
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
/especdev:poc --hipotesis "Podemos usar SQLite en vez de PostgreSQL para el MVP"
|
|
257
|
+
|
|
258
|
+
=== PoC: SQLite para MVP ===
|
|
259
|
+
|
|
260
|
+
📋 Fase 1: Hipótesis (2 min)
|
|
261
|
+
Hipótesis: SQLite es suficiente para MVP (< 100 usuarios, < 10K registros)
|
|
262
|
+
Criterio de éxito: CRUD funciona, queries < 10ms, datos persisten
|
|
263
|
+
Criterio de fracaso: Concurrencia falla, queries > 100ms
|
|
264
|
+
Timebox: 2 horas
|
|
265
|
+
|
|
266
|
+
🔨 Fase 2: Construir (1h 40min)
|
|
267
|
+
✅ Setup SQLite con Prisma
|
|
268
|
+
✅ Migración de schema existente
|
|
269
|
+
✅ CRUD básico funcionando
|
|
270
|
+
✅ Test de concurrencia (10 escrituras paralelas)
|
|
271
|
+
|
|
272
|
+
📊 Fase 3: Evaluar (10 min)
|
|
273
|
+
✅ CRUD: funciona idéntico a PostgreSQL
|
|
274
|
+
✅ Queries: 2-5ms (vs 5-15ms en PG local)
|
|
275
|
+
⚠️ Concurrencia: WAL mode soporta 10 escrituras paralelas
|
|
276
|
+
❌ Limitación: Sin full-text search nativo
|
|
277
|
+
|
|
278
|
+
📝 Fase 4: Veredicto
|
|
279
|
+
⚠️ VIABLE CON RESERVAS
|
|
280
|
+
- Funciona para MVP si no necesitamos full-text search
|
|
281
|
+
- Migrar a PostgreSQL será necesario antes de escalar
|
|
282
|
+
- Recomendación: usar SQLite para MVP, planear migración para v2
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
## Modelo Recomendado
|
|
286
|
+
|
|
287
|
+
| Paso | Modelo | Razón |
|
|
288
|
+
|------|--------|-------|
|
|
289
|
+
| Hipótesis | Haiku | Solo estructurar la pregunta |
|
|
290
|
+
| Construir | Sonnet | Código funcional rápido |
|
|
291
|
+
| Evaluar | Haiku | Comparar contra criterios |
|
|
292
|
+
| Veredicto | Haiku | Resumir resultados |
|
|
293
|
+
|
|
294
|
+
## Guardrails
|
|
295
|
+
|
|
296
|
+
- **Nunca** commitear al branch principal
|
|
297
|
+
- **Nunca** modificar código de producción existente
|
|
298
|
+
- **Nunca** exceder el timebox sin autorización explícita
|
|
299
|
+
- **Nunca** reutilizar código PoC directamente en producción (graduar primero)
|
|
300
|
+
- **Siempre** definir hipótesis y criterios ANTES de construir
|
|
301
|
+
- **Siempre** documentar el veredicto con evidencia
|
|
302
|
+
- **Siempre** archivar PoCs completados (no dejar código abandonado)
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generar presentación interactiva HTML desde contenido del proyecto
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:presentar
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Generar presentaciones interactivas como archivos HTML autocontenidos — sin PowerPoint, sin Figma, sin dependencias externas.
|
|
11
|
+
|
|
12
|
+
## Uso
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/especdev:presentar <tema o descripción>
|
|
16
|
+
/especdev:presentar --tema "bold-signal"
|
|
17
|
+
/especdev:presentar --desde pptx input.pptx
|
|
18
|
+
/especdev:presentar --actualizar docs/presentacion/mi-presentacion.html
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Parámetros
|
|
22
|
+
|
|
23
|
+
| Parámetro | Descripción | Default |
|
|
24
|
+
|-----------|-------------|---------|
|
|
25
|
+
| `<tema>` | Descripción del contenido a presentar | — |
|
|
26
|
+
| `--tema` | Tema visual (ver tabla abajo) | `bold-signal` |
|
|
27
|
+
| `--desde` | Formato de entrada (`pptx`, `md`, `texto`) | — |
|
|
28
|
+
| `--actualizar` | Ruta a presentación existente para actualizar | — |
|
|
29
|
+
| `--slides` | Número máximo de slides | `10` |
|
|
30
|
+
|
|
31
|
+
## Temas Disponibles
|
|
32
|
+
|
|
33
|
+
| Tema | Estilo | Ideal para |
|
|
34
|
+
|------|--------|-----------|
|
|
35
|
+
| `bold-signal` | Dark, alto contraste, acentos vibrantes | Demos técnicas |
|
|
36
|
+
| `electric-studio` | Dark, profesional, minimalista | Pitches |
|
|
37
|
+
| `neon-cyber` | Dark, futurista, cyan/magenta | Devtools |
|
|
38
|
+
| `terminal-green` | Dark, hacker, monospace | Conferencias dev |
|
|
39
|
+
| `notebook-tabs` | Light, editorial, tabs de color | Workshops |
|
|
40
|
+
| `pastel-geometry` | Light, amigable, redondeado | Onboarding |
|
|
41
|
+
| `swiss-modern` | Bauhaus, geométrico, precisión | Arquitectura |
|
|
42
|
+
|
|
43
|
+
## Tecnología
|
|
44
|
+
|
|
45
|
+
- HTML5/CSS3/JavaScript puro (sin frameworks)
|
|
46
|
+
- Un solo archivo `.html` autocontenido
|
|
47
|
+
- Navegación: flechas, espacio, scroll, swipe
|
|
48
|
+
- Animaciones con Intersection Observer
|
|
49
|
+
- Responsive con `clamp()` para todos los tamaños
|
|
50
|
+
|
|
51
|
+
## Proceso
|
|
52
|
+
|
|
53
|
+
1. **Analizar contenido** — Leer el tema/archivo de entrada
|
|
54
|
+
2. **Estructurar slides** — Dividir en secciones lógicas (máx. ~15 slides)
|
|
55
|
+
3. **Aplicar tema** — Usar el tema visual seleccionado
|
|
56
|
+
4. **Generar HTML** — Archivo autocontenido con CSS + JS inline
|
|
57
|
+
5. **Verificar** — Cada slide cabe en 100vh, sin scroll interno
|
|
58
|
+
|
|
59
|
+
## Guardrails
|
|
60
|
+
|
|
61
|
+
- Cada slide debe caber en 100vh (sin scroll interno)
|
|
62
|
+
- Imágenes con max-height relativo al viewport
|
|
63
|
+
- Máximo ~15 slides para mantener engagement
|
|
64
|
+
- Google Fonts vía CDN (Inter + JetBrains Mono por defecto)
|
|
65
|
+
- Fuentes, colores y estilos consistentes con el tema elegido
|
|
66
|
+
|
|
67
|
+
## Habilidad Asociada
|
|
68
|
+
|
|
69
|
+
Lee `habilidades/presentaciones/HABILIDAD.md` para la referencia técnica completa.
|
|
70
|
+
|
|
71
|
+
## Ejemplo
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
/especdev:presentar "Demo de Don Cheli para conferencia de devs" --tema terminal-green --slides 12
|
|
75
|
+
```
|