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,49 @@
1
+ ---
2
+ description: Modo completo para proyectos grandes y complejos (Nivel 3)
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:completo
7
+
8
+ ## Objetivo
9
+
10
+ Iniciar modo completo (Nivel 3 - Complejo) para proyectos que requieren las 7 fases del ciclo de vida.
11
+
12
+ ## Uso
13
+
14
+ ```
15
+ /especdev:completo <descripción del proyecto>
16
+ ```
17
+
18
+ ## Las 7 Fases
19
+
20
+ | Fase | Duración | Actividades |
21
+ |------|----------|-------------|
22
+ | 1. Descubrimiento | 1-2 días | Validar problema, investigar, descubrimientos |
23
+ | 2. Estrategia | 1 día | Hoja de ruta, hitos, decisiones |
24
+ | 3. Diseño | 2-3 días | Arquitectura, UX, especificaciones |
25
+ | 4. Desarrollo | Variable | TDD, implementación, iteración |
26
+ | 5. Calidad | 1-2 días | Testing, validación, rendimiento |
27
+ | 6. Lanzamiento | 1 día | Despliegue, documentación, release |
28
+ | 7. Crecimiento | Continuo | Monitoreo, feedback, iteración |
29
+
30
+ ## Transiciones de Fase
31
+
32
+ Cada fase requiere criterios de Avance/No-Avance:
33
+
34
+ ```markdown
35
+ ## Fase [N] Completada
36
+
37
+ ### Lista de Verificación Avance/No-Avance
38
+ - [ ] Todas las tareas de la fase completadas
39
+ - [ ] Entregables verificados
40
+ - [ ] Sin bloqueadores
41
+ - [ ] Listo para siguiente fase
42
+
43
+ **Decisión:** AVANZAR / NO-AVANZAR
44
+ **Motivo:** [por qué]
45
+ ```
46
+
47
+ ## Des-escalamiento
48
+
49
+ Si después de la Estrategia el alcance es menor → des-escalar a `/especdev:rapido`
@@ -0,0 +1,59 @@
1
+ ---
2
+ description: Recuperar sesión previa y generar reporte de puesta al día
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:continuar
7
+
8
+ ## Objetivo
9
+
10
+ Recuperar el contexto de una sesión previa y generar un reporte de puesta al día.
11
+
12
+ ## Uso
13
+
14
+ ```
15
+ /especdev:continuar
16
+ ```
17
+
18
+ ## Comportamiento
19
+
20
+ 1. **Detectar** directorio `.especdev/` existente
21
+ 2. **Leer** archivos de contexto
22
+ 3. **Generar** Reporte de Puesta al Día:
23
+
24
+ ```markdown
25
+ ## 🔄 Recuperación de Sesión
26
+
27
+ **Proyecto:** api-pagos
28
+ **Última Sesión:** 2026-03-21 15:30
29
+
30
+ **Estado Actual:**
31
+ - Fase: 3/7 (Diseño)
32
+ - Tarea: Diseñar esquema de base de datos
33
+ - Progreso: 40%
34
+
35
+ **Hallazgos Recientes:**
36
+ - JWT preferido sobre sesiones
37
+ - La API legacy tiene vulnerabilidades
38
+
39
+ **Próximos Pasos:**
40
+ 1. Completar esquema de base de datos
41
+ 2. Agregar reset de contraseña
42
+ ```
43
+
44
+ ## Test de 5 Preguntas
45
+
46
+ Para verificar que el contexto está completo:
47
+
48
+ | # | Pregunta | Fuente | Estado |
49
+ |---|----------|--------|--------|
50
+ | 1 | ¿Dónde estoy? | `estado.md` | Fase actual |
51
+ | 2 | ¿A dónde voy? | `plan.md` | Fases restantes |
52
+ | 3 | ¿Cuál es la meta? | `config.yaml` | Objetivo del proyecto |
53
+ | 4 | ¿Qué he aprendido? | `hallazgos.md` | Descubrimientos clave |
54
+ | 5 | ¿Qué he hecho? | `progreso.md` | Acciones recientes |
55
+
56
+ **Estado del Contexto:**
57
+ - ✅ Completo (5/5) → Listo para continuar
58
+ - ⚠️ Parcial (3-4/5) → Proceder con precaución
59
+ - ❌ Incompleto (0-2/5) → Ejecutar `/especdev:iniciar --reparar`
@@ -0,0 +1,223 @@
1
+ ---
2
+ description: Diseñar contratos de API, webhooks e integraciones con manejo de errores y reintentos
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:contrato-api
7
+
8
+ ## Objetivo
9
+
10
+ Diseñar contratos de API completos (REST o GraphQL), definir webhooks, planificar manejo de errores y reintentos para asegurar la resiliencia de integraciones con plataformas externas.
11
+
12
+ ## Uso
13
+
14
+ ```
15
+ /especdev:contrato-api <descripción de la integración>
16
+ /especdev:contrato-api --tipo rest "Integración con Stripe para pagos"
17
+ /especdev:contrato-api --tipo graphql "API de catálogo de productos"
18
+ /especdev:contrato-api --tipo webhook "Recibir eventos de Shopify"
19
+ ```
20
+
21
+ ## Diferencia con `/especdev:planificar-tecnico`
22
+
23
+ | Aspecto | `planificar-tecnico` | `contrato-api` |
24
+ |---------|---------------------|----------------|
25
+ | **Alcance** | Blueprint completo de una feature | Solo el contrato de API/integración |
26
+ | **Profundidad** | Contrato básico (request/response) | Contrato completo (errores, reintentos, webhooks, idempotencia) |
27
+ | **Cuándo** | Después de spec | Cuando la integración es el foco principal |
28
+
29
+ ## Output para API REST
30
+
31
+ ```markdown
32
+ ## Contrato API: Integración de Pagos con Stripe
33
+
34
+ ### Endpoints
35
+
36
+ #### POST /api/v1/pagos
37
+ **Propósito:** Crear un cobro
38
+ **Auth:** Bearer token (JWT)
39
+ **Rate limit:** 100 req/min por usuario
40
+ **Idempotencia:** Sí (header `Idempotency-Key`)
41
+
42
+ **Request:**
43
+ ```json
44
+ {
45
+ "monto": 5000, // centavos, min: 100, max: 99999900
46
+ "moneda": "USD", // ISO 4217
47
+ "cliente_id": "uuid",
48
+ "metodo_pago_id": "pm_xxx",
49
+ "descripcion": "Pedido #1234",
50
+ "metadata": {} // opcional, max 50 keys
51
+ }
52
+ ```
53
+
54
+ **Responses:**
55
+ | Status | Significado | Body |
56
+ |--------|------------|------|
57
+ | 201 | Cobro creado | `{ id, status, monto, stripe_id, created_at }` |
58
+ | 400 | Datos inválidos | `{ error, field, message }` |
59
+ | 402 | Pago rechazado | `{ error, decline_code, message }` |
60
+ | 409 | Idempotency conflict | `{ error, original_id }` |
61
+ | 429 | Rate limit | `{ error, retry_after }` |
62
+ | 500 | Error interno | `{ error, request_id }` |
63
+
64
+ **Headers de respuesta:**
65
+ ```
66
+ X-Request-Id: uuid // Para soporte/debugging
67
+ X-RateLimit-Remaining: 95
68
+ X-RateLimit-Reset: 1616544000
69
+ ```
70
+
71
+ ### Webhooks (recibir desde Stripe)
72
+
73
+ #### POST /api/v1/webhooks/stripe
74
+ **Verificación:** HMAC-SHA256 con `Stripe-Signature` header
75
+ **Tolerancia de timestamp:** 300 segundos (5 min)
76
+ **Respuesta esperada:** 200 OK (body vacío) en < 5s
77
+
78
+ **Eventos soportados:**
79
+ | Evento | Acción | Idempotente |
80
+ |--------|--------|-------------|
81
+ | `payment_intent.succeeded` | Marcar pedido como pagado | Sí |
82
+ | `payment_intent.payment_failed` | Notificar al usuario | Sí |
83
+ | `charge.refunded` | Procesar reembolso | Sí |
84
+ | `charge.dispute.created` | Alertar al equipo | Sí |
85
+
86
+ **Procesamiento:**
87
+ ```
88
+ 1. Verificar firma HMAC
89
+ 2. Parsear evento
90
+ 3. Verificar idempotencia (event.id en tabla processed_events)
91
+ 4. Responder 200 INMEDIATAMENTE
92
+ 5. Procesar en cola async (no bloquear respuesta)
93
+ 6. Registrar en audit log
94
+ ```
95
+
96
+ ### Manejo de Errores
97
+
98
+ **Errores del cliente (4xx):**
99
+ ```json
100
+ {
101
+ "error": {
102
+ "tipo": "validation_error",
103
+ "mensaje": "El monto debe ser mayor a $1.00",
104
+ "campo": "monto",
105
+ "codigo": "MONTO_INVALIDO"
106
+ }
107
+ }
108
+ ```
109
+
110
+ **Errores del servidor (5xx):**
111
+ ```json
112
+ {
113
+ "error": {
114
+ "tipo": "internal_error",
115
+ "mensaje": "Error procesando el pago",
116
+ "request_id": "req_abc123"
117
+ }
118
+ }
119
+ ```
120
+
121
+ **Códigos de error consistentes:**
122
+ | Código | Significado | HTTP |
123
+ |--------|------------|------|
124
+ | `MONTO_INVALIDO` | Monto fuera de rango | 400 |
125
+ | `MONEDA_NO_SOPORTADA` | Moneda no en whitelist | 400 |
126
+ | `PAGO_RECHAZADO` | Tarjeta rechazada | 402 |
127
+ | `DUPLICADO` | Idempotency conflict | 409 |
128
+ | `RATE_LIMIT` | Demasiadas requests | 429 |
129
+ | `STRIPE_ERROR` | Error de comunicación con Stripe | 502 |
130
+
131
+ ### Política de Reintentos
132
+
133
+ ```
134
+ Estrategia: Exponential backoff con jitter
135
+
136
+ Intento 1: inmediato
137
+ Intento 2: 1s + jitter (0-500ms)
138
+ Intento 3: 2s + jitter (0-1000ms)
139
+ Intento 4: 4s + jitter (0-2000ms)
140
+ Max intentos: 4
141
+
142
+ Reintentar en:
143
+ ✅ 429 (rate limit) — respetar Retry-After header
144
+ ✅ 500, 502, 503, 504 (errores transitorios)
145
+ ❌ 400, 401, 402, 403, 404, 409 (errores definitivos)
146
+
147
+ Circuit breaker:
148
+ - Abrir después de 5 fallos consecutivos
149
+ - Half-open después de 30 segundos
150
+ - Cerrar después de 2 éxitos consecutivos
151
+ ```
152
+
153
+ ### Timeouts
154
+
155
+ | Operación | Timeout | Acción si timeout |
156
+ |-----------|---------|-------------------|
157
+ | Crear cobro | 10s | Reintentar (idempotente) |
158
+ | Verificar webhook | 2s | Rechazar (400) |
159
+ | Procesar evento async | 30s | Cola de dead-letter |
160
+ ```
161
+
162
+ ## Output para GraphQL
163
+
164
+ ```markdown
165
+ ### Schema GraphQL
166
+
167
+ ```graphql
168
+ type Mutation {
169
+ crearPago(input: CrearPagoInput!): PagoResult!
170
+ reembolsar(pagoId: ID!, monto: Int): ReembolsoResult!
171
+ }
172
+
173
+ type Query {
174
+ pago(id: ID!): Pago
175
+ pagos(filtro: PagoFiltro, paginacion: Paginacion): PagoConnection!
176
+ }
177
+
178
+ input CrearPagoInput {
179
+ monto: Int! # centavos
180
+ moneda: Moneda!
181
+ clienteId: ID!
182
+ metodoPagoId: String!
183
+ descripcion: String
184
+ }
185
+
186
+ type PagoResult {
187
+ pago: Pago
188
+ error: APIError
189
+ }
190
+ ```
191
+ ```
192
+
193
+ ## Almacenamiento
194
+
195
+ ```
196
+ specs/api/
197
+ ├── openapi.yaml # Spec completa (auto-generada)
198
+ ├── contratos/
199
+ │ ├── pagos.contrato.md # Contrato de pagos
200
+ │ ├── webhooks.contrato.md
201
+ │ └── catalogo.contrato.md
202
+ └── postman/
203
+ └── coleccion.json # Colección Postman exportada
204
+ ```
205
+
206
+ ## Integración con Pipeline
207
+
208
+ ```
209
+ /especdev:contrato-api → contrato + OpenAPI parcial
210
+ → /especdev:planificar-tecnico → incorpora contrato al plan
211
+ → /especdev:desglosar → tareas incluyen implementación del contrato
212
+ → Documentación Viva → actualiza OpenAPI global
213
+ ```
214
+
215
+ ## Guardrails
216
+
217
+ - **Nunca** diseñar API sin definir manejo de errores
218
+ - **Nunca** omitir idempotencia en operaciones de escritura
219
+ - **Nunca** confiar en input externo sin validación
220
+ - **Siempre** definir timeouts y política de reintentos
221
+ - **Siempre** incluir `request_id` en respuestas de error
222
+ - **Siempre** verificar firma de webhooks antes de procesar
223
+ - **Siempre** responder rápido a webhooks (< 5s), procesar async
@@ -0,0 +1,245 @@
1
+ ---
2
+ description: Bloquear estándares visuales antes de codear frontend (UI Design Contract)
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:contrato-ui
7
+
8
+ ## Objetivo
9
+
10
+ Definir y bloquear los estándares visuales de una feature frontend **antes** de escribir código. Previene el problema más común del desarrollo frontend con IA: inconsistencia visual entre componentes porque no hay un contrato de diseño.
11
+
12
+ > Adaptado de Get Shit Done (gsd-build/get-shit-done) — UI Design Contracts: "lock visual standards before coding to prevent visually inconsistent AI-generated components."
13
+
14
+ ## Uso
15
+
16
+ ```
17
+ /especdev:contrato-ui # Crear contrato para el proyecto
18
+ /especdev:contrato-ui @specs/features/ui/ # Crear para un módulo específico
19
+ /especdev:contrato-ui --desde @figma-export # Derivar de un export de Figma
20
+ /especdev:contrato-ui --extender # Extender contrato existente
21
+ ```
22
+
23
+ ## Por Qué Existe
24
+
25
+ | Sin Contrato UI | Con Contrato UI |
26
+ |-----------------|-----------------|
27
+ | Componente A usa `padding: 16px`, B usa `padding: 1rem`, C usa `padding: 20px` | Todos usan `--spacing-md: 1rem` |
28
+ | Cada componente elige sus propios colores | Paleta definida, tokens de diseño |
29
+ | Tipografía inconsistente entre páginas | Escala tipográfica fija |
30
+ | Copywriting variable ("Click here" vs "Continuar" vs "Submit") | Voz y tono definidos |
31
+ | IA genera componentes "bonitos" pero incompatibles entre sí | Todos los componentes siguen el mismo contrato |
32
+
33
+ ## Comportamiento
34
+
35
+ ### Paso 1: Detectar Stack Frontend
36
+
37
+ ```
38
+ Detectando stack frontend...
39
+ ├── Framework: React 19 / Next.js 15
40
+ ├── Estilos: TailwindCSS 4.x
41
+ ├── Componentes: shadcn/ui
42
+ ├── Iconos: Lucide Icons
43
+ └── Design system existente: No detectado
44
+ ```
45
+
46
+ ### Paso 2: Definir Contrato
47
+
48
+ El contrato cubre 6 dimensiones:
49
+
50
+ #### 1. Espaciado (Spacing)
51
+
52
+ ```yaml
53
+ spacing:
54
+ base: 4px # Unidad mínima
55
+ scale:
56
+ xs: 4px # 1 unidad
57
+ sm: 8px # 2 unidades
58
+ md: 16px # 4 unidades (default)
59
+ lg: 24px # 6 unidades
60
+ xl: 32px # 8 unidades
61
+ 2xl: 48px # 12 unidades
62
+ regla: "Todo espaciado DEBE ser múltiplo de 4px"
63
+ ```
64
+
65
+ #### 2. Tipografía (Typography)
66
+
67
+ ```yaml
68
+ typography:
69
+ familia:
70
+ primaria: "Inter, system-ui, sans-serif"
71
+ monospace: "JetBrains Mono, monospace"
72
+ escala:
73
+ xs: "0.75rem / 1rem" # 12px, captions
74
+ sm: "0.875rem / 1.25rem" # 14px, labels
75
+ base: "1rem / 1.5rem" # 16px, body
76
+ lg: "1.125rem / 1.75rem" # 18px, lead
77
+ xl: "1.25rem / 1.75rem" # 20px, h4
78
+ 2xl: "1.5rem / 2rem" # 24px, h3
79
+ 3xl: "1.875rem / 2.25rem" # 30px, h2
80
+ 4xl: "2.25rem / 2.5rem" # 36px, h1
81
+ peso:
82
+ normal: 400
83
+ medium: 500
84
+ semibold: 600
85
+ bold: 700
86
+ ```
87
+
88
+ #### 3. Color (Palette)
89
+
90
+ ```yaml
91
+ color:
92
+ brand:
93
+ primary: "#2563EB" # Acciones principales
94
+ primary-hover: "#1D4ED8"
95
+ secondary: "#64748B" # Acciones secundarias
96
+ semantic:
97
+ success: "#16A34A"
98
+ warning: "#D97706"
99
+ error: "#DC2626"
100
+ info: "#2563EB"
101
+ neutral:
102
+ background: "#FFFFFF"
103
+ surface: "#F8FAFC"
104
+ border: "#E2E8F0"
105
+ text-primary: "#0F172A"
106
+ text-secondary: "#64748B"
107
+ text-muted: "#94A3B8"
108
+ modo_oscuro: true # Si aplica, definir variantes
109
+ ```
110
+
111
+ #### 4. Componentes (Patterns)
112
+
113
+ ```yaml
114
+ componentes:
115
+ botones:
116
+ primario: "bg-primary text-white rounded-md px-4 py-2 font-medium"
117
+ secundario: "bg-white border border-border text-secondary rounded-md px-4 py-2"
118
+ destructivo: "bg-error text-white rounded-md px-4 py-2"
119
+ fantasma: "text-secondary hover:bg-surface rounded-md px-4 py-2"
120
+ tamanos: [sm, md, lg]
121
+ inputs:
122
+ estilo: "border rounded-md px-3 py-2 focus:ring-2 focus:ring-primary"
123
+ error: "border-error focus:ring-error"
124
+ label: "text-sm font-medium text-text-primary mb-1"
125
+ cards:
126
+ estilo: "bg-white border rounded-lg p-6 shadow-sm"
127
+ modales:
128
+ overlay: "bg-black/50 backdrop-blur-sm"
129
+ contenido: "bg-white rounded-xl shadow-xl max-w-md mx-auto p-6"
130
+ ```
131
+
132
+ #### 5. Layout
133
+
134
+ ```yaml
135
+ layout:
136
+ contenedor: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"
137
+ grid: "12 columnas"
138
+ breakpoints:
139
+ sm: "640px"
140
+ md: "768px"
141
+ lg: "1024px"
142
+ xl: "1280px"
143
+ sidebar: "w-64 fixed"
144
+ navbar: "h-16 fixed top-0"
145
+ ```
146
+
147
+ #### 6. Voz y Tono (Copywriting)
148
+
149
+ ```yaml
150
+ copywriting:
151
+ idioma_ui: "es" # Del config.yaml
152
+ voz: "Profesional pero cercano"
153
+ reglas:
154
+ - "Usar 'tú' (no 'usted') para el usuario"
155
+ - "Botones: verbos en infinitivo ('Crear', 'Guardar', 'Cancelar')"
156
+ - "Errores: explicar qué pasó Y qué hacer ('El email ya existe. Intenta con otro.')"
157
+ - "Éxito: confirmar la acción completada ('Usuario creado exitosamente')"
158
+ - "Vacíos: guiar al usuario ('Aún no tienes proyectos. Crea el primero.')"
159
+ prohibido:
160
+ - "Click here / Haga clic aquí"
161
+ - "Error genérico sin contexto"
162
+ - "Jerga técnica en mensajes al usuario"
163
+ ```
164
+
165
+ ### Paso 3: Generar Artefacto
166
+
167
+ ```
168
+ Contrato UI generado:
169
+ → specs/ui/contrato-ui.yaml (contrato completo)
170
+ → specs/ui/tokens.css (custom properties generadas)
171
+ ```
172
+
173
+ ## Output
174
+
175
+ ### Archivo de Contrato (`specs/ui/contrato-ui.yaml`)
176
+
177
+ YAML completo con las 6 dimensiones definidas arriba.
178
+
179
+ ### Tokens CSS generados (`specs/ui/tokens.css`)
180
+
181
+ ```css
182
+ :root {
183
+ /* Spacing */
184
+ --spacing-xs: 4px;
185
+ --spacing-sm: 8px;
186
+ --spacing-md: 16px;
187
+ --spacing-lg: 24px;
188
+ --spacing-xl: 32px;
189
+
190
+ /* Colors */
191
+ --color-primary: #2563EB;
192
+ --color-primary-hover: #1D4ED8;
193
+ --color-success: #16A34A;
194
+ --color-error: #DC2626;
195
+ --color-text-primary: #0F172A;
196
+ --color-text-secondary: #64748B;
197
+ --color-border: #E2E8F0;
198
+ --color-surface: #F8FAFC;
199
+
200
+ /* Typography */
201
+ --font-primary: 'Inter', system-ui, sans-serif;
202
+ --font-mono: 'JetBrains Mono', monospace;
203
+ }
204
+ ```
205
+
206
+ ## Integración con Pipeline
207
+
208
+ ```
209
+ /especdev:contrato-ui → contrato-ui.yaml + tokens.css
210
+ → /especdev:especificar → escenarios referencian tokens
211
+ → /especdev:planificar-tecnico → plan incluye contrato como dependencia
212
+ → /especdev:implementar → agente usa tokens, NO inventa estilos
213
+ → /especdev:revisar → verifica cumplimiento del contrato
214
+ ```
215
+
216
+ ## Verificación de Cumplimiento
217
+
218
+ Durante `/especdev:revisar`, se verifica:
219
+
220
+ | Verificación | Criterio | Severidad |
221
+ |--------------|----------|-----------|
222
+ | Colores | Solo usa colores del contrato | ❌ Crítico |
223
+ | Espaciado | Múltiplos de la base (4px) | ⚠️ Alto |
224
+ | Tipografía | Solo usa escala definida | ⚠️ Alto |
225
+ | Copywriting | Sigue reglas de voz y tono | ℹ️ Info |
226
+ | Componentes | Usa patterns definidos | ⚠️ Alto |
227
+ | Responsive | Respeta breakpoints | ⚠️ Alto |
228
+
229
+ ## Cuándo Usar
230
+
231
+ | Situación | Usar contrato |
232
+ |-----------|--------------|
233
+ | Feature con UI nueva | ✅ Sí |
234
+ | Modificación de UI existente | ✅ Sí (extender contrato existente) |
235
+ | API/backend sin UI | ❌ No |
236
+ | Fix de bug visual | ❌ No (contrato ya existe) |
237
+ | Prototipo/POC | ⚠️ Opcional (contrato mínimo) |
238
+
239
+ ## Guardrails
240
+
241
+ - **Nunca** generar componentes frontend sin contrato UI vigente
242
+ - **Nunca** usar valores hardcoded de color/spacing en código (usar tokens)
243
+ - **Siempre** verificar cumplimiento del contrato en revisión
244
+ - **Siempre** extender (no reemplazar) el contrato cuando se agregan patrones
245
+ - **Siempre** generar tokens CSS/variables junto al contrato