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.
Files changed (351) hide show
  1. package/AGENTS.md +33 -0
  2. package/CHANGELOG.md +108 -0
  3. package/CLAUDE.md +114 -0
  4. package/LICENSE +190 -0
  5. package/README.es.md +611 -0
  6. package/README.md +640 -0
  7. package/README.pt.md +579 -0
  8. package/VERSION +1 -0
  9. package/agentes/README.md +28 -0
  10. package/agentes/prompts/estimador.md +29 -0
  11. package/comandos/bucle-completar.md +13 -0
  12. package/comandos/bucle-estado.md +13 -0
  13. package/comandos/bucle.md +74 -0
  14. package/comandos/especdev/actualizar.md +200 -0
  15. package/comandos/especdev/agente.md +43 -0
  16. package/comandos/especdev/analizar-sesiones.md +158 -0
  17. package/comandos/especdev/aplicar.md +73 -0
  18. package/comandos/especdev/archivar.md +69 -0
  19. package/comandos/especdev/auditar-seguridad.md +234 -0
  20. package/comandos/especdev/auditar.md +15 -0
  21. package/comandos/especdev/avance-rapido.md +64 -0
  22. package/comandos/especdev/cambios.md +14 -0
  23. package/comandos/especdev/capturar.md +61 -0
  24. package/comandos/especdev/cerrar-sesion.md +88 -0
  25. package/comandos/especdev/clarificar.md +98 -0
  26. package/comandos/especdev/comenzar.md +105 -0
  27. package/comandos/especdev/completo.md +49 -0
  28. package/comandos/especdev/continuar.md +59 -0
  29. package/comandos/especdev/contrato-api.md +223 -0
  30. package/comandos/especdev/contrato-ui.md +245 -0
  31. package/comandos/especdev/crear-skill.md +148 -0
  32. package/comandos/especdev/debate.md +119 -0
  33. package/comandos/especdev/desglosar.md +172 -0
  34. package/comandos/especdev/destilar.md +211 -0
  35. package/comandos/especdev/detectar-ambiguedad.md +81 -0
  36. package/comandos/especdev/diagnostico.md +92 -0
  37. package/comandos/especdev/dise/303/261ar.md +74 -0
  38. package/comandos/especdev/doctor.md +78 -0
  39. package/comandos/especdev/donde-estoy.md +32 -0
  40. package/comandos/especdev/especificar.md +189 -0
  41. package/comandos/especdev/estado.md +46 -0
  42. package/comandos/especdev/estimar.md +141 -0
  43. package/comandos/especdev/explorar.md +175 -0
  44. package/comandos/especdev/guardian.md +99 -0
  45. package/comandos/especdev/historial.md +14 -0
  46. package/comandos/especdev/implementar.md +227 -0
  47. package/comandos/especdev/incorporar.md +71 -0
  48. package/comandos/especdev/iniciar.md +82 -0
  49. package/comandos/especdev/limpiar-slop.md +88 -0
  50. package/comandos/especdev/marketplace.md +109 -0
  51. package/comandos/especdev/memorizar.md +31 -0
  52. package/comandos/especdev/mesa-redonda.md +60 -0
  53. package/comandos/especdev/mesa-tecnica.md +144 -0
  54. package/comandos/especdev/migrar.md +237 -0
  55. package/comandos/especdev/minar-referencias.md +214 -0
  56. package/comandos/especdev/planificar-tecnico.md +186 -0
  57. package/comandos/especdev/planning.md +264 -0
  58. package/comandos/especdev/poc.md +302 -0
  59. package/comandos/especdev/presentar.md +75 -0
  60. package/comandos/especdev/proponer.md +69 -0
  61. package/comandos/especdev/pseudocodigo.md +49 -0
  62. package/comandos/especdev/rapido.md +69 -0
  63. package/comandos/especdev/reflexionar.md +53 -0
  64. package/comandos/especdev/retro.md +14 -0
  65. package/comandos/especdev/reversa.md +155 -0
  66. package/comandos/especdev/revisar.md +231 -0
  67. package/comandos/especdev/traspasar.md +76 -0
  68. package/comandos/especdev/traspaso.md +43 -0
  69. package/comandos/especdev/uat.md +84 -0
  70. package/comandos/especdev/validar-spec.md +58 -0
  71. package/comandos/especdev/validar.md +40 -0
  72. package/comandos/historias-generar.md +74 -0
  73. package/comandos/razonar/5-porques.md +42 -0
  74. package/comandos/razonar/circulo-competencia.md +22 -0
  75. package/comandos/razonar/costo-oportunidad.md +21 -0
  76. package/comandos/razonar/inversion.md +40 -0
  77. package/comandos/razonar/mapa-territorio.md +22 -0
  78. package/comandos/razonar/minimizar-arrepentimiento.md +20 -0
  79. package/comandos/razonar/pareto.md +32 -0
  80. package/comandos/razonar/pre-mortem.md +22 -0
  81. package/comandos/razonar/primeros-principios.md +57 -0
  82. package/comandos/razonar/probabilistico.md +21 -0
  83. package/comandos/razonar/reversibilidad.md +27 -0
  84. package/comandos/razonar/rlm-cadena-pensamiento.md +189 -0
  85. package/comandos/razonar/rlm-descomposicion.md +216 -0
  86. package/comandos/razonar/rlm-verificacion.md +169 -0
  87. package/comandos/razonar/segundo-orden.md +35 -0
  88. package/ganchos/parar.md +10 -0
  89. package/ganchos/post-herramienta.md +9 -0
  90. package/ganchos/pre-herramienta.md +19 -0
  91. package/habilidades/arnes-agente/HABILIDAD.md +164 -0
  92. package/habilidades/auto-correccion/HABILIDAD.md +114 -0
  93. package/habilidades/brainstorming/HABILIDAD.md +88 -0
  94. package/habilidades/cambio-carpeta/HABILIDAD.md +100 -0
  95. package/habilidades/code-rag/HABILIDAD.md +306 -0
  96. package/habilidades/contabilidad-tokens/HABILIDAD.md +109 -0
  97. package/habilidades/delta-specs/HABILIDAD.md +102 -0
  98. package/habilidades/desarrollo-subagentes/HABILIDAD.md +51 -0
  99. package/habilidades/deteccion-loops/HABILIDAD.md +168 -0
  100. package/habilidades/deteccion-stubs/HABILIDAD.md +204 -0
  101. package/habilidades/devlog/HABILIDAD.md +84 -0
  102. package/habilidades/documentacion-viva/HABILIDAD.md +231 -0
  103. package/habilidades/estimacion/HABILIDAD.md +48 -0
  104. package/habilidades/extensiones-presets/HABILIDAD.md +133 -0
  105. package/habilidades/generador-specs/HABILIDAD.md +37 -0
  106. package/habilidades/ingenieria-contexto/HABILIDAD.md +34 -0
  107. package/habilidades/integracion-mcp/HABILIDAD.md +59 -0
  108. package/habilidades/leyes-hierro/HABILIDAD.md +45 -0
  109. package/habilidades/mapa-arquitectonico/HABILIDAD.md +93 -0
  110. package/habilidades/memoria-persistente/HABILIDAD.md +97 -0
  111. package/habilidades/obsidian/HABILIDAD.md +93 -0
  112. package/habilidades/optimizacion-tokens/HABILIDAD.md +179 -0
  113. package/habilidades/optimizador-contexto/HABILIDAD.md +106 -0
  114. package/habilidades/orquestacion-autonoma/HABILIDAD.md +133 -0
  115. package/habilidades/permisos-seguridad/HABILIDAD.md +76 -0
  116. package/habilidades/persona/HABILIDAD.md +66 -0
  117. package/habilidades/planning-equipo/HABILIDAD.md +169 -0
  118. package/habilidades/presentaciones/HABILIDAD.md +63 -0
  119. package/habilidades/proyecciones-costo/HABILIDAD.md +54 -0
  120. package/habilidades/prueba-trabajo/HABILIDAD.md +131 -0
  121. package/habilidades/razonamiento/HABILIDAD.md +69 -0
  122. package/habilidades/recuperacion-sesion/HABILIDAD.md +27 -0
  123. package/habilidades/refactorizacion-solid/HABILIDAD.md +182 -0
  124. package/habilidades/reflexion/HABILIDAD.md +37 -0
  125. package/habilidades/rigor-progresivo/HABILIDAD.md +109 -0
  126. package/habilidades/rlm/HABILIDAD.md +85 -0
  127. package/habilidades/routing-modelos/HABILIDAD.md +79 -0
  128. package/habilidades/salud-habilidades/HABILIDAD.md +63 -0
  129. package/habilidades/schemas-dbml/HABILIDAD.md +101 -0
  130. package/habilidades/trazabilidad/HABILIDAD.md +63 -0
  131. package/habilidades/ui-ux-design/HABILIDAD.md +76 -0
  132. package/habilidades/validacion-nyquist/HABILIDAD.md +161 -0
  133. package/habilidades/worktrees/HABILIDAD.md +80 -0
  134. package/locales/en.json +179 -0
  135. package/locales/es.json +179 -0
  136. package/locales/pt.json +179 -0
  137. package/package.json +48 -0
  138. package/plantillas/checklist-requisitos.md +31 -0
  139. package/plantillas/docker/Dockerfile +16 -0
  140. package/plantillas/docker/docker-compose.yml +28 -0
  141. package/plantillas/especdev/WORKFLOW.md +118 -0
  142. package/plantillas/especdev/config.yaml +27 -0
  143. package/plantillas/especdev/en/config.yaml +27 -0
  144. package/plantillas/especdev/en/decisions.md +17 -0
  145. package/plantillas/especdev/en/deferred-work.md +17 -0
  146. package/plantillas/especdev/en/findings.md +7 -0
  147. package/plantillas/especdev/en/knowledge.md +19 -0
  148. package/plantillas/especdev/en/plan.md +35 -0
  149. package/plantillas/especdev/en/progress.md +7 -0
  150. package/plantillas/especdev/en/project-constitution.md +53 -0
  151. package/plantillas/especdev/en/pseudocode.md +35 -0
  152. package/plantillas/especdev/en/runtime.md +26 -0
  153. package/plantillas/especdev/en/status.md +16 -0
  154. package/plantillas/especdev/es/config.yaml +27 -0
  155. package/plantillas/especdev/es/conocimiento.md +19 -0
  156. package/plantillas/especdev/es/constitucion-proyecto.md +53 -0
  157. package/plantillas/especdev/es/decisiones.md +17 -0
  158. package/plantillas/especdev/es/deuda-scope.md +17 -0
  159. package/plantillas/especdev/es/estado.md +16 -0
  160. package/plantillas/especdev/es/hallazgos.md +7 -0
  161. package/plantillas/especdev/es/plan.md +35 -0
  162. package/plantillas/especdev/es/progreso.md +7 -0
  163. package/plantillas/especdev/es/pseudocodigo.md +35 -0
  164. package/plantillas/especdev/es/runtime.md +26 -0
  165. package/plantillas/especdev/estado.md +16 -0
  166. package/plantillas/especdev/hallazgos.md +7 -0
  167. package/plantillas/especdev/isa.yml +152 -0
  168. package/plantillas/especdev/plan.md +35 -0
  169. package/plantillas/especdev/progreso.md +7 -0
  170. package/plantillas/especdev/pt/config.yaml +27 -0
  171. package/plantillas/especdev/pt/conhecimento.md +19 -0
  172. package/plantillas/especdev/pt/constituicao-projeto.md +53 -0
  173. package/plantillas/especdev/pt/decisoes.md +17 -0
  174. package/plantillas/especdev/pt/descobertas.md +7 -0
  175. package/plantillas/especdev/pt/estado.md +16 -0
  176. package/plantillas/especdev/pt/plano.md +35 -0
  177. package/plantillas/especdev/pt/progresso.md +7 -0
  178. package/plantillas/especdev/pt/pseudocodigo.md +35 -0
  179. package/plantillas/especdev/pt/runtime.md +26 -0
  180. package/plantillas/especdev/pt/trabalho-diferido.md +17 -0
  181. package/plantillas/estimado-desarrollo.md +43 -0
  182. package/prompt.md +16 -0
  183. package/reglas/constitucion.md +122 -0
  184. package/reglas/hooks-parar.md +102 -0
  185. package/reglas/i18n.md +47 -0
  186. package/reglas/leyes-hierro.md +18 -0
  187. package/reglas/puertas-calidad.md +87 -0
  188. package/reglas/reglas-desviacion.md +36 -0
  189. package/reglas/reglas-trabajo-globales.md +171 -0
  190. package/reglas/skills-best-practices.md +109 -0
  191. package/scripts/.claude/commands/bucle-completar.md +13 -0
  192. package/scripts/.claude/commands/bucle-estado.md +13 -0
  193. package/scripts/.claude/commands/bucle.md +74 -0
  194. package/scripts/.claude/commands/especdev/actualizar.md +200 -0
  195. package/scripts/.claude/commands/especdev/agente.md +43 -0
  196. package/scripts/.claude/commands/especdev/analizar-sesiones.md +158 -0
  197. package/scripts/.claude/commands/especdev/aplicar.md +73 -0
  198. package/scripts/.claude/commands/especdev/archivar.md +69 -0
  199. package/scripts/.claude/commands/especdev/auditar-seguridad.md +234 -0
  200. package/scripts/.claude/commands/especdev/auditar.md +15 -0
  201. package/scripts/.claude/commands/especdev/avance-rapido.md +64 -0
  202. package/scripts/.claude/commands/especdev/cambios.md +14 -0
  203. package/scripts/.claude/commands/especdev/cerrar-sesion.md +88 -0
  204. package/scripts/.claude/commands/especdev/clarificar.md +98 -0
  205. package/scripts/.claude/commands/especdev/comenzar.md +77 -0
  206. package/scripts/.claude/commands/especdev/completo.md +49 -0
  207. package/scripts/.claude/commands/especdev/continuar.md +59 -0
  208. package/scripts/.claude/commands/especdev/contrato-api.md +223 -0
  209. package/scripts/.claude/commands/especdev/contrato-ui.md +245 -0
  210. package/scripts/.claude/commands/especdev/desglosar.md +172 -0
  211. package/scripts/.claude/commands/especdev/destilar.md +211 -0
  212. package/scripts/.claude/commands/especdev/detectar-ambiguedad.md +81 -0
  213. package/scripts/.claude/commands/especdev/diagnostico.md +92 -0
  214. package/scripts/.claude/commands/especdev/dise/303/261ar.md +74 -0
  215. package/scripts/.claude/commands/especdev/donde-estoy.md +32 -0
  216. package/scripts/.claude/commands/especdev/especificar.md +189 -0
  217. package/scripts/.claude/commands/especdev/estado.md +46 -0
  218. package/scripts/.claude/commands/especdev/estimar.md +141 -0
  219. package/scripts/.claude/commands/especdev/explorar.md +175 -0
  220. package/scripts/.claude/commands/especdev/guardian.md +99 -0
  221. package/scripts/.claude/commands/especdev/historial.md +14 -0
  222. package/scripts/.claude/commands/especdev/implementar.md +227 -0
  223. package/scripts/.claude/commands/especdev/incorporar.md +71 -0
  224. package/scripts/.claude/commands/especdev/iniciar.md +82 -0
  225. package/scripts/.claude/commands/especdev/limpiar-slop.md +88 -0
  226. package/scripts/.claude/commands/especdev/memorizar.md +31 -0
  227. package/scripts/.claude/commands/especdev/mesa-redonda.md +60 -0
  228. package/scripts/.claude/commands/especdev/mesa-tecnica.md +144 -0
  229. package/scripts/.claude/commands/especdev/migrar.md +237 -0
  230. package/scripts/.claude/commands/especdev/minar-referencias.md +214 -0
  231. package/scripts/.claude/commands/especdev/planificar-tecnico.md +186 -0
  232. package/scripts/.claude/commands/especdev/planning.md +264 -0
  233. package/scripts/.claude/commands/especdev/poc.md +302 -0
  234. package/scripts/.claude/commands/especdev/proponer.md +69 -0
  235. package/scripts/.claude/commands/especdev/rapido.md +69 -0
  236. package/scripts/.claude/commands/especdev/reflexionar.md +53 -0
  237. package/scripts/.claude/commands/especdev/retro.md +14 -0
  238. package/scripts/.claude/commands/especdev/reversa.md +155 -0
  239. package/scripts/.claude/commands/especdev/revisar.md +221 -0
  240. package/scripts/.claude/commands/especdev/traspasar.md +76 -0
  241. package/scripts/.claude/commands/especdev/traspaso.md +43 -0
  242. package/scripts/.claude/commands/especdev/validar.md +40 -0
  243. package/scripts/.claude/commands/historias-generar.md +74 -0
  244. package/scripts/.claude/commands/razonar/5-porques.md +42 -0
  245. package/scripts/.claude/commands/razonar/circulo-competencia.md +22 -0
  246. package/scripts/.claude/commands/razonar/costo-oportunidad.md +21 -0
  247. package/scripts/.claude/commands/razonar/inversion.md +40 -0
  248. package/scripts/.claude/commands/razonar/mapa-territorio.md +22 -0
  249. package/scripts/.claude/commands/razonar/minimizar-arrepentimiento.md +20 -0
  250. package/scripts/.claude/commands/razonar/pareto.md +32 -0
  251. package/scripts/.claude/commands/razonar/pre-mortem.md +22 -0
  252. package/scripts/.claude/commands/razonar/primeros-principios.md +57 -0
  253. package/scripts/.claude/commands/razonar/probabilistico.md +21 -0
  254. package/scripts/.claude/commands/razonar/reversibilidad.md +27 -0
  255. package/scripts/.claude/commands/razonar/rlm-cadena-pensamiento.md +189 -0
  256. package/scripts/.claude/commands/razonar/rlm-descomposicion.md +216 -0
  257. package/scripts/.claude/commands/razonar/rlm-verificacion.md +169 -0
  258. package/scripts/.claude/commands/razonar/segundo-orden.md +35 -0
  259. package/scripts/.claude/don-cheli/AGENTS.md +20 -0
  260. package/scripts/.claude/don-cheli/CLAUDE.md +114 -0
  261. package/scripts/.claude/don-cheli/NOTICE +17 -0
  262. package/scripts/.claude/don-cheli/VERSION +1 -0
  263. package/scripts/.claude/don-cheli/agentes/README.md +28 -0
  264. package/scripts/.claude/don-cheli/agentes/prompts/estimador.md +29 -0
  265. package/scripts/.claude/don-cheli/folder-map.json +19 -0
  266. package/scripts/.claude/don-cheli/ganchos/parar.md +10 -0
  267. package/scripts/.claude/don-cheli/ganchos/post-herramienta.md +9 -0
  268. package/scripts/.claude/don-cheli/ganchos/pre-herramienta.md +19 -0
  269. package/scripts/.claude/don-cheli/habilidades/arnes-agente/HABILIDAD.md +155 -0
  270. package/scripts/.claude/don-cheli/habilidades/auto-correccion/HABILIDAD.md +105 -0
  271. package/scripts/.claude/don-cheli/habilidades/brainstorming/HABILIDAD.md +79 -0
  272. package/scripts/.claude/don-cheli/habilidades/cambio-carpeta/HABILIDAD.md +91 -0
  273. package/scripts/.claude/don-cheli/habilidades/code-rag/HABILIDAD.md +297 -0
  274. package/scripts/.claude/don-cheli/habilidades/contabilidad-tokens/HABILIDAD.md +100 -0
  275. package/scripts/.claude/don-cheli/habilidades/delta-specs/HABILIDAD.md +93 -0
  276. package/scripts/.claude/don-cheli/habilidades/desarrollo-subagentes/HABILIDAD.md +42 -0
  277. package/scripts/.claude/don-cheli/habilidades/deteccion-loops/HABILIDAD.md +159 -0
  278. package/scripts/.claude/don-cheli/habilidades/deteccion-stubs/HABILIDAD.md +195 -0
  279. package/scripts/.claude/don-cheli/habilidades/devlog/HABILIDAD.md +75 -0
  280. package/scripts/.claude/don-cheli/habilidades/documentacion-viva/HABILIDAD.md +222 -0
  281. package/scripts/.claude/don-cheli/habilidades/estimacion/HABILIDAD.md +39 -0
  282. package/scripts/.claude/don-cheli/habilidades/extensiones-presets/HABILIDAD.md +124 -0
  283. package/scripts/.claude/don-cheli/habilidades/generador-specs/HABILIDAD.md +28 -0
  284. package/scripts/.claude/don-cheli/habilidades/ingenieria-contexto/HABILIDAD.md +25 -0
  285. package/scripts/.claude/don-cheli/habilidades/integracion-mcp/HABILIDAD.md +50 -0
  286. package/scripts/.claude/don-cheli/habilidades/leyes-hierro/HABILIDAD.md +36 -0
  287. package/scripts/.claude/don-cheli/habilidades/mapa-arquitectonico/HABILIDAD.md +84 -0
  288. package/scripts/.claude/don-cheli/habilidades/memoria-persistente/HABILIDAD.md +88 -0
  289. package/scripts/.claude/don-cheli/habilidades/obsidian/HABILIDAD.md +84 -0
  290. package/scripts/.claude/don-cheli/habilidades/optimizacion-tokens/HABILIDAD.md +170 -0
  291. package/scripts/.claude/don-cheli/habilidades/optimizador-contexto/HABILIDAD.md +97 -0
  292. package/scripts/.claude/don-cheli/habilidades/orquestacion-autonoma/HABILIDAD.md +124 -0
  293. package/scripts/.claude/don-cheli/habilidades/permisos-seguridad/HABILIDAD.md +67 -0
  294. package/scripts/.claude/don-cheli/habilidades/persona/HABILIDAD.md +57 -0
  295. package/scripts/.claude/don-cheli/habilidades/presentaciones/HABILIDAD.md +54 -0
  296. package/scripts/.claude/don-cheli/habilidades/prueba-trabajo/HABILIDAD.md +122 -0
  297. package/scripts/.claude/don-cheli/habilidades/razonamiento/HABILIDAD.md +60 -0
  298. package/scripts/.claude/don-cheli/habilidades/recuperacion-sesion/HABILIDAD.md +18 -0
  299. package/scripts/.claude/don-cheli/habilidades/refactorizacion-solid/HABILIDAD.md +173 -0
  300. package/scripts/.claude/don-cheli/habilidades/reflexion/HABILIDAD.md +15 -0
  301. package/scripts/.claude/don-cheli/habilidades/rigor-progresivo/HABILIDAD.md +100 -0
  302. package/scripts/.claude/don-cheli/habilidades/rlm/HABILIDAD.md +76 -0
  303. package/scripts/.claude/don-cheli/habilidades/schemas-dbml/HABILIDAD.md +92 -0
  304. package/scripts/.claude/don-cheli/habilidades/trazabilidad/HABILIDAD.md +54 -0
  305. package/scripts/.claude/don-cheli/habilidades/ui-ux-design/HABILIDAD.md +67 -0
  306. package/scripts/.claude/don-cheli/habilidades/validacion-nyquist/HABILIDAD.md +152 -0
  307. package/scripts/.claude/don-cheli/habilidades/worktrees/HABILIDAD.md +71 -0
  308. package/scripts/.claude/don-cheli/locale +1 -0
  309. package/scripts/.claude/don-cheli/locales/en.json +179 -0
  310. package/scripts/.claude/don-cheli/locales/es.json +179 -0
  311. package/scripts/.claude/don-cheli/locales/pt.json +179 -0
  312. package/scripts/.claude/don-cheli/plantillas/checklist-requisitos.md +31 -0
  313. package/scripts/.claude/don-cheli/plantillas/docker/Dockerfile +16 -0
  314. package/scripts/.claude/don-cheli/plantillas/docker/docker-compose.yml +28 -0
  315. package/scripts/.claude/don-cheli/plantillas/especdev/WORKFLOW.md +118 -0
  316. package/scripts/.claude/don-cheli/plantillas/especdev/config.yaml +27 -0
  317. package/scripts/.claude/don-cheli/plantillas/especdev/en/config.yaml +27 -0
  318. package/scripts/.claude/don-cheli/plantillas/especdev/en/findings.md +7 -0
  319. package/scripts/.claude/don-cheli/plantillas/especdev/en/plan.md +35 -0
  320. package/scripts/.claude/don-cheli/plantillas/especdev/en/progress.md +7 -0
  321. package/scripts/.claude/don-cheli/plantillas/especdev/en/status.md +16 -0
  322. package/scripts/.claude/don-cheli/plantillas/especdev/es/config.yaml +27 -0
  323. package/scripts/.claude/don-cheli/plantillas/especdev/es/estado.md +16 -0
  324. package/scripts/.claude/don-cheli/plantillas/especdev/es/hallazgos.md +7 -0
  325. package/scripts/.claude/don-cheli/plantillas/especdev/es/plan.md +35 -0
  326. package/scripts/.claude/don-cheli/plantillas/especdev/es/progreso.md +7 -0
  327. package/scripts/.claude/don-cheli/plantillas/especdev/estado.md +16 -0
  328. package/scripts/.claude/don-cheli/plantillas/especdev/hallazgos.md +7 -0
  329. package/scripts/.claude/don-cheli/plantillas/especdev/isa.yml +152 -0
  330. package/scripts/.claude/don-cheli/plantillas/especdev/plan.md +35 -0
  331. package/scripts/.claude/don-cheli/plantillas/especdev/progreso.md +7 -0
  332. package/scripts/.claude/don-cheli/plantillas/especdev/pt/config.yaml +27 -0
  333. package/scripts/.claude/don-cheli/plantillas/especdev/pt/descobertas.md +7 -0
  334. package/scripts/.claude/don-cheli/plantillas/especdev/pt/estado.md +16 -0
  335. package/scripts/.claude/don-cheli/plantillas/especdev/pt/plano.md +35 -0
  336. package/scripts/.claude/don-cheli/plantillas/especdev/pt/progresso.md +7 -0
  337. package/scripts/.claude/don-cheli/plantillas/estimado-desarrollo.md +43 -0
  338. package/scripts/.claude/don-cheli/prompt.md +16 -0
  339. package/scripts/.claude/don-cheli/reglas/constitucion.md +122 -0
  340. package/scripts/.claude/don-cheli/reglas/hooks-parar.md +102 -0
  341. package/scripts/.claude/don-cheli/reglas/i18n.md +47 -0
  342. package/scripts/.claude/don-cheli/reglas/leyes-hierro.md +18 -0
  343. package/scripts/.claude/don-cheli/reglas/puertas-calidad.md +87 -0
  344. package/scripts/.claude/don-cheli/reglas/reglas-desviacion.md +36 -0
  345. package/scripts/.claude/don-cheli/reglas/reglas-trabajo-globales.md +171 -0
  346. package/scripts/.claude/don-cheli/scripts/bucle.sh +103 -0
  347. package/scripts/.claude/don-cheli/scripts/instalar.sh +522 -0
  348. package/scripts/.claude/don-cheli/scripts/validar.sh +70 -0
  349. package/scripts/bucle.sh +103 -0
  350. package/scripts/instalar.sh +587 -0
  351. package/scripts/validar.sh +70 -0
@@ -0,0 +1,152 @@
1
+ # ISA — Arquitectura de Conjunto de Instrucciones para BDD
2
+
3
+ # Mapea tipos de pasos Gherkin a patrones de código de test.
4
+ # Adaptado de Specular (pei9564/Specular) y traducido al español.
5
+ #
6
+ # Este archivo define la "arquitectura de instrucciones" que conecta
7
+ # cada tipo de paso Gherkin con su implementación en tests.
8
+ #
9
+ # CÓMO MEJORA EL FRAMEWORK:
10
+ # Sin ISA, el agente inventa patrones de test diferentes cada vez.
11
+ # Con ISA, la generación de tests es CONSISTENTE y PREDECIBLE.
12
+ # Cada escenario Gherkin mapea a un patrón de test bien definido.
13
+
14
+ # ============================================================
15
+ # Compartido: Contrato de conftest.py para TODOS los tipos
16
+ # ============================================================
17
+ compartido:
18
+ contexto_fixture:
19
+ descripcion: |
20
+ Diccionario mutable, portador de estado para Dado → Cuando → Entonces.
21
+ Proporcionado por tests/integracion/conftest.py como fixture de pytest.
22
+ claves:
23
+ - "contexto['datos_base_*'] ← Pasos Dado (datos mock de tablas Gherkin)"
24
+ - "contexto['resultado'] ← Paso Cuando (valor de retorno o excepción capturada)"
25
+ - "contexto['payload'] ← (tipos API) Pasos Cuando acumulan de tablas de datos"
26
+ - "contexto['respuesta'] ← (tipos API) asegurar_llamado() cachea la respuesta"
27
+ - "contexto['config'] ← (tipos Servicio) Pasos Dado configuran objeto de config"
28
+
29
+ helpers:
30
+ - nombre: "tabla_a_dicts"
31
+ ubicacion: "tests/integracion/conftest.py"
32
+ firma: "tabla_a_dicts(datatable: list[list[str]]) -> list[dict]"
33
+ descripcion: "Convierte datatable de pytest-bdd a list[dict]. NUNCA parsear datatables manualmente."
34
+
35
+ reglas_limite:
36
+ conftest_posee:
37
+ - "fixture contexto (dict[str, Any])"
38
+ - "helper tabla_a_dicts()"
39
+ - "fixtures app / client (solo tipos API)"
40
+ - "Pasos Dado comunes: entidades de fondo, middleware de auth"
41
+ archivo_feature_posee:
42
+ - "decoradores @scenario() (1:1 desde Gherkin)"
43
+ - "Pasos Dado específicos del feature"
44
+ - "Pasos Cuando específicos del feature"
45
+ - "Pasos Entonces específicos del feature"
46
+ prevencion_colision:
47
+ - "Nombres de función DEBEN incluir contexto de dominio o feature"
48
+ - "MAL: cuando_crear_recurso, entonces_fallo"
49
+ - "BIEN: cuando_ejecutar_creacion_usuario, entonces_creacion_usuario_deberia_fallar"
50
+
51
+ # ============================================================
52
+ # Tipo API: Flujo HTTP client
53
+ # ============================================================
54
+ api:
55
+ flujo_contexto:
56
+ cuando_acumula: "contexto['payload']"
57
+ disparador_almacena: "contexto['respuesta']"
58
+ funcion_disparador: "asegurar_llamado(contexto, client, {{ mock_repo }})"
59
+
60
+ definiciones:
61
+ # --- CONFIGURACION_MOCK (Dado) ---
62
+ - patron: "el sistema tiene los siguientes {tipo_entidad}:"
63
+ tipo: "CONFIGURACION_MOCK"
64
+ contexto: "Dado"
65
+ notas: "Parsear tabla de datos en contexto para configuración de mock."
66
+
67
+ # --- LLAMADA_API (Cuando) ---
68
+ - patron: "el usuario crea {recurso}:"
69
+ tipo: "LLAMADA_API"
70
+ contexto: "Cuando"
71
+ notas: "Parsear tabla field/value en contexto['payload']."
72
+
73
+ # --- DISPARADOR_API ---
74
+ - patron: "(interno — llamado por pasos Entonces)"
75
+ tipo: "DISPARADOR_API"
76
+ contexto: "Entonces (interno)"
77
+ notas: |
78
+ asegurar_llamado() configura mocks, dispara el request HTTP,
79
+ y cachea la respuesta. Idempotente: dispara solo una vez por escenario.
80
+
81
+ # --- ASERCION_API (Entonces) ---
82
+ - patron: "el {recurso} debería crearse exitosamente"
83
+ tipo: "ASERCION_API"
84
+ contexto: "Entonces"
85
+ notas: "Verificar status 201 y campos del body."
86
+
87
+ - patron: "la creación debería fallar"
88
+ tipo: "ASERCION_API"
89
+ contexto: "Entonces"
90
+ notas: "Verificar status >= 400."
91
+
92
+ - patron: "el mensaje de error debería indicar \"{texto}\""
93
+ tipo: "ASERCION_API"
94
+ contexto: "Entonces"
95
+ notas: "Verificar que el mensaje de error contiene el texto."
96
+
97
+ # --- ASERCION_BD (Entonces) ---
98
+ - patron: "la tabla {tabla} debería contener:"
99
+ tipo: "ASERCION_BD"
100
+ contexto: "Entonces"
101
+ notas: "Verificar campos de respuesta contra tabla de datos."
102
+
103
+ # ============================================================
104
+ # Tipo Servicio: Llamada directa al servicio
105
+ # ============================================================
106
+ servicio:
107
+ flujo_contexto:
108
+ dado_acumula: "contexto['config']"
109
+ cuando_almacena: "contexto['resultado']"
110
+ descripcion: |
111
+ Sin HTTP client involucrado. Los pasos Cuando llaman al método del servicio directamente.
112
+ contexto["resultado"] almacena el valor de retorno o la excepción capturada.
113
+
114
+ definiciones:
115
+ # --- CONFIGURACION (Dado) ---
116
+ - patron: "el sistema está configurado con:"
117
+ tipo: "CONFIGURACION"
118
+ contexto: "Dado"
119
+ notas: "Parsear tabla de configuración en contexto['config']."
120
+
121
+ # --- LLAMADA_SERVICIO (Cuando) ---
122
+ - patron: "el sistema ejecuta {operacion}"
123
+ tipo: "LLAMADA_SERVICIO"
124
+ contexto: "Cuando"
125
+ notas: "Invocar método del servicio directamente. Capturar excepciones."
126
+
127
+ # --- ASERCION_SERVICIO (Entonces) ---
128
+ - patron: "la operación debería completarse exitosamente"
129
+ tipo: "ASERCION_SERVICIO"
130
+ contexto: "Entonces"
131
+ notas: "Verificar que resultado no es excepción."
132
+
133
+ - patron: "el resultado debería contener:"
134
+ tipo: "ASERCION_SERVICIO"
135
+ contexto: "Entonces"
136
+ notas: "Verificar campos del resultado contra tabla de datos."
137
+
138
+ # --- ASERCION_EXCEPCION (Entonces) ---
139
+ - patron: "la operación debería fallar"
140
+ tipo: "ASERCION_EXCEPCION"
141
+ contexto: "Entonces"
142
+ notas: "Verificar que resultado es una excepción."
143
+
144
+ - patron: "el tipo de error debería ser \"{tipo_excepcion}\""
145
+ tipo: "ASERCION_EXCEPCION"
146
+ contexto: "Entonces"
147
+ notas: "Verificar nombre de clase de excepción."
148
+
149
+ - patron: "el mensaje de error debería contener \"{texto}\""
150
+ tipo: "ASERCION_EXCEPCION"
151
+ contexto: "Entonces"
152
+ notas: "Verificar que el mensaje de excepción contiene el texto."
@@ -0,0 +1,35 @@
1
+ # Plan del Proyecto
2
+
3
+ ## Fase 1: Descubrimiento
4
+ - [ ] Validar el problema
5
+ - [ ] Investigar soluciones existentes
6
+ - [ ] Documentar hallazgos
7
+
8
+ ## Fase 2: Estrategia
9
+ - [ ] Definir hoja de ruta
10
+ - [ ] Establecer hitos
11
+ - [ ] Tomar decisiones clave
12
+
13
+ ## Fase 3: Diseño
14
+ - [ ] Arquitectura del sistema
15
+ - [ ] Diseño de UX/UI
16
+ - [ ] Especificaciones técnicas
17
+
18
+ ## Fase 4: Desarrollo
19
+ - [ ] Implementar con TDD
20
+ - [ ] Iterar sobre feedback
21
+
22
+ ## Fase 5: Calidad
23
+ - [ ] Tests completos
24
+ - [ ] Validación de rendimiento
25
+ - [ ] Revisión de seguridad
26
+
27
+ ## Fase 6: Lanzamiento
28
+ - [ ] Despliegue
29
+ - [ ] Documentación final
30
+ - [ ] Release notes
31
+
32
+ ## Fase 7: Crecimiento
33
+ - [ ] Monitoreo
34
+ - [ ] Feedback de usuarios
35
+ - [ ] Iteración
@@ -0,0 +1,7 @@
1
+ # Progreso
2
+
3
+ Log de sesión del proyecto. Se actualiza continuamente.
4
+
5
+ ---
6
+
7
+ <!-- El progreso se registra automáticamente por el hook post-herramienta -->
@@ -0,0 +1,27 @@
1
+ # Configuração do Projeto Don Cheli
2
+ projeto:
3
+ nome: "meu-projeto"
4
+ tipo: "produto" # produto|cli|app|biblioteca|servico|refatoracao|correcao|poc
5
+ descricao: ""
6
+ versao: "0.1.0"
7
+
8
+ # Modelos de IA
9
+ modelos:
10
+ padrao: sonnet
11
+ agentes:
12
+ planejador: opus
13
+ arquiteto: opus
14
+ executor: sonnet
15
+ revisor: opus
16
+ testador: sonnet
17
+ documentador: haiku
18
+ estimador: opus
19
+
20
+ # Histórico de sessões
21
+ historico:
22
+ habilitado: true
23
+ maxSessoes: 10
24
+ autoSalvar: true
25
+
26
+ # Idioma
27
+ idioma: "pt"
@@ -0,0 +1,7 @@
1
+ # Descobertas
2
+
3
+ Descobertas e insights do projeto. Atualizado continuamente.
4
+
5
+ ---
6
+
7
+ <!-- Descobertas são adicionadas aqui com /especdev:memorizar -->
@@ -0,0 +1,16 @@
1
+ # Estado do Don Cheli
2
+
3
+ ## Atual
4
+ - **Fase:** 1/7 (Descoberta)
5
+ - **Tarefa:** Definir o problema
6
+ - **Bloqueio:** Nenhum
7
+
8
+ ## Estatísticas Rápidas
9
+ - **Progresso:** 0%
10
+ - **Última Atualização:** [data]
11
+
12
+ ## Velocidade
13
+ - Sessões concluídas: 0
14
+ - Duração média: -
15
+ - Fases concluídas: 0/7
16
+ - Tempo restante estimado: -
@@ -0,0 +1,35 @@
1
+ # Plano do Projeto
2
+
3
+ ## Fase 1: Descoberta
4
+ - [ ] Validar o problema
5
+ - [ ] Pesquisar soluções existentes
6
+ - [ ] Documentar descobertas
7
+
8
+ ## Fase 2: Estratégia
9
+ - [ ] Definir roteiro
10
+ - [ ] Estabelecer marcos
11
+ - [ ] Tomar decisões chave
12
+
13
+ ## Fase 3: Design
14
+ - [ ] Arquitetura do sistema
15
+ - [ ] Design de UX/UI
16
+ - [ ] Especificações técnicas
17
+
18
+ ## Fase 4: Desenvolvimento
19
+ - [ ] Implementar com TDD
20
+ - [ ] Iterar sobre feedback
21
+
22
+ ## Fase 5: Qualidade
23
+ - [ ] Testes completos
24
+ - [ ] Validação de desempenho
25
+ - [ ] Revisão de segurança
26
+
27
+ ## Fase 6: Lançamento
28
+ - [ ] Implantação
29
+ - [ ] Documentação final
30
+ - [ ] Notas de versão
31
+
32
+ ## Fase 7: Crescimento
33
+ - [ ] Monitoramento
34
+ - [ ] Feedback dos usuários
35
+ - [ ] Iteração
@@ -0,0 +1,7 @@
1
+ # Progresso
2
+
3
+ Log de sessão do projeto. Atualizado continuamente.
4
+
5
+ ---
6
+
7
+ <!-- O progresso é registrado automaticamente pelo hook pós-ferramenta -->
@@ -0,0 +1,43 @@
1
+ # Estimado de Desarrollo: [Nombre del Proyecto]
2
+
3
+ **Fecha:** [fecha]
4
+ **Generado por:** `/especdev:estimar`
5
+
6
+ ## Resumen Ejecutivo
7
+
8
+ | Métrica | Valor |
9
+ |---------|-------|
10
+ | **Esfuerzo total** | X-Y días/persona |
11
+ | **Complejidad** | Baja/Media/Alta |
12
+ | **Confianza** | X% |
13
+ | **Modelo dominante** | [modelo] |
14
+
15
+ ## Desglose por Feature
16
+
17
+ | Feature | Optimista | Esperado | Pesimista | Riesgo |
18
+ |---------|-----------|----------|-----------|--------|
19
+ | Feature 1 | Xd | Yd | Zd | Bajo/Medio/Alto |
20
+ | Feature 2 | Xd | Yd | Zd | Bajo/Medio/Alto |
21
+
22
+ ## Detalle por Modelo
23
+
24
+ ### Puntos de Función: X días
25
+ ### Planning Poker IA: X días
26
+ ### COCOMO: X días
27
+ ### Histórico: X días / N/A
28
+
29
+ ## Riesgos que Afectan la Estimación
30
+
31
+ | Riesgo | Probabilidad | Impacto | Mitigación |
32
+ |--------|-------------|---------|------------|
33
+ | Riesgo 1 | X% | +X días | [acción] |
34
+
35
+ ## Supuestos Clave
36
+
37
+ - [supuesto 1]
38
+ - [supuesto 2]
39
+
40
+ ## Recomendación
41
+
42
+ Usar estimado **esperado** (X días) con buffer de 20% para imprevistos.
43
+ → **Total recomendado: X días/persona**
@@ -0,0 +1,16 @@
1
+ # Don Cheli — Instrucciones para Amp
2
+
3
+ ## Identidad
4
+
5
+ Asistente de desarrollo bajo el framework Don Cheli.
6
+
7
+ ## Contexto
8
+
9
+ Lee `.especdev/` para entender el estado del proyecto.
10
+
11
+ ## Reglas
12
+
13
+ 1. TDD obligatorio
14
+ 2. Causa raíz primero
15
+ 3. Evidencia siempre
16
+ 4. Todo en español
@@ -0,0 +1,122 @@
1
+ # Constitución de Don Cheli
2
+
3
+ > **Versión:** 2.0.0 | **Ratificada:** 2026-03-21
4
+ >
5
+ > La constitución gobierna TODO el código generado bajo Don Cheli.
6
+ > Enriquecida con principios de Specular (pei9564/Specular).
7
+
8
+ ---
9
+
10
+ ## I. Gherkin es Rey (Fuente Única de Verdad)
11
+
12
+ Los archivos `.feature` en `specs/features/` son los **ÚNICOS** artefactos de especificación. No se generan ni mantienen archivos spec.md separados.
13
+
14
+ - Todas las decisiones de planificación, implementación y testing DEBEN rastrearse hasta Escenarios y Reglas definidos en el `.feature` correspondiente.
15
+ - El orden del flujo DEBE ser: Leer Gherkin → Generar Step Definitions (Rojo) → Implementar Feature (Verde) → Refactorizar.
16
+ - Cuando un archivo Gherkin es ambiguo o incompleto, el vacío DEBE resolverse actualizando el `.feature` — nunca inventando requisitos en artefactos posteriores.
17
+
18
+ ---
19
+
20
+ ## I-B. Schema como Verdad Viva (Ciclo de Vida DBML)
21
+
22
+ Las definiciones de schema en `specs/db_schema/<dominio>.dbml` siguen un ciclo de dos fases:
23
+
24
+ 1. **Provisional** (tag `@provisional` presente): Auto-generado durante la fase Spec. Nombres de campos, tipos y restricciones son borradores.
25
+ - Los Escenarios en `.feature` DEBEN usar los nombres de campos provisionales tal como están.
26
+ - Los schemas provisionales DEBEN revisarse y ratificarse antes de la fase Plan.
27
+
28
+ 2. **Ratificado** (sin tag `@provisional`): Revisado durante Clarify o Plan. Una vez ratificado, el DBML se convierte en **Verdad Absoluta**.
29
+ - Cualquier feature posterior en el mismo dominio DEBE extender (no reemplazar) el schema ratificado.
30
+ - Renombrar campos después de la ratificación requiere una nota de migración en el plan.
31
+
32
+ ---
33
+
34
+ ## II. Precisión Quirúrgica (Colaboración en Equipo)
35
+
36
+ Cada cambio DEBE ser el **cambio mínimo viable** requerido por la tarea actual.
37
+
38
+ - Refactoring "de paso" de código no relacionado, helpers globales o componentes compartidos está **PROHIBIDO** salvo que se solicite explícitamente.
39
+ - Cambios de formato, adición de comentarios y reordenamiento de imports fuera del alcance de la tarea NO DEBEN aparecer en diffs.
40
+
41
+ ---
42
+
43
+ ## III. Arquitectura Plug-and-Play (Modularidad)
44
+
45
+ El código DEBE seguir el Principio Abierto/Cerrado: abierto para extensión, cerrado para modificación.
46
+
47
+ - Nuevas features DEBEN entregarse como módulos, Objetos de Servicio o clases nuevas, no inflando funciones existentes.
48
+ - La lógica de negocio DEBE encapsularse en Objetos de Servicio o clases especializadas. Controllers, Handlers y Routers DEBEN ser thin (solo delegación).
49
+ - Concerns transversales (logging, auth, validación) DEBEN usar patrones de middleware o decoradores, no código inline.
50
+
51
+ ---
52
+
53
+ ## IV. La Regla "Las Vegas" (Aislamiento de Servicios y Mocking)
54
+
55
+ > Lo que pasa dentro de un servicio SE QUEDA dentro de ese servicio.
56
+
57
+ - Los tests DEBEN ejecutarse herméticamente — sin llamadas de red reales, sin estado de BD compartido, sin efectos secundarios en el filesystem.
58
+ - Toda interacción con un servicio externo (HTTP APIs, gRPC, bases de datos, colas de mensajes) DEBE estar mockeada por defecto.
59
+ - Las clases de servicio DEBEN aceptar dependencias via Inyección de Dependencias para que intercambiar mocks por clientes reales sea transparente.
60
+ - Los tests end-to-end son la ÚNICA excepción y DEBEN marcarse explícitamente como tales.
61
+
62
+ ---
63
+
64
+ ## IV-B. Regla del Punto de Entrada (Alineamiento BDD-Arquitectura)
65
+
66
+ La validación de reglas de negocio DEBE colocarse lo más cerca posible del punto de entrada que el paso `Cuando` del BDD invoca.
67
+
68
+ **Test de litmus:** Para cada Escenario de fallo en el `.feature`, preguntar: _"¿El paso `Cuando` realmente se ejecuta en mi arquitectura?"_ Si la respuesta es no, la arquitectura viola esta regla.
69
+
70
+ ---
71
+
72
+ ## V. Estándares Modernos de Código
73
+
74
+ - **Type hints** son obligatorios en toda firma de función.
75
+ - **Modelos de validación** (Pydantic/Zod/equivalente) DEBEN usarse para DTOs y schemas — diccionarios/objetos crudos están PROHIBIDOS para datos estructurados.
76
+ - Se DEBE seguir el style guide del lenguaje (PEP 8, ESLint, etc.). Donde el guide conflicta con legibilidad, gana legibilidad.
77
+
78
+ ---
79
+
80
+ ## VI. Adaptabilidad al Contexto
81
+
82
+ Antes de generar código, el framework y toolchain DEBEN detectarse escaneando archivos de configuración (`package.json`, `requirements.txt`, `pyproject.toml`, etc.).
83
+
84
+ El código generado NO DEBE introducir patrones que conflicten con las dependencias instaladas o convenciones establecidas del proyecto.
85
+
86
+ ---
87
+
88
+ ## VII. Codificación Defensiva y Manejo de Errores
89
+
90
+ - Bloques `try...catch` desnudos que engullen errores están PROHIBIDOS. Toda excepción capturada DEBE logguearse con stack trace completo.
91
+ - El código DEBE usar clases de excepción custom que mapeen a códigos de estado HTTP (ej: `RecursoNoEncontrado` → 404).
92
+ - **Regla Stop-Loss:** Si una tarea falla (luz Roja) más de 3 veces, el trabajo DEBE detenerse y se DEBE solicitar guía humana. Los ciclos infinitos de fix-break están PROHIBIDOS.
93
+
94
+ ---
95
+
96
+ ## VIII. Protocolo de Clarificación (Auto-QA)
97
+
98
+ Al ejecutar `/especdev:clarificar`, el agente actúa como **Ingeniero QA Estricto** y ejecuta obligatoriamente:
99
+
100
+ 1. **Verificación de Consistencia Schema-Spec:**
101
+ - Escanear todos los campos en el Gherkin
102
+ - Comparar contra el schema DBML
103
+ - Error si nombres no coinciden exactamente
104
+ - Error si campo `NOT NULL` no tiene escenario de validación
105
+
106
+ 2. **Verificación de Convención de Nombres:**
107
+ - Feature COMMAND: usar patrón precondición/postcondición
108
+ - Feature QUERY: usar patrón precondición/éxito
109
+
110
+ 3. **Auditoría Auto-Generado:**
111
+ - Revisar escenarios auto-generados
112
+ - Marcar los que sean redundantes o lógicamente imposibles
113
+
114
+ **Formato de salida:** ✅ PASS / ⚠️ WARNING / ❌ FAIL
115
+
116
+ ---
117
+
118
+ ## Gobernanza
119
+
120
+ - Esta constitución **supersede** todas las prácticas de desarrollo y guías de estilo dentro del repositorio.
121
+ - Las enmiendas requieren: (1) Justificación documentada, (2) Revisión, (3) Plan de migración para código que ya no cumpla.
122
+ - Todos los PRs y revisiones de código DEBEN verificar cumplimiento con estos principios.
@@ -0,0 +1,102 @@
1
+ # Stop Hooks — Verificaciones de Parada
2
+
3
+ ## Qué Son
4
+
5
+ Los Stop Hooks son verificaciones automáticas que DEBEN pasar antes de que el agente pueda declarar una tarea como "completa". Son el equivalente a puertas de calidad de CI/CD pero ejecutadas por el agente en tiempo real.
6
+
7
+ > Concepto de MELI: los agentes NO pueden terminar sin pasar validaciones.
8
+
9
+ ## Configuración
10
+
11
+ ```yaml
12
+ # .especdev/hooks/parar.yml
13
+ version: 1
14
+
15
+ hooks:
16
+ # Obligatorios — si fallan, la tarea se BLOQUEA
17
+ obligatorios:
18
+ - nombre: "Lint"
19
+ comando: "npm run lint"
20
+ timeout: 60
21
+
22
+ - nombre: "Type Check"
23
+ comando: "npx tsc --noEmit"
24
+ timeout: 120
25
+
26
+ - nombre: "Tests Unitarios"
27
+ comando: "npm test -- --testPathPattern=unit"
28
+ timeout: 180
29
+
30
+ - nombre: "Build"
31
+ comando: "npm run build"
32
+ timeout: 300
33
+
34
+ # Opcionales — si fallan, se advierte pero no se bloquea
35
+ opcionales:
36
+ - nombre: "Coverage"
37
+ comando: "npm run coverage -- --threshold 85"
38
+ timeout: 180
39
+
40
+ - nombre: "Tests E2E"
41
+ comando: "npm run test:e2e"
42
+ timeout: 600
43
+
44
+ # Pre-commit — se ejecutan antes de cada commit
45
+ pre_commit:
46
+ - nombre: "Guardian"
47
+ comando: "/especdev:guardian"
48
+ ```
49
+
50
+ ## Flujo de Ejecución
51
+
52
+ ```
53
+ /especdev:implementar
54
+
55
+ ├── ... (implementar tareas) ...
56
+
57
+ └── Ejecutar Stop Hooks
58
+
59
+ ├── 1. Lint ───── ✅ PASS (0.8s)
60
+ ├── 2. TypeCheck ── ✅ PASS (2.1s)
61
+ ├── 3. Tests ───── ❌ FAIL (1 fallo)
62
+ │ └── BLOQUEADO: 1 test falla
63
+ │ → Corregir y re-ejecutar
64
+
65
+ └── Re-ejecutar después de fix
66
+ ├── 3. Tests ───── ✅ PASS
67
+ ├── 4. Build ───── ✅ PASS
68
+ └── === TODOS LOS HOOKS PASAN ===
69
+ → Tarea marcada como ✅ COMPLETA
70
+ ```
71
+
72
+ ## Templates por Stack
73
+
74
+ ### Node.js / TypeScript
75
+ ```yaml
76
+ hooks:
77
+ obligatorios:
78
+ - {nombre: "ESLint", comando: "npx eslint . --ext .ts,.tsx"}
79
+ - {nombre: "TypeScript", comando: "npx tsc --noEmit"}
80
+ - {nombre: "Vitest", comando: "npx vitest run"}
81
+ - {nombre: "Build", comando: "npm run build"}
82
+ ```
83
+
84
+ ### Python
85
+ ```yaml
86
+ hooks:
87
+ obligatorios:
88
+ - {nombre: "Ruff", comando: "ruff check ."}
89
+ - {nombre: "MyPy", comando: "mypy app/ --strict"}
90
+ - {nombre: "Pytest", comando: "pytest -v"}
91
+ - {nombre: "Build", comando: "python -m build"}
92
+ ```
93
+
94
+ ### Go
95
+ ```yaml
96
+ hooks:
97
+ obligatorios:
98
+ - {nombre: "Go Vet", comando: "go vet ./..."}
99
+ - {nombre: "Staticcheck", comando: "staticcheck ./..."}
100
+ - {nombre: "Go Test", comando: "go test ./..."}
101
+ - {nombre: "Go Build", comando: "go build ./..."}
102
+ ```
@@ -0,0 +1,47 @@
1
+ # i18n — Internationalization Rules
2
+
3
+ ## Language Detection
4
+
5
+ On every interaction, detect the user's configured language:
6
+
7
+ 1. Read the framework locale file at `${FRAMEWORK_HOME}/locale` (contains `es`, `en`, or `pt`)
8
+ 2. If not found, check `.especdev/config.yaml` → `framework.idioma`
9
+ 3. If neither exists, default to `es`
10
+
11
+ ## Language Behavior
12
+
13
+ Once the locale is determined:
14
+
15
+ | Locale | Communication | Code | Commits/PRs | Docs |
16
+ |--------|--------------|------|-------------|------|
17
+ | `es` | Español | English | Español | Español |
18
+ | `en` | English | English | English | English |
19
+ | `pt` | Português | English | Português | Português |
20
+
21
+ **Code (variables, functions, comments) is ALWAYS in English regardless of locale.**
22
+
23
+ ## Locale Files
24
+
25
+ Framework locale strings are in `locales/{es,en,pt}.json`. Use them for:
26
+ - Phase names, status labels, verdicts
27
+ - Installer messages
28
+ - Command output templates
29
+ - Review dimensions, severity labels
30
+ - TDD cycle names, iron laws
31
+
32
+ ## How to Apply
33
+
34
+ When generating output (estado.md, plan.md, hallazgos.md, propuesta.md, etc.):
35
+ - Use the locale's terminology for headers, labels, and status text
36
+ - Keep technical terms (e.g., TDD, OWASP, API, WebSocket) untranslated
37
+ - Gherkin keywords follow the Gherkin i18n spec:
38
+ - `es`: Dado/Cuando/Entonces/Y
39
+ - `en`: Given/When/Then/And
40
+ - `pt`: Dado/Quando/Então/E
41
+
42
+ ## Changing Language
43
+
44
+ The user can change the language at any time by:
45
+ 1. Editing `${FRAMEWORK_HOME}/locale` directly
46
+ 2. Re-running `scripts/instalar.sh` (re-prompts language selection)
47
+ 3. Setting `framework.idioma` in `.especdev/config.yaml`
@@ -0,0 +1,18 @@
1
+ # Leyes de Hierro
2
+
3
+ ## No Negociable. Siempre se aplican.
4
+
5
+ ### 1. Ley TDD
6
+ Todo código de producción REQUIERE tests.
7
+ - `RED` → Escribir test que falla
8
+ - `GREEN` → Código mínimo que pasa
9
+ - `REFACTOR` → Mejorar sin cambiar comportamiento
10
+
11
+ ### 2. Ley de Debugging
12
+ Primero la causa raíz, luego la corrección.
13
+ 1. REPRODUCIR → AISLAR → ENTENDER → CORREGIR → VERIFICAR
14
+
15
+ ### 3. Ley de Verificación
16
+ Evidencia antes de afirmaciones.
17
+ - ✅ "Tests pasan (evidencia adjunta)"
18
+ - ❌ "Creo que funciona"