theus-cli-darwin-x64 0.2.84

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 (742) hide show
  1. package/LICENSE +42 -0
  2. package/README.md +295 -0
  3. package/RELEASE.json +18 -0
  4. package/assets/brand-official/v1.0/logo/theus-lockup-negative-official.png +0 -0
  5. package/assets/brand-official/v1.0/logo/theus-lockup-primary-dark-official.png +0 -0
  6. package/assets/fonts/satoshi/satoshi-300.woff2 +0 -0
  7. package/assets/fonts/satoshi/satoshi-400.woff2 +0 -0
  8. package/assets/fonts/satoshi/satoshi-500.woff2 +0 -0
  9. package/assets/fonts/satoshi/satoshi-700.woff2 +0 -0
  10. package/assets/fonts/satoshi/satoshi-900.woff2 +0 -0
  11. package/assets/windows-store/Square150x150Logo.png +0 -0
  12. package/assets/windows-store/Square44x44Logo.png +0 -0
  13. package/assets/windows-store/StoreLogo.png +0 -0
  14. package/assets/windows-store/theus-store-icon-master.png +0 -0
  15. package/bin/theus +0 -0
  16. package/package.json +18 -0
  17. package/vendor/theus-arsenal/.arsenal-nombres-ola2.json +6 -0
  18. package/vendor/theus-arsenal/.arsenal-nombres-ola3.json +72 -0
  19. package/vendor/theus-arsenal/.mailmap +2 -0
  20. package/vendor/theus-arsenal/.theus-plugin/marketplace.json +25 -0
  21. package/vendor/theus-arsenal/.theus-plugin/plugin.json +20 -0
  22. package/vendor/theus-arsenal/AUTHORS.md +8 -0
  23. package/vendor/theus-arsenal/CLEANROOM_REPLACEMENT_PLAN.md +11 -0
  24. package/vendor/theus-arsenal/LICENSE +26 -0
  25. package/vendor/theus-arsenal/PROVENANCE.md +9 -0
  26. package/vendor/theus-arsenal/README.md +41 -0
  27. package/vendor/theus-arsenal/THIRD_PARTY.md +80 -0
  28. package/vendor/theus-arsenal/agents/actualizador-docs.md +123 -0
  29. package/vendor/theus-arsenal/agents/analista-comentarios.md +53 -0
  30. package/vendor/theus-arsenal/agents/analista-conversaciones.md +60 -0
  31. package/vendor/theus-arsenal/agents/analista-tests-pr.md +53 -0
  32. package/vendor/theus-arsenal/agents/analista-tipos.md +49 -0
  33. package/vendor/theus-arsenal/agents/arquitecto-accesibilidad.md +148 -0
  34. package/vendor/theus-arsenal/agents/arquitecto-codigo.md +79 -0
  35. package/vendor/theus-arsenal/agents/arquitecto-homelab.md +90 -0
  36. package/vendor/theus-arsenal/agents/arquitecto-redes.md +116 -0
  37. package/vendor/theus-arsenal/agents/arquitecto-sistemas.md +219 -0
  38. package/vendor/theus-arsenal/agents/bifurcador-opensource.md +206 -0
  39. package/vendor/theus-arsenal/agents/cazador-fallos-silenciosos.md +58 -0
  40. package/vendor/theus-arsenal/agents/consultor-documentacion.md +76 -0
  41. package/vendor/theus-arsenal/agents/diagnosticador-redes.md +135 -0
  42. package/vendor/theus-arsenal/agents/ejecutor-e2e.md +96 -0
  43. package/vendor/theus-arsenal/agents/empaquetador-opensource.md +257 -0
  44. package/vendor/theus-arsenal/agents/escaner-secretos.md +196 -0
  45. package/vendor/theus-arsenal/agents/especialista-seo.md +70 -0
  46. package/vendor/theus-arsenal/agents/estratega-marketing.md +158 -0
  47. package/vendor/theus-arsenal/agents/evaluador-agentes.md +214 -0
  48. package/vendor/theus-arsenal/agents/evaluador-harness.md +217 -0
  49. package/vendor/theus-arsenal/agents/explorador-codigo.md +79 -0
  50. package/vendor/theus-arsenal/agents/extractor-specs.md +214 -0
  51. package/vendor/theus-arsenal/agents/generador-harness.md +139 -0
  52. package/vendor/theus-arsenal/agents/guia-tdd.md +99 -0
  53. package/vendor/theus-arsenal/agents/jefe-de-gabinete.md +162 -0
  54. package/vendor/theus-arsenal/agents/limpiador-refactors.md +93 -0
  55. package/vendor/theus-arsenal/agents/optimizador-rendimiento.md +454 -0
  56. package/vendor/theus-arsenal/agents/planificador-harness.md +107 -0
  57. package/vendor/theus-arsenal/agents/planificador.md +221 -0
  58. package/vendor/theus-arsenal/agents/resolutor-apps-harmonyos.md +181 -0
  59. package/vendor/theus-arsenal/agents/resolutor-builds-cpp.md +98 -0
  60. package/vendor/theus-arsenal/agents/resolutor-builds-dart.md +209 -0
  61. package/vendor/theus-arsenal/agents/resolutor-builds-django.md +253 -0
  62. package/vendor/theus-arsenal/agents/resolutor-builds-go.md +102 -0
  63. package/vendor/theus-arsenal/agents/resolutor-builds-java.md +274 -0
  64. package/vendor/theus-arsenal/agents/resolutor-builds-kotlin.md +128 -0
  65. package/vendor/theus-arsenal/agents/resolutor-builds-pytorch.md +128 -0
  66. package/vendor/theus-arsenal/agents/resolutor-builds-react.md +214 -0
  67. package/vendor/theus-arsenal/agents/resolutor-builds-rust.md +156 -0
  68. package/vendor/theus-arsenal/agents/resolutor-builds-swift.md +169 -0
  69. package/vendor/theus-arsenal/agents/resolutor-builds.md +122 -0
  70. package/vendor/theus-arsenal/agents/revisor-bd.md +97 -0
  71. package/vendor/theus-arsenal/agents/revisor-codigo.md +291 -0
  72. package/vendor/theus-arsenal/agents/revisor-config-red.md +116 -0
  73. package/vendor/theus-arsenal/agents/revisor-cpp.md +80 -0
  74. package/vendor/theus-arsenal/agents/revisor-csharp.md +109 -0
  75. package/vendor/theus-arsenal/agents/revisor-django.md +168 -0
  76. package/vendor/theus-arsenal/agents/revisor-fastapi.md +82 -0
  77. package/vendor/theus-arsenal/agents/revisor-flutter.md +251 -0
  78. package/vendor/theus-arsenal/agents/revisor-go.md +84 -0
  79. package/vendor/theus-arsenal/agents/revisor-java.md +192 -0
  80. package/vendor/theus-arsenal/agents/revisor-kotlin.md +171 -0
  81. package/vendor/theus-arsenal/agents/revisor-ml.md +159 -0
  82. package/vendor/theus-arsenal/agents/revisor-php.md +108 -0
  83. package/vendor/theus-arsenal/agents/revisor-python.md +106 -0
  84. package/vendor/theus-arsenal/agents/revisor-react.md +166 -0
  85. package/vendor/theus-arsenal/agents/revisor-rust.md +102 -0
  86. package/vendor/theus-arsenal/agents/revisor-seguridad.md +116 -0
  87. package/vendor/theus-arsenal/agents/revisor-software-clinico.md +95 -0
  88. package/vendor/theus-arsenal/agents/revisor-swift.md +115 -0
  89. package/vendor/theus-arsenal/agents/revisor-typescript.md +123 -0
  90. package/vendor/theus-arsenal/agents/revisor-vue.md +205 -0
  91. package/vendor/theus-arsenal/agents/simplificador-codigo.md +55 -0
  92. package/vendor/theus-arsenal/commands/actualizar-docs.md +88 -0
  93. package/vendor/theus-arsenal/commands/actualizar-mapas-codigo.md +78 -0
  94. package/vendor/theus-arsenal/commands/aprender-evaluar.md +109 -0
  95. package/vendor/theus-arsenal/commands/aprender.md +74 -0
  96. package/vendor/theus-arsenal/commands/arreglar-build.md +66 -0
  97. package/vendor/theus-arsenal/commands/bucle-multiperspectiva.md +153 -0
  98. package/vendor/theus-arsenal/commands/build-cpp.md +173 -0
  99. package/vendor/theus-arsenal/commands/build-flutter.md +164 -0
  100. package/vendor/theus-arsenal/commands/build-go.md +183 -0
  101. package/vendor/theus-arsenal/commands/build-gradle.md +75 -0
  102. package/vendor/theus-arsenal/commands/build-kotlin.md +176 -0
  103. package/vendor/theus-arsenal/commands/build-react.md +187 -0
  104. package/vendor/theus-arsenal/commands/build-rust.md +187 -0
  105. package/vendor/theus-arsenal/commands/campana-marketing.md +125 -0
  106. package/vendor/theus-arsenal/commands/checkpoint.md +78 -0
  107. package/vendor/theus-arsenal/commands/cobertura-tests.md +73 -0
  108. package/vendor/theus-arsenal/commands/configurar-gestor-paquetes.md +86 -0
  109. package/vendor/theus-arsenal/commands/consulta.md +164 -0
  110. package/vendor/theus-arsenal/commands/control-calidad.md +50 -0
  111. package/vendor/theus-arsenal/commands/crear-skill.md +77 -0
  112. package/vendor/theus-arsenal/commands/enrutar-modelo.md +30 -0
  113. package/vendor/theus-arsenal/commands/epica-desbloquear.md +17 -0
  114. package/vendor/theus-arsenal/commands/epica-descomponer.md +22 -0
  115. package/vendor/theus-arsenal/commands/epica-publicar.md +21 -0
  116. package/vendor/theus-arsenal/commands/epica-reclamar.md +25 -0
  117. package/vendor/theus-arsenal/commands/epica-revisar.md +22 -0
  118. package/vendor/theus-arsenal/commands/epica-sincronizar.md +21 -0
  119. package/vendor/theus-arsenal/commands/epica-validar.md +21 -0
  120. package/vendor/theus-arsenal/commands/evolucionar.md +176 -0
  121. package/vendor/theus-arsenal/commands/funcionalidad.md +49 -0
  122. package/vendor/theus-arsenal/commands/guardar-sesion.md +278 -0
  123. package/vendor/theus-arsenal/commands/harness-build.md +111 -0
  124. package/vendor/theus-arsenal/commands/harness-diseno.md +46 -0
  125. package/vendor/theus-arsenal/commands/informe-costos.md +90 -0
  126. package/vendor/theus-arsenal/commands/iniciar-bucle.md +36 -0
  127. package/vendor/theus-arsenal/commands/instintos-estado.md +53 -0
  128. package/vendor/theus-arsenal/commands/instintos-exportar.md +69 -0
  129. package/vendor/theus-arsenal/commands/instintos-importar.md +120 -0
  130. package/vendor/theus-arsenal/commands/lienzo-planes.md +48 -0
  131. package/vendor/theus-arsenal/commands/limpiar-refactor.md +84 -0
  132. package/vendor/theus-arsenal/commands/modo-seguro.md +96 -0
  133. package/vendor/theus-arsenal/commands/orq-agregar-funcionalidad.md +36 -0
  134. package/vendor/theus-arsenal/commands/orq-cambiar-funcionalidad.md +38 -0
  135. package/vendor/theus-arsenal/commands/orq-construir-mvp.md +36 -0
  136. package/vendor/theus-arsenal/commands/orq-corregir-defecto.md +40 -0
  137. package/vendor/theus-arsenal/commands/orq-refinar-codigo.md +44 -0
  138. package/vendor/theus-arsenal/commands/orq-revisar.md +135 -0
  139. package/vendor/theus-arsenal/commands/plan-prd.md +160 -0
  140. package/vendor/theus-arsenal/commands/plan.md +198 -0
  141. package/vendor/theus-arsenal/commands/podar.md +31 -0
  142. package/vendor/theus-arsenal/commands/pr.md +181 -0
  143. package/vendor/theus-arsenal/commands/promover.md +41 -0
  144. package/vendor/theus-arsenal/commands/proyectos.md +33 -0
  145. package/vendor/theus-arsenal/commands/prp-commit.md +112 -0
  146. package/vendor/theus-arsenal/commands/prp-implementar.md +385 -0
  147. package/vendor/theus-arsenal/commands/prp-planificar.md +501 -0
  148. package/vendor/theus-arsenal/commands/reanudar-sesion.md +160 -0
  149. package/vendor/theus-arsenal/commands/revisar-codigo.md +289 -0
  150. package/vendor/theus-arsenal/commands/revisar-cpp.md +132 -0
  151. package/vendor/theus-arsenal/commands/revisar-fastapi.md +39 -0
  152. package/vendor/theus-arsenal/commands/revisar-flutter.md +115 -0
  153. package/vendor/theus-arsenal/commands/revisar-go.md +148 -0
  154. package/vendor/theus-arsenal/commands/revisar-kotlin.md +140 -0
  155. package/vendor/theus-arsenal/commands/revisar-pr.md +37 -0
  156. package/vendor/theus-arsenal/commands/revisar-python.md +297 -0
  157. package/vendor/theus-arsenal/commands/revisar-react.md +170 -0
  158. package/vendor/theus-arsenal/commands/revisar-rust.md +142 -0
  159. package/vendor/theus-arsenal/commands/revisar-vue.md +174 -0
  160. package/vendor/theus-arsenal/commands/salud-skills.md +52 -0
  161. package/vendor/theus-arsenal/commands/sesiones.md +345 -0
  162. package/vendor/theus-arsenal/commands/test-cpp.md +252 -0
  163. package/vendor/theus-arsenal/commands/test-flutter.md +143 -0
  164. package/vendor/theus-arsenal/commands/test-go.md +268 -0
  165. package/vendor/theus-arsenal/commands/test-kotlin.md +312 -0
  166. package/vendor/theus-arsenal/commands/test-react.md +265 -0
  167. package/vendor/theus-arsenal/commands/test-rust.md +309 -0
  168. package/vendor/theus-arsenal/commands/vigilancia-canary.md +43 -0
  169. package/vendor/theus-arsenal/hooks/hooks.json +274 -0
  170. package/vendor/theus-arsenal/package.json +6 -0
  171. package/vendor/theus-arsenal/rules/angular/coding-style.md +182 -0
  172. package/vendor/theus-arsenal/rules/angular/hooks.md +25 -0
  173. package/vendor/theus-arsenal/rules/angular/patterns.md +249 -0
  174. package/vendor/theus-arsenal/rules/angular/security.md +87 -0
  175. package/vendor/theus-arsenal/rules/angular/testing.md +164 -0
  176. package/vendor/theus-arsenal/rules/arkts/coding-style.md +153 -0
  177. package/vendor/theus-arsenal/rules/arkts/hooks.md +80 -0
  178. package/vendor/theus-arsenal/rules/arkts/patterns.md +236 -0
  179. package/vendor/theus-arsenal/rules/arkts/security.md +141 -0
  180. package/vendor/theus-arsenal/rules/arkts/testing.md +126 -0
  181. package/vendor/theus-arsenal/rules/common/agents.md +49 -0
  182. package/vendor/theus-arsenal/rules/common/code-review.md +123 -0
  183. package/vendor/theus-arsenal/rules/common/coding-style.md +90 -0
  184. package/vendor/theus-arsenal/rules/common/development-workflow.md +44 -0
  185. package/vendor/theus-arsenal/rules/common/git-workflow.md +24 -0
  186. package/vendor/theus-arsenal/rules/common/hooks.md +32 -0
  187. package/vendor/theus-arsenal/rules/common/patterns.md +31 -0
  188. package/vendor/theus-arsenal/rules/common/performance.md +53 -0
  189. package/vendor/theus-arsenal/rules/common/security.md +29 -0
  190. package/vendor/theus-arsenal/rules/common/testing.md +57 -0
  191. package/vendor/theus-arsenal/rules/cpp/coding-style.md +44 -0
  192. package/vendor/theus-arsenal/rules/cpp/hooks.md +39 -0
  193. package/vendor/theus-arsenal/rules/cpp/patterns.md +51 -0
  194. package/vendor/theus-arsenal/rules/cpp/security.md +51 -0
  195. package/vendor/theus-arsenal/rules/cpp/testing.md +44 -0
  196. package/vendor/theus-arsenal/rules/csharp/coding-style.md +72 -0
  197. package/vendor/theus-arsenal/rules/csharp/hooks.md +25 -0
  198. package/vendor/theus-arsenal/rules/csharp/patterns.md +50 -0
  199. package/vendor/theus-arsenal/rules/csharp/security.md +58 -0
  200. package/vendor/theus-arsenal/rules/csharp/testing.md +50 -0
  201. package/vendor/theus-arsenal/rules/dart/coding-style.md +159 -0
  202. package/vendor/theus-arsenal/rules/dart/hooks.md +68 -0
  203. package/vendor/theus-arsenal/rules/dart/patterns.md +261 -0
  204. package/vendor/theus-arsenal/rules/dart/security.md +135 -0
  205. package/vendor/theus-arsenal/rules/dart/testing.md +215 -0
  206. package/vendor/theus-arsenal/rules/fsharp/coding-style.md +112 -0
  207. package/vendor/theus-arsenal/rules/fsharp/hooks.md +26 -0
  208. package/vendor/theus-arsenal/rules/fsharp/patterns.md +111 -0
  209. package/vendor/theus-arsenal/rules/fsharp/security.md +76 -0
  210. package/vendor/theus-arsenal/rules/fsharp/testing.md +62 -0
  211. package/vendor/theus-arsenal/rules/golang/coding-style.md +32 -0
  212. package/vendor/theus-arsenal/rules/golang/hooks.md +17 -0
  213. package/vendor/theus-arsenal/rules/golang/patterns.md +45 -0
  214. package/vendor/theus-arsenal/rules/golang/security.md +34 -0
  215. package/vendor/theus-arsenal/rules/golang/testing.md +31 -0
  216. package/vendor/theus-arsenal/rules/java/coding-style.md +114 -0
  217. package/vendor/theus-arsenal/rules/java/hooks.md +18 -0
  218. package/vendor/theus-arsenal/rules/java/patterns.md +147 -0
  219. package/vendor/theus-arsenal/rules/java/security.md +101 -0
  220. package/vendor/theus-arsenal/rules/java/testing.md +133 -0
  221. package/vendor/theus-arsenal/rules/kotlin/coding-style.md +86 -0
  222. package/vendor/theus-arsenal/rules/kotlin/hooks.md +17 -0
  223. package/vendor/theus-arsenal/rules/kotlin/patterns.md +146 -0
  224. package/vendor/theus-arsenal/rules/kotlin/security.md +82 -0
  225. package/vendor/theus-arsenal/rules/kotlin/testing.md +128 -0
  226. package/vendor/theus-arsenal/rules/nuxt/coding-style.md +47 -0
  227. package/vendor/theus-arsenal/rules/nuxt/hooks.md +39 -0
  228. package/vendor/theus-arsenal/rules/nuxt/patterns.md +54 -0
  229. package/vendor/theus-arsenal/rules/nuxt/security.md +48 -0
  230. package/vendor/theus-arsenal/rules/nuxt/testing.md +49 -0
  231. package/vendor/theus-arsenal/rules/php/coding-style.md +40 -0
  232. package/vendor/theus-arsenal/rules/php/hooks.md +24 -0
  233. package/vendor/theus-arsenal/rules/php/patterns.md +33 -0
  234. package/vendor/theus-arsenal/rules/php/security.md +37 -0
  235. package/vendor/theus-arsenal/rules/php/testing.md +38 -0
  236. package/vendor/theus-arsenal/rules/python/coding-style.md +42 -0
  237. package/vendor/theus-arsenal/rules/python/fastapi.md +58 -0
  238. package/vendor/theus-arsenal/rules/python/hooks.md +19 -0
  239. package/vendor/theus-arsenal/rules/python/patterns.md +39 -0
  240. package/vendor/theus-arsenal/rules/python/security.md +30 -0
  241. package/vendor/theus-arsenal/rules/python/testing.md +38 -0
  242. package/vendor/theus-arsenal/rules/react/coding-style.md +109 -0
  243. package/vendor/theus-arsenal/rules/react/hooks.md +187 -0
  244. package/vendor/theus-arsenal/rules/react/patterns.md +194 -0
  245. package/vendor/theus-arsenal/rules/react/security.md +180 -0
  246. package/vendor/theus-arsenal/rules/react/testing.md +208 -0
  247. package/vendor/theus-arsenal/rules/react-native/accessibility.md +55 -0
  248. package/vendor/theus-arsenal/rules/react-native/coding-style.md +71 -0
  249. package/vendor/theus-arsenal/rules/react-native/hooks.md +28 -0
  250. package/vendor/theus-arsenal/rules/react-native/patterns.md +88 -0
  251. package/vendor/theus-arsenal/rules/react-native/performance.md +45 -0
  252. package/vendor/theus-arsenal/rules/react-native/production-readiness.md +51 -0
  253. package/vendor/theus-arsenal/rules/react-native/security.md +43 -0
  254. package/vendor/theus-arsenal/rules/react-native/testing.md +52 -0
  255. package/vendor/theus-arsenal/rules/ruby/coding-style.md +46 -0
  256. package/vendor/theus-arsenal/rules/ruby/hooks.md +37 -0
  257. package/vendor/theus-arsenal/rules/ruby/patterns.md +44 -0
  258. package/vendor/theus-arsenal/rules/ruby/security.md +51 -0
  259. package/vendor/theus-arsenal/rules/ruby/testing.md +51 -0
  260. package/vendor/theus-arsenal/rules/rust/coding-style.md +151 -0
  261. package/vendor/theus-arsenal/rules/rust/hooks.md +16 -0
  262. package/vendor/theus-arsenal/rules/rust/patterns.md +168 -0
  263. package/vendor/theus-arsenal/rules/rust/security.md +141 -0
  264. package/vendor/theus-arsenal/rules/rust/testing.md +154 -0
  265. package/vendor/theus-arsenal/rules/swift/coding-style.md +47 -0
  266. package/vendor/theus-arsenal/rules/swift/hooks.md +20 -0
  267. package/vendor/theus-arsenal/rules/swift/patterns.md +66 -0
  268. package/vendor/theus-arsenal/rules/swift/security.md +33 -0
  269. package/vendor/theus-arsenal/rules/swift/testing.md +45 -0
  270. package/vendor/theus-arsenal/rules/typescript/coding-style.md +199 -0
  271. package/vendor/theus-arsenal/rules/typescript/hooks.md +22 -0
  272. package/vendor/theus-arsenal/rules/typescript/patterns.md +52 -0
  273. package/vendor/theus-arsenal/rules/typescript/security.md +28 -0
  274. package/vendor/theus-arsenal/rules/typescript/testing.md +18 -0
  275. package/vendor/theus-arsenal/rules/vue/coding-style.md +54 -0
  276. package/vendor/theus-arsenal/rules/vue/hooks.md +45 -0
  277. package/vendor/theus-arsenal/rules/vue/patterns.md +56 -0
  278. package/vendor/theus-arsenal/rules/vue/security.md +46 -0
  279. package/vendor/theus-arsenal/rules/vue/testing.md +53 -0
  280. package/vendor/theus-arsenal/rules/web/coding-style.md +108 -0
  281. package/vendor/theus-arsenal/rules/web/design-quality.md +75 -0
  282. package/vendor/theus-arsenal/rules/web/hooks.md +141 -0
  283. package/vendor/theus-arsenal/rules/web/patterns.md +91 -0
  284. package/vendor/theus-arsenal/rules/web/performance.md +76 -0
  285. package/vendor/theus-arsenal/rules/web/security.md +69 -0
  286. package/vendor/theus-arsenal/rules/web/testing.md +67 -0
  287. package/vendor/theus-arsenal/scripts/hooks/bash-hook-dispatcher.js +192 -0
  288. package/vendor/theus-arsenal/scripts/hooks/block-no-verify.js +556 -0
  289. package/vendor/theus-arsenal/scripts/hooks/check-console-log.js +92 -0
  290. package/vendor/theus-arsenal/scripts/hooks/check-hook-enabled.js +16 -0
  291. package/vendor/theus-arsenal/scripts/hooks/config-protection.js +171 -0
  292. package/vendor/theus-arsenal/scripts/hooks/design-quality-check.js +132 -0
  293. package/vendor/theus-arsenal/scripts/hooks/doc-file-warning.js +110 -0
  294. package/vendor/theus-arsenal/scripts/hooks/modo-seguro.js +158 -0
  295. package/vendor/theus-arsenal/scripts/hooks/notificacion-escritorio.js +208 -0
  296. package/vendor/theus-arsenal/scripts/hooks/plugin-hook-bootstrap.js +280 -0
  297. package/vendor/theus-arsenal/scripts/hooks/post-bash-command-log.js +87 -0
  298. package/vendor/theus-arsenal/scripts/hooks/post-bash-dispatcher.js +24 -0
  299. package/vendor/theus-arsenal/scripts/hooks/post-bash-pr-created.js +60 -0
  300. package/vendor/theus-arsenal/scripts/hooks/post-edit-accumulator.js +94 -0
  301. package/vendor/theus-arsenal/scripts/hooks/post-edit-console-warn.js +54 -0
  302. package/vendor/theus-arsenal/scripts/hooks/post-edit-format.js +110 -0
  303. package/vendor/theus-arsenal/scripts/hooks/post-edit-typecheck.js +98 -0
  304. package/vendor/theus-arsenal/scripts/hooks/pre-bash-commit-quality.js +447 -0
  305. package/vendor/theus-arsenal/scripts/hooks/pre-bash-dev-server-block.js +232 -0
  306. package/vendor/theus-arsenal/scripts/hooks/pre-bash-dispatcher.js +27 -0
  307. package/vendor/theus-arsenal/scripts/hooks/pre-compact.js +101 -0
  308. package/vendor/theus-arsenal/scripts/hooks/pretooluse-visible-output.js +49 -0
  309. package/vendor/theus-arsenal/scripts/hooks/quality-gate.js +168 -0
  310. package/vendor/theus-arsenal/scripts/hooks/run-with-flags.js +271 -0
  311. package/vendor/theus-arsenal/scripts/hooks/salud-mcp.js +749 -0
  312. package/vendor/theus-arsenal/scripts/hooks/seguimiento-costos.js +161 -0
  313. package/vendor/theus-arsenal/scripts/hooks/session-end.js +340 -0
  314. package/vendor/theus-arsenal/scripts/hooks/session-start.js +906 -0
  315. package/vendor/theus-arsenal/scripts/hooks/stop-format-typecheck.js +263 -0
  316. package/vendor/theus-arsenal/scripts/hooks/suggest-compact.js +286 -0
  317. package/vendor/theus-arsenal/scripts/hooks/theus-context-monitor.js +289 -0
  318. package/vendor/theus-arsenal/scripts/hooks/verificacion-factual.js +1278 -0
  319. package/vendor/theus-arsenal/scripts/lib/agent-data-home.js +96 -0
  320. package/vendor/theus-arsenal/scripts/lib/cost-estimate.js +66 -0
  321. package/vendor/theus-arsenal/scripts/lib/hook-flags.js +79 -0
  322. package/vendor/theus-arsenal/scripts/lib/llm-summary.js +185 -0
  323. package/vendor/theus-arsenal/scripts/lib/loopback-guard.js +54 -0
  324. package/vendor/theus-arsenal/scripts/lib/observer-sessions.js +237 -0
  325. package/vendor/theus-arsenal/scripts/lib/package-manager.d.ts +120 -0
  326. package/vendor/theus-arsenal/scripts/lib/package-manager.js +434 -0
  327. package/vendor/theus-arsenal/scripts/lib/path-safety.js +86 -0
  328. package/vendor/theus-arsenal/scripts/lib/plan-canvas/markdown.js +285 -0
  329. package/vendor/theus-arsenal/scripts/lib/plan-canvas/sdk.js +238 -0
  330. package/vendor/theus-arsenal/scripts/lib/plan-canvas/server.js +534 -0
  331. package/vendor/theus-arsenal/scripts/lib/plan-canvas/sessions.js +274 -0
  332. package/vendor/theus-arsenal/scripts/lib/plan-canvas/ui.js +546 -0
  333. package/vendor/theus-arsenal/scripts/lib/project-detect.js +451 -0
  334. package/vendor/theus-arsenal/scripts/lib/resolve-formatter.js +193 -0
  335. package/vendor/theus-arsenal/scripts/lib/resolve-theus-root.js +101 -0
  336. package/vendor/theus-arsenal/scripts/lib/session-aliases.d.ts +138 -0
  337. package/vendor/theus-arsenal/scripts/lib/session-aliases.js +483 -0
  338. package/vendor/theus-arsenal/scripts/lib/session-bridge.js +155 -0
  339. package/vendor/theus-arsenal/scripts/lib/session-manager.d.ts +137 -0
  340. package/vendor/theus-arsenal/scripts/lib/session-manager.js +555 -0
  341. package/vendor/theus-arsenal/scripts/lib/shell-split.js +86 -0
  342. package/vendor/theus-arsenal/scripts/lib/shell-substitution.js +501 -0
  343. package/vendor/theus-arsenal/scripts/lib/skill-evolution/dashboard.js +414 -0
  344. package/vendor/theus-arsenal/scripts/lib/skill-evolution/health.js +285 -0
  345. package/vendor/theus-arsenal/scripts/lib/skill-evolution/index.js +22 -0
  346. package/vendor/theus-arsenal/scripts/lib/skill-evolution/provenance.js +200 -0
  347. package/vendor/theus-arsenal/scripts/lib/skill-evolution/tracker.js +157 -0
  348. package/vendor/theus-arsenal/scripts/lib/skill-evolution/versioning.js +246 -0
  349. package/vendor/theus-arsenal/scripts/lib/transcript-context.js +232 -0
  350. package/vendor/theus-arsenal/scripts/lib/utils.d.ts +205 -0
  351. package/vendor/theus-arsenal/scripts/lib/utils.js +658 -0
  352. package/vendor/theus-arsenal/scripts/plan-canvas.js +341 -0
  353. package/vendor/theus-arsenal/scripts/setup-package-manager.js +46 -0
  354. package/vendor/theus-arsenal/scripts/skills-health.js +143 -0
  355. package/vendor/theus-arsenal/skills/a11y-frontend/SKILL.md +444 -0
  356. package/vendor/theus-arsenal/skills/accesibilidad/SKILL.md +144 -0
  357. package/vendor/theus-arsenal/skills/acelerador-throughput-datos/SKILL.md +72 -0
  358. package/vendor/theus-arsenal/skills/agente-scraper-datos/SKILL.md +771 -0
  359. package/vendor/theus-arsenal/skills/analisis-plataformas-competencia/SKILL.md +137 -0
  360. package/vendor/theus-arsenal/skills/api-x/SKILL.md +233 -0
  361. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/SKILL.md +335 -0
  362. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer-loop.sh +374 -0
  363. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer.md +188 -0
  364. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/session-guardian.sh +153 -0
  365. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/start-observer.sh +253 -0
  366. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/config.json +8 -0
  367. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/hooks/observe.sh +594 -0
  368. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/detect-project.sh +325 -0
  369. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/instinct-cli.py +1918 -0
  370. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/lib/arsenal-dir.sh +23 -0
  371. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/test_parse_instinct.py +1420 -0
  372. package/vendor/theus-arsenal/skills/arquitectura-hexagonal/SKILL.md +275 -0
  373. package/vendor/theus-arsenal/skills/arquitectura-limpia-android/SKILL.md +340 -0
  374. package/vendor/theus-arsenal/skills/arquitectura-pipelines-recomendacion/SKILL.md +112 -0
  375. package/vendor/theus-arsenal/skills/atlas-datos-prediccion/SKILL.md +53 -0
  376. package/vendor/theus-arsenal/skills/auditoria-arquitectura-agentes/SKILL.md +257 -0
  377. package/vendor/theus-arsenal/skills/auditoria-produccion/SKILL.md +180 -0
  378. package/vendor/theus-arsenal/skills/auditoria-rutas-clic/SKILL.md +243 -0
  379. package/vendor/theus-arsenal/skills/autoevaluacion-agente/SKILL.md +180 -0
  380. package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/high-score-example.md +89 -0
  381. package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/low-score-example.md +87 -0
  382. package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/evaluation-criteria.md +71 -0
  383. package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/hook-integration.md +90 -0
  384. package/vendor/theus-arsenal/skills/autoevaluacion-agente/scripts/evaluate.py +409 -0
  385. package/vendor/theus-arsenal/skills/autoevaluacion-agente/templates/evaluation-report.md +86 -0
  386. package/vendor/theus-arsenal/skills/automatizacion-ssh-netmiko/SKILL.md +176 -0
  387. package/vendor/theus-arsenal/skills/base-datos-pubmed/SKILL.md +174 -0
  388. package/vendor/theus-arsenal/skills/base-datos-uspto/SKILL.md +173 -0
  389. package/vendor/theus-arsenal/skills/benchmark/SKILL.md +92 -0
  390. package/vendor/theus-arsenal/skills/bitacora-crecimiento/SKILL.md +120 -0
  391. package/vendor/theus-arsenal/skills/bucle-verificacion/SKILL.md +125 -0
  392. package/vendor/theus-arsenal/skills/buscar-primero/SKILL.md +184 -0
  393. package/vendor/theus-arsenal/skills/busqueda-exa/SKILL.md +111 -0
  394. package/vendor/theus-arsenal/skills/cache-por-hash/SKILL.md +160 -0
  395. package/vendor/theus-arsenal/skills/campana-marketing/SKILL.md +118 -0
  396. package/vendor/theus-arsenal/skills/capacidad-producto/SKILL.md +138 -0
  397. package/vendor/theus-arsenal/skills/cazador-vulnerabilidades/SKILL.md +104 -0
  398. package/vendor/theus-arsenal/skills/compactacion-estrategica/SKILL.md +115 -0
  399. package/vendor/theus-arsenal/skills/comparador-baskets-prediccion/SKILL.md +69 -0
  400. package/vendor/theus-arsenal/skills/compras-energia/SKILL.md +206 -0
  401. package/vendor/theus-arsenal/skills/concurrencia-swift-6-2/SKILL.md +224 -0
  402. package/vendor/theus-arsenal/skills/consejo/SKILL.md +201 -0
  403. package/vendor/theus-arsenal/skills/construccion-harness-agentes/SKILL.md +78 -0
  404. package/vendor/theus-arsenal/skills/constructor-conectores/SKILL.md +119 -0
  405. package/vendor/theus-arsenal/skills/constructor-equipos/SKILL.md +169 -0
  406. package/vendor/theus-arsenal/skills/consulta-documentacion/SKILL.md +92 -0
  407. package/vendor/theus-arsenal/skills/consultas-genomicas-gget/SKILL.md +170 -0
  408. package/vendor/theus-arsenal/skills/contacto-inversores/SKILL.md +95 -0
  409. package/vendor/theus-arsenal/skills/corrutinas-flows-kotlin/SKILL.md +284 -0
  410. package/vendor/theus-arsenal/skills/creacion-video-remotion/SKILL.md +46 -0
  411. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/3d.md +86 -0
  412. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/animations.md +29 -0
  413. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/charts-bar-chart.tsx +173 -0
  414. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-typewriter.tsx +100 -0
  415. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-word-highlight.tsx +108 -0
  416. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets.md +78 -0
  417. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/audio.md +172 -0
  418. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/calculate-metadata.md +104 -0
  419. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/can-decode.md +75 -0
  420. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/charts.md +58 -0
  421. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/compositions.md +146 -0
  422. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/display-captions.md +126 -0
  423. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/extract-frames.md +229 -0
  424. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/fonts.md +152 -0
  425. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-audio-duration.md +58 -0
  426. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-dimensions.md +68 -0
  427. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-duration.md +58 -0
  428. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/gifs.md +138 -0
  429. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/images.md +130 -0
  430. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/import-srt-captions.md +67 -0
  431. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/lottie.md +67 -0
  432. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-dom-nodes.md +34 -0
  433. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-text.md +143 -0
  434. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/sequencing.md +106 -0
  435. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/tailwind.md +11 -0
  436. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/text-animations.md +20 -0
  437. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/timing.md +179 -0
  438. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transcribe-captions.md +19 -0
  439. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transitions.md +122 -0
  440. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/trimming.md +52 -0
  441. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/videos.md +171 -0
  442. package/vendor/theus-arsenal/skills/cumplimiento-aduanero/SKILL.md +270 -0
  443. package/vendor/theus-arsenal/skills/cumplimiento-hipaa/SKILL.md +78 -0
  444. package/vendor/theus-arsenal/skills/datos-sensibles-salud/SKILL.md +149 -0
  445. package/vendor/theus-arsenal/skills/decimales-tokens-evm/SKILL.md +128 -0
  446. package/vendor/theus-arsenal/skills/decisiones-arquitectura/SKILL.md +206 -0
  447. package/vendor/theus-arsenal/skills/demos-ui/SKILL.md +469 -0
  448. package/vendor/theus-arsenal/skills/desarrollo-por-intencion/SKILL.md +369 -0
  449. package/vendor/theus-arsenal/skills/descubrimiento-marca/SKILL.md +149 -0
  450. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/10_proposito-porque.md +42 -0
  451. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/20_posicionamiento.md +47 -0
  452. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/30_audiencia-nicho.md +53 -0
  453. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/40_personalidad-arquetipo.md +61 -0
  454. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/50_voz-tono.md +62 -0
  455. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/60_narrativa-historia.md +54 -0
  456. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/70_tension-fundador.md +50 -0
  457. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/90_SINTESIS.md +133 -0
  458. package/vendor/theus-arsenal/skills/descubrimiento-plugins-laravel/SKILL.md +230 -0
  459. package/vendor/theus-arsenal/skills/destilado-reglas/SKILL.md +263 -0
  460. package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-rules.sh +58 -0
  461. package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-skills.sh +129 -0
  462. package/vendor/theus-arsenal/skills/diagnostico-bgp/SKILL.md +170 -0
  463. package/vendor/theus-arsenal/skills/direccion-estetica/SKILL.md +220 -0
  464. package/vendor/theus-arsenal/skills/direccion-estetica/references/taxonomia-generos.md +89 -0
  465. package/vendor/theus-arsenal/skills/diseno-api/SKILL.md +522 -0
  466. package/vendor/theus-arsenal/skills/diseno-liquid-glass/SKILL.md +282 -0
  467. package/vendor/theus-arsenal/skills/e2e-escritorio-windows/SKILL.md +879 -0
  468. package/vendor/theus-arsenal/skills/edicion-video/SKILL.md +289 -0
  469. package/vendor/theus-arsenal/skills/enfoque-producto/SKILL.md +91 -0
  470. package/vendor/theus-arsenal/skills/entornos-flox/SKILL.md +493 -0
  471. package/vendor/theus-arsenal/skills/estandares-codigo/SKILL.md +548 -0
  472. package/vendor/theus-arsenal/skills/estandares-cpp/SKILL.md +727 -0
  473. package/vendor/theus-arsenal/skills/estandares-java/SKILL.md +389 -0
  474. package/vendor/theus-arsenal/skills/estilo-legado/SKILL.md +149 -0
  475. package/vendor/theus-arsenal/skills/estructura-informes-competencia/SKILL.md +95 -0
  476. package/vendor/theus-arsenal/skills/evaluacion-academica/SKILL.md +165 -0
  477. package/vendor/theus-arsenal/skills/explorador-skills/SKILL.md +129 -0
  478. package/vendor/theus-arsenal/skills/flujo-git/SKILL.md +714 -0
  479. package/vendor/theus-arsenal/skills/flujo-ingenieria-ml/SKILL.md +343 -0
  480. package/vendor/theus-arsenal/skills/flujo-tdd/SKILL.md +584 -0
  481. package/vendor/theus-arsenal/skills/forja-personas/SKILL.md +298 -0
  482. package/vendor/theus-arsenal/skills/forja-personas/gacha.py +224 -0
  483. package/vendor/theus-arsenal/skills/forja-personas/gacha.sh +5 -0
  484. package/vendor/theus-arsenal/skills/forja-personas/references/avatar-style.md +123 -0
  485. package/vendor/theus-arsenal/skills/forja-personas/references/boundary-rules.md +53 -0
  486. package/vendor/theus-arsenal/skills/forja-personas/references/error-handling.md +53 -0
  487. package/vendor/theus-arsenal/skills/forja-personas/references/identity-tension.md +48 -0
  488. package/vendor/theus-arsenal/skills/forja-personas/references/naming-system.md +39 -0
  489. package/vendor/theus-arsenal/skills/forja-personas/references/output-template.md +166 -0
  490. package/vendor/theus-arsenal/skills/fundamentos-animacion/SKILL.md +296 -0
  491. package/vendor/theus-arsenal/skills/generacion-iconos-ios/SKILL.md +156 -0
  492. package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/generate_icons.swift +258 -0
  493. package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/iconify_gen.sh +235 -0
  494. package/vendor/theus-arsenal/skills/gestion-excepciones-logisticas/SKILL.md +208 -0
  495. package/vendor/theus-arsenal/skills/gestion-transportistas/SKILL.md +204 -0
  496. package/vendor/theus-arsenal/skills/guia-adopcion-ml/SKILL.md +64 -0
  497. package/vendor/theus-arsenal/skills/harness-agente-autonomo/SKILL.md +252 -0
  498. package/vendor/theus-arsenal/skills/harness-eval-clinico/SKILL.md +212 -0
  499. package/vendor/theus-arsenal/skills/harness-evaluacion/SKILL.md +296 -0
  500. package/vendor/theus-arsenal/skills/harness-generador-evaluador/SKILL.md +254 -0
  501. package/vendor/theus-arsenal/skills/homelab-diseno-red/SKILL.md +120 -0
  502. package/vendor/theus-arsenal/skills/homelab-dns-pihole/SKILL.md +264 -0
  503. package/vendor/theus-arsenal/skills/homelab-preparacion-red/SKILL.md +144 -0
  504. package/vendor/theus-arsenal/skills/homelab-segmentacion-vlan/SKILL.md +307 -0
  505. package/vendor/theus-arsenal/skills/homelab-vpn-wireguard/SKILL.md +299 -0
  506. package/vendor/theus-arsenal/skills/ingenieria-agentica/SKILL.md +96 -0
  507. package/vendor/theus-arsenal/skills/inspeccion-animaciones-blender/SKILL.md +164 -0
  508. package/vendor/theus-arsenal/skills/instaladores-python/SKILL.md +820 -0
  509. package/vendor/theus-arsenal/skills/integracion-jira/SKILL.md +307 -0
  510. package/vendor/theus-arsenal/skills/inteligencia-leads/SKILL.md +312 -0
  511. package/vendor/theus-arsenal/skills/inteligencia-leads/agents/agente-enriquecimiento.md +87 -0
  512. package/vendor/theus-arsenal/skills/inteligencia-leads/agents/mapeador-mutuos.md +76 -0
  513. package/vendor/theus-arsenal/skills/inteligencia-leads/agents/puntuador-senales.md +60 -0
  514. package/vendor/theus-arsenal/skills/inteligencia-leads/agents/redactor-outreach.md +102 -0
  515. package/vendor/theus-arsenal/skills/inteligencia-mercados-prediccion/SKILL.md +53 -0
  516. package/vendor/theus-arsenal/skills/introspeccion-agente/SKILL.md +150 -0
  517. package/vendor/theus-arsenal/skills/inventario-skills/SKILL.md +194 -0
  518. package/vendor/theus-arsenal/skills/inventario-skills/scripts/quick-diff.sh +87 -0
  519. package/vendor/theus-arsenal/skills/inventario-skills/scripts/save-results.sh +57 -0
  520. package/vendor/theus-arsenal/skills/inventario-skills/scripts/scan.sh +170 -0
  521. package/vendor/theus-arsenal/skills/investigacion-mercado/SKILL.md +87 -0
  522. package/vendor/theus-arsenal/skills/investigacion-oraculos-prediccion/SKILL.md +59 -0
  523. package/vendor/theus-arsenal/skills/investigacion-profunda/SKILL.md +161 -0
  524. package/vendor/theus-arsenal/skills/keccak256-nodejs/SKILL.md +100 -0
  525. package/vendor/theus-arsenal/skills/libro-decisiones-recursivo/SKILL.md +82 -0
  526. package/vendor/theus-arsenal/skills/lienzo-planes/SKILL.md +111 -0
  527. package/vendor/theus-arsenal/skills/limpieza-configuracion/SKILL.md +116 -0
  528. package/vendor/theus-arsenal/skills/logistica-inversa-devoluciones/SKILL.md +241 -0
  529. package/vendor/theus-arsenal/skills/manejo-errores/SKILL.md +375 -0
  530. package/vendor/theus-arsenal/skills/materiales-inversores/SKILL.md +101 -0
  531. package/vendor/theus-arsenal/skills/memoria-por-proyecto/SKILL.md +170 -0
  532. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/forget.mjs +44 -0
  533. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/info.mjs +24 -0
  534. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/init.mjs +152 -0
  535. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/list.mjs +40 -0
  536. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/migrate.mjs +214 -0
  537. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/resume.mjs +36 -0
  538. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/save.mjs +210 -0
  539. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/shared.mjs +402 -0
  540. package/vendor/theus-arsenal/skills/memoria-por-proyecto/hooks/session-start.mjs +238 -0
  541. package/vendor/theus-arsenal/skills/metodologia-benchmarks/SKILL.md +131 -0
  542. package/vendor/theus-arsenal/skills/migraciones-bd/SKILL.md +430 -0
  543. package/vendor/theus-arsenal/skills/modelos-fundacionales-en-dispositivo/SKILL.md +244 -0
  544. package/vendor/theus-arsenal/skills/modo-seguro/SKILL.md +86 -0
  545. package/vendor/theus-arsenal/skills/motion-avanzado/SKILL.md +592 -0
  546. package/vendor/theus-arsenal/skills/motor-de-contenido/SKILL.md +136 -0
  547. package/vendor/theus-arsenal/skills/no-conformidades-calidad/SKILL.md +249 -0
  548. package/vendor/theus-arsenal/skills/onboarding-codigo/SKILL.md +244 -0
  549. package/vendor/theus-arsenal/skills/operaciones-agentes-empresariales/SKILL.md +51 -0
  550. package/vendor/theus-arsenal/skills/operaciones-conocimiento/SKILL.md +159 -0
  551. package/vendor/theus-arsenal/skills/operaciones-correo/SKILL.md +123 -0
  552. package/vendor/theus-arsenal/skills/operaciones-facturacion/SKILL.md +142 -0
  553. package/vendor/theus-arsenal/skills/operaciones-flujo-proyectos/SKILL.md +110 -0
  554. package/vendor/theus-arsenal/skills/operaciones-github/SKILL.md +143 -0
  555. package/vendor/theus-arsenal/skills/operaciones-google-workspace/SKILL.md +100 -0
  556. package/vendor/theus-arsenal/skills/operaciones-investigacion/SKILL.md +124 -0
  557. package/vendor/theus-arsenal/skills/operaciones-mensajes/SKILL.md +103 -0
  558. package/vendor/theus-arsenal/skills/operaciones-terminal/SKILL.md +110 -0
  559. package/vendor/theus-arsenal/skills/optimizacion-benchmark/SKILL.md +70 -0
  560. package/vendor/theus-arsenal/skills/optimizacion-costos-llm/SKILL.md +182 -0
  561. package/vendor/theus-arsenal/skills/optimizador-conexiones/SKILL.md +191 -0
  562. package/vendor/theus-arsenal/skills/optimizador-paralelismo/SKILL.md +75 -0
  563. package/vendor/theus-arsenal/skills/optimizador-prompts/SKILL.md +374 -0
  564. package/vendor/theus-arsenal/skills/orq-agregar-funcionalidad/SKILL.md +37 -0
  565. package/vendor/theus-arsenal/skills/orq-cambiar-funcionalidad/SKILL.md +36 -0
  566. package/vendor/theus-arsenal/skills/orq-construir-mvp/SKILL.md +38 -0
  567. package/vendor/theus-arsenal/skills/orq-corregir-defecto/SKILL.md +36 -0
  568. package/vendor/theus-arsenal/skills/orq-pipeline/SKILL.md +134 -0
  569. package/vendor/theus-arsenal/skills/orq-refinar-codigo/SKILL.md +49 -0
  570. package/vendor/theus-arsenal/skills/orquestacion-equipos-agentes/SKILL.md +117 -0
  571. package/vendor/theus-arsenal/skills/pagos-agentes-x402/SKILL.md +237 -0
  572. package/vendor/theus-arsenal/skills/patrones-angular/SKILL.md +153 -0
  573. package/vendor/theus-arsenal/skills/patrones-angular/references/angular-animations.md +160 -0
  574. package/vendor/theus-arsenal/skills/patrones-angular/references/angular-aria.md +410 -0
  575. package/vendor/theus-arsenal/skills/patrones-angular/references/cli.md +86 -0
  576. package/vendor/theus-arsenal/skills/patrones-angular/references/component-harnesses.md +59 -0
  577. package/vendor/theus-arsenal/skills/patrones-angular/references/component-styling.md +91 -0
  578. package/vendor/theus-arsenal/skills/patrones-angular/references/components.md +117 -0
  579. package/vendor/theus-arsenal/skills/patrones-angular/references/creating-services.md +97 -0
  580. package/vendor/theus-arsenal/skills/patrones-angular/references/data-resolvers.md +69 -0
  581. package/vendor/theus-arsenal/skills/patrones-angular/references/define-routes.md +67 -0
  582. package/vendor/theus-arsenal/skills/patrones-angular/references/defining-providers.md +72 -0
  583. package/vendor/theus-arsenal/skills/patrones-angular/references/di-fundamentals.md +120 -0
  584. package/vendor/theus-arsenal/skills/patrones-angular/references/e2e-testing.md +56 -0
  585. package/vendor/theus-arsenal/skills/patrones-angular/references/effects.md +83 -0
  586. package/vendor/theus-arsenal/skills/patrones-angular/references/hierarchical-injectors.md +43 -0
  587. package/vendor/theus-arsenal/skills/patrones-angular/references/host-elements.md +80 -0
  588. package/vendor/theus-arsenal/skills/patrones-angular/references/injection-context.md +63 -0
  589. package/vendor/theus-arsenal/skills/patrones-angular/references/inputs.md +101 -0
  590. package/vendor/theus-arsenal/skills/patrones-angular/references/linked-signal.md +59 -0
  591. package/vendor/theus-arsenal/skills/patrones-angular/references/loading-strategies.md +61 -0
  592. package/vendor/theus-arsenal/skills/patrones-angular/references/mcp.md +67 -0
  593. package/vendor/theus-arsenal/skills/patrones-angular/references/navigate-to-routes.md +69 -0
  594. package/vendor/theus-arsenal/skills/patrones-angular/references/outputs.md +86 -0
  595. package/vendor/theus-arsenal/skills/patrones-angular/references/reactive-forms.md +122 -0
  596. package/vendor/theus-arsenal/skills/patrones-angular/references/rendering-strategies.md +44 -0
  597. package/vendor/theus-arsenal/skills/patrones-angular/references/resource.md +77 -0
  598. package/vendor/theus-arsenal/skills/patrones-angular/references/route-animations.md +56 -0
  599. package/vendor/theus-arsenal/skills/patrones-angular/references/route-guards.md +52 -0
  600. package/vendor/theus-arsenal/skills/patrones-angular/references/router-lifecycle.md +45 -0
  601. package/vendor/theus-arsenal/skills/patrones-angular/references/router-testing.md +87 -0
  602. package/vendor/theus-arsenal/skills/patrones-angular/references/show-routes-with-outlets.md +68 -0
  603. package/vendor/theus-arsenal/skills/patrones-angular/references/signal-forms.md +795 -0
  604. package/vendor/theus-arsenal/skills/patrones-angular/references/signals-overview.md +94 -0
  605. package/vendor/theus-arsenal/skills/patrones-angular/references/tailwind-css.md +69 -0
  606. package/vendor/theus-arsenal/skills/patrones-angular/references/template-driven-forms.md +114 -0
  607. package/vendor/theus-arsenal/skills/patrones-angular/references/testing-fundamentals.md +65 -0
  608. package/vendor/theus-arsenal/skills/patrones-animacion/SKILL.md +432 -0
  609. package/vendor/theus-arsenal/skills/patrones-backend/SKILL.md +560 -0
  610. package/vendor/theus-arsenal/skills/patrones-cdss-clinico/SKILL.md +249 -0
  611. package/vendor/theus-arsenal/skills/patrones-cisco-ios/SKILL.md +148 -0
  612. package/vendor/theus-arsenal/skills/patrones-clickhouse/SKILL.md +443 -0
  613. package/vendor/theus-arsenal/skills/patrones-compose-multiplatform/SKILL.md +298 -0
  614. package/vendor/theus-arsenal/skills/patrones-dart-flutter/SKILL.md +566 -0
  615. package/vendor/theus-arsenal/skills/patrones-despliegue/SKILL.md +426 -0
  616. package/vendor/theus-arsenal/skills/patrones-django/SKILL.md +739 -0
  617. package/vendor/theus-arsenal/skills/patrones-django-celery/SKILL.md +456 -0
  618. package/vendor/theus-arsenal/skills/patrones-docker/SKILL.md +363 -0
  619. package/vendor/theus-arsenal/skills/patrones-dotnet/SKILL.md +321 -0
  620. package/vendor/theus-arsenal/skills/patrones-emr-clinico/SKILL.md +168 -0
  621. package/vendor/theus-arsenal/skills/patrones-fastapi/SKILL.md +513 -0
  622. package/vendor/theus-arsenal/skills/patrones-frontend/SKILL.md +655 -0
  623. package/vendor/theus-arsenal/skills/patrones-go/SKILL.md +674 -0
  624. package/vendor/theus-arsenal/skills/patrones-jpa/SKILL.md +156 -0
  625. package/vendor/theus-arsenal/skills/patrones-kotlin/SKILL.md +717 -0
  626. package/vendor/theus-arsenal/skills/patrones-kotlin-exposed/SKILL.md +724 -0
  627. package/vendor/theus-arsenal/skills/patrones-kotlin-ktor/SKILL.md +694 -0
  628. package/vendor/theus-arsenal/skills/patrones-kubernetes/SKILL.md +754 -0
  629. package/vendor/theus-arsenal/skills/patrones-laravel/SKILL.md +414 -0
  630. package/vendor/theus-arsenal/skills/patrones-mcp/SKILL.md +66 -0
  631. package/vendor/theus-arsenal/skills/patrones-mysql/SKILL.md +420 -0
  632. package/vendor/theus-arsenal/skills/patrones-nestjs/SKILL.md +229 -0
  633. package/vendor/theus-arsenal/skills/patrones-nextjs/SKILL.md +56 -0
  634. package/vendor/theus-arsenal/skills/patrones-nuxt4/SKILL.md +99 -0
  635. package/vendor/theus-arsenal/skills/patrones-perl/SKILL.md +508 -0
  636. package/vendor/theus-arsenal/skills/patrones-postgres/SKILL.md +141 -0
  637. package/vendor/theus-arsenal/skills/patrones-prisma/SKILL.md +399 -0
  638. package/vendor/theus-arsenal/skills/patrones-python/SKILL.md +750 -0
  639. package/vendor/theus-arsenal/skills/patrones-pytorch/SKILL.md +400 -0
  640. package/vendor/theus-arsenal/skills/patrones-quarkus/SKILL.md +729 -0
  641. package/vendor/theus-arsenal/skills/patrones-react/SKILL.md +339 -0
  642. package/vendor/theus-arsenal/skills/patrones-react-native/SKILL.md +325 -0
  643. package/vendor/theus-arsenal/skills/patrones-redis/SKILL.md +401 -0
  644. package/vendor/theus-arsenal/skills/patrones-rust/SKILL.md +504 -0
  645. package/vendor/theus-arsenal/skills/patrones-springboot/SKILL.md +314 -0
  646. package/vendor/theus-arsenal/skills/patrones-swiftui/SKILL.md +261 -0
  647. package/vendor/theus-arsenal/skills/patrones-tinystruct/SKILL.md +281 -0
  648. package/vendor/theus-arsenal/skills/patrones-tinystruct/references/architecture.md +90 -0
  649. package/vendor/theus-arsenal/skills/patrones-tinystruct/references/data-handling.md +60 -0
  650. package/vendor/theus-arsenal/skills/patrones-tinystruct/references/database.md +99 -0
  651. package/vendor/theus-arsenal/skills/patrones-tinystruct/references/routing.md +64 -0
  652. package/vendor/theus-arsenal/skills/patrones-tinystruct/references/system-usage.md +97 -0
  653. package/vendor/theus-arsenal/skills/patrones-tinystruct/references/testing.md +72 -0
  654. package/vendor/theus-arsenal/skills/patrones-vite/SKILL.md +449 -0
  655. package/vendor/theus-arsenal/skills/patrones-vue/SKILL.md +469 -0
  656. package/vendor/theus-arsenal/skills/persistencia-actores-swift/SKILL.md +148 -0
  657. package/vendor/theus-arsenal/skills/pipeline-opensource/SKILL.md +254 -0
  658. package/vendor/theus-arsenal/skills/planificacion-demanda-inventario/SKILL.md +236 -0
  659. package/vendor/theus-arsenal/skills/planificador-trades-prediccion/SKILL.md +60 -0
  660. package/vendor/theus-arsenal/skills/plano-tecnico/SKILL.md +102 -0
  661. package/vendor/theus-arsenal/skills/presentaciones-html/SKILL.md +189 -0
  662. package/vendor/theus-arsenal/skills/presentaciones-html/STYLE_PRESETS.md +330 -0
  663. package/vendor/theus-arsenal/skills/presentaciones-html/animation-patterns.md +122 -0
  664. package/vendor/theus-arsenal/skills/presentaciones-html/html-template.md +419 -0
  665. package/vendor/theus-arsenal/skills/presentaciones-html/scripts/export-pdf.sh +418 -0
  666. package/vendor/theus-arsenal/skills/presentaciones-html/scripts/extract-pptx.py +96 -0
  667. package/vendor/theus-arsenal/skills/presentaciones-html/viewport-base.css +153 -0
  668. package/vendor/theus-arsenal/skills/presupuesto-contexto/SKILL.md +263 -0
  669. package/vendor/theus-arsenal/skills/procesamiento-documentos-nutrient/SKILL.md +168 -0
  670. package/vendor/theus-arsenal/skills/programacion-produccion/SKILL.md +220 -0
  671. package/vendor/theus-arsenal/skills/publicacion-cruzada/SKILL.md +117 -0
  672. package/vendor/theus-arsenal/skills/publicador-social/SKILL.md +121 -0
  673. package/vendor/theus-arsenal/skills/puerta-de-entrega/SKILL.md +164 -0
  674. package/vendor/theus-arsenal/skills/puerta-de-entrega/hooks/puerta-entrega.py +242 -0
  675. package/vendor/theus-arsenal/skills/pulir-interfaces/SKILL.md +126 -0
  676. package/vendor/theus-arsenal/skills/qa-navegador/SKILL.md +103 -0
  677. package/vendor/theus-arsenal/skills/ranking-grafo-social/SKILL.md +153 -0
  678. package/vendor/theus-arsenal/skills/recuperacion-iterativa/SKILL.md +236 -0
  679. package/vendor/theus-arsenal/skills/redaccion-articulos/SKILL.md +81 -0
  680. package/vendor/theus-arsenal/skills/regex-vs-llm/SKILL.md +221 -0
  681. package/vendor/theus-arsenal/skills/regresion-codigo-ia/SKILL.md +388 -0
  682. package/vendor/theus-arsenal/skills/rendimiento-react/SKILL.md +567 -0
  683. package/vendor/theus-arsenal/skills/revision-codigo-flutter-dart/SKILL.md +442 -0
  684. package/vendor/theus-arsenal/skills/revision-literatura-cientifica/SKILL.md +191 -0
  685. package/vendor/theus-arsenal/skills/revision-multiperspectiva/SKILL.md +302 -0
  686. package/vendor/theus-arsenal/skills/revision-riesgo-prediccion/SKILL.md +56 -0
  687. package/vendor/theus-arsenal/skills/revision-seguridad/SKILL.md +505 -0
  688. package/vendor/theus-arsenal/skills/revision-seguridad/cloud-infrastructure-security.md +361 -0
  689. package/vendor/theus-arsenal/skills/runtime-bun/SKILL.md +83 -0
  690. package/vendor/theus-arsenal/skills/salud-codigo-codescene/SKILL.md +163 -0
  691. package/vendor/theus-arsenal/skills/salud-interfaces-red/SKILL.md +143 -0
  692. package/vendor/theus-arsenal/skills/seguimiento-costos/SKILL.md +122 -0
  693. package/vendor/theus-arsenal/skills/seguridad-agentes-trading/SKILL.md +145 -0
  694. package/vendor/theus-arsenal/skills/seguridad-amm-defi/SKILL.md +166 -0
  695. package/vendor/theus-arsenal/skills/seguridad-django/SKILL.md +648 -0
  696. package/vendor/theus-arsenal/skills/seguridad-laravel/SKILL.md +945 -0
  697. package/vendor/theus-arsenal/skills/seguridad-perl/SKILL.md +507 -0
  698. package/vendor/theus-arsenal/skills/seguridad-quarkus/SKILL.md +474 -0
  699. package/vendor/theus-arsenal/skills/seguridad-springboot/SKILL.md +279 -0
  700. package/vendor/theus-arsenal/skills/seo/SKILL.md +166 -0
  701. package/vendor/theus-arsenal/skills/sistema-diseno/SKILL.md +81 -0
  702. package/vendor/theus-arsenal/skills/sistema-operativo-agentico/SKILL.md +375 -0
  703. package/vendor/theus-arsenal/skills/sistemas-latencia-critica/SKILL.md +65 -0
  704. package/vendor/theus-arsenal/skills/tdd-django/SKILL.md +735 -0
  705. package/vendor/theus-arsenal/skills/tdd-laravel/SKILL.md +673 -0
  706. package/vendor/theus-arsenal/skills/tdd-quarkus/SKILL.md +817 -0
  707. package/vendor/theus-arsenal/skills/tdd-springboot/SKILL.md +165 -0
  708. package/vendor/theus-arsenal/skills/testing-cpp/SKILL.md +328 -0
  709. package/vendor/theus-arsenal/skills/testing-csharp/SKILL.md +321 -0
  710. package/vendor/theus-arsenal/skills/testing-e2e/SKILL.md +325 -0
  711. package/vendor/theus-arsenal/skills/testing-go/SKILL.md +719 -0
  712. package/vendor/theus-arsenal/skills/testing-kotlin/SKILL.md +829 -0
  713. package/vendor/theus-arsenal/skills/testing-perl/SKILL.md +479 -0
  714. package/vendor/theus-arsenal/skills/testing-protocolos-di-swift/SKILL.md +196 -0
  715. package/vendor/theus-arsenal/skills/testing-python/SKILL.md +815 -0
  716. package/vendor/theus-arsenal/skills/testing-react/SKILL.md +421 -0
  717. package/vendor/theus-arsenal/skills/testing-rust/SKILL.md +506 -0
  718. package/vendor/theus-arsenal/skills/tours-de-codigo/SKILL.md +252 -0
  719. package/vendor/theus-arsenal/skills/traduccion-documentos-visado/SKILL.md +121 -0
  720. package/vendor/theus-arsenal/skills/ui-a-vue/SKILL.md +141 -0
  721. package/vendor/theus-arsenal/skills/validacion-config-red/SKILL.md +211 -0
  722. package/vendor/theus-arsenal/skills/verificacion-django/SKILL.md +470 -0
  723. package/vendor/theus-arsenal/skills/verificacion-factual/SKILL.md +142 -0
  724. package/vendor/theus-arsenal/skills/verificacion-laravel/SKILL.md +184 -0
  725. package/vendor/theus-arsenal/skills/verificacion-quarkus/SKILL.md +485 -0
  726. package/vendor/theus-arsenal/skills/verificacion-springboot/SKILL.md +237 -0
  727. package/vendor/theus-arsenal/skills/videodb/SKILL.md +374 -0
  728. package/vendor/theus-arsenal/skills/videodb/reference/api-reference.md +550 -0
  729. package/vendor/theus-arsenal/skills/videodb/reference/capture-reference.md +407 -0
  730. package/vendor/theus-arsenal/skills/videodb/reference/capture.md +101 -0
  731. package/vendor/theus-arsenal/skills/videodb/reference/editor.md +443 -0
  732. package/vendor/theus-arsenal/skills/videodb/reference/generative.md +331 -0
  733. package/vendor/theus-arsenal/skills/videodb/reference/rtstream-reference.md +564 -0
  734. package/vendor/theus-arsenal/skills/videodb/reference/rtstream.md +65 -0
  735. package/vendor/theus-arsenal/skills/videodb/reference/search.md +230 -0
  736. package/vendor/theus-arsenal/skills/videodb/reference/streaming.md +406 -0
  737. package/vendor/theus-arsenal/skills/videodb/reference/use-cases.md +118 -0
  738. package/vendor/theus-arsenal/skills/videodb/scripts/ws_listener.py +279 -0
  739. package/vendor/theus-arsenal/skills/videos-manim/SKILL.md +91 -0
  740. package/vendor/theus-arsenal/skills/videos-manim/assets/network_graph_scene.py +52 -0
  741. package/vendor/theus-arsenal/skills/vigilancia-canary/SKILL.md +108 -0
  742. package/vendor/theus-arsenal/skills/voz-de-marca/SKILL.md +106 -0
@@ -0,0 +1,97 @@
1
+ # Referencia de sistema y uso de tinystruct
2
+
3
+ ## Cuándo usarla
4
+
5
+ Usa estos patrones para manejar el estado de la petición, gestionar sesiones web, implementar Server-Sent Events (SSE), manejar subidas de archivos o realizar peticiones HTTP salientes.
6
+
7
+ ## Cómo funciona
8
+
9
+ ### Context y argumentos de la CLI
10
+ `Context` es el almacén principal de estado específico de la petición. Los flags de la CLI pasados como `--clave valor` se guardan en `Context` como `"--clave"`.
11
+
12
+ ### Gestión de sesiones
13
+ Arquitectura conectable. El valor por defecto es `MemorySessionRepository`. Configura Redis en `application.properties`:
14
+ ```properties
15
+ default.session.repository=org.tinystruct.http.RedisSessionRepository
16
+ redis.host=127.0.0.1
17
+ redis.port=6379
18
+ ```
19
+
20
+ ### Server-Sent Events (SSE)
21
+ Soporte integrado para push en tiempo real. El `HttpServer` maneja automáticamente el ciclo de vida SSE cuando detecta la cabecera `Accept: text/event-stream`. Las conexiones se rastrean por ID de sesión en `SSEPushManager`.
22
+
23
+ ### Redes salientes
24
+ Usa `URLRequest` y `HTTPHandler` para hacer peticiones HTTP a servicios externos.
25
+
26
+ ## Ejemplos
27
+
28
+ ### Context y argumentos de la CLI
29
+ ```java
30
+ @Action("echo")
31
+ public String echo() {
32
+ // CLI: bin/dispatcher echo --words "Hola mundo"
33
+ Object words = getContext().getAttribute("--words");
34
+ if (words != null) return words.toString();
35
+ return "No se proporcionaron palabras";
36
+ }
37
+ ```
38
+
39
+ ### Gestión de sesiones
40
+ ```java
41
+ @Action(value = "login", mode = Mode.HTTP_POST)
42
+ public String login(Request<?, ?> request) {
43
+ request.getSession().setAttribute("userId", "42");
44
+ return "Sesión iniciada";
45
+ }
46
+ ```
47
+
48
+ ### Server-Sent Events (SSE)
49
+ ```java
50
+ @Action("sse/connect")
51
+ public String connect() {
52
+ return "{\"type\":\"connect\",\"message\":\"Conectado\"}";
53
+ }
54
+
55
+ // En otro método o manejador de eventos:
56
+ String sessionId = getContext().getId();
57
+ SSEPushManager.getInstance().push(sessionId, new Builder().put("msg", "hola"));
58
+ ```
59
+
60
+ ### Subida de archivos
61
+ ```java
62
+ import org.tinystruct.data.FileEntity;
63
+
64
+ @Action(value = "upload", mode = Mode.HTTP_POST)
65
+ public String upload(Request<?, ?> request) throws ApplicationException {
66
+ List<FileEntity> files = request.getAttachments();
67
+ if (files != null) {
68
+ for (FileEntity file : files) {
69
+ // file.getFilename(), file.getContent()
70
+ }
71
+ }
72
+ return "Subido";
73
+ }
74
+ ```
75
+
76
+ ### HTTP saliente
77
+ ```java
78
+ import org.tinystruct.net.URLRequest;
79
+ import org.tinystruct.net.handlers.HTTPHandler;
80
+
81
+ URLRequest request = new URLRequest(new URL("https://api.example.com"));
82
+ request.setMethod("POST").setBody("{\"data\":\"val\"}");
83
+
84
+ HTTPHandler handler = new HTTPHandler();
85
+ var response = handler.handleRequest(request);
86
+ if (response.getStatusCode() == 200) {
87
+ String body = response.getBody();
88
+ }
89
+ ```
90
+
91
+ ### Sistema de eventos
92
+ Registra manejadores en `init()` para ejecutar tareas asíncronas.
93
+ ```java
94
+ EventDispatcher.getInstance().registerHandler(MyEvent.class, event -> {
95
+ CompletableFuture.runAsync(() -> doHeavyWork(event.getPayload()));
96
+ });
97
+ ```
@@ -0,0 +1,72 @@
1
+ # Patrones de testing en tinystruct
2
+
3
+ ## Cuándo usarla
4
+
5
+ Usa estos patrones al escribir tests unitarios para tus aplicaciones con **JUnit 5**. Esenciales para verificar la lógica de las acciones, el registro de rutas y el comportamiento de los modos HTTP.
6
+
7
+ ## Cómo funciona
8
+
9
+ ### Tests unitarios de aplicaciones
10
+ `ActionRegistry` es un singleton. Para probar una aplicación:
11
+ 1. Instancia la aplicación.
12
+ 2. Proporciona un objeto `Settings` (dispara `init()` y el procesamiento de anotaciones).
13
+ 3. Usa `app.invoke(path, args)` para probar la lógica directamente.
14
+
15
+ ### Tests de integración HTTP
16
+ Para tests que involucren el servidor HTTP integrado:
17
+ 1. Arranca `HttpServer` en un hilo en segundo plano.
18
+ 2. Usa `ApplicationManager.call("start", context, Action.Mode.CLI)` para iniciarlo.
19
+ 3. Espera a que el puerto esté abierto usando un `Socket`.
20
+ 4. Usa `URLRequest` y `HTTPHandler` para realizar peticiones reales.
21
+
22
+ ## Ejemplos
23
+
24
+ ### Test unitario
25
+ ```java
26
+ import org.junit.jupiter.api.*;
27
+ import org.tinystruct.system.Settings;
28
+
29
+ class MyAppTest {
30
+ private MyApp app;
31
+
32
+ @BeforeEach
33
+ void setUp() {
34
+ app = new MyApp();
35
+ app.setConfiguration(new Settings());
36
+ app.init(); // dispara el procesamiento de @Action y registra todas las acciones
37
+ }
38
+
39
+ @Test
40
+ void testHello() throws Exception {
41
+ Object result = app.invoke("hello");
42
+ Assertions.assertEquals("Hello!", result);
43
+ }
44
+
45
+ @Test
46
+ void testGreet() throws Exception {
47
+ Object result = app.invoke("greet", new Object[]{"James"});
48
+ Assertions.assertEquals("Hello, James!", result);
49
+ }
50
+ }
51
+ ```
52
+
53
+ ### Test de coincidencia en ActionRegistry
54
+ ```java
55
+ @Test
56
+ void testRouting() {
57
+ ActionRegistry registry = ActionRegistry.getInstance();
58
+ Action action = registry.getAction("greet/James");
59
+ Assertions.assertNotNull(action);
60
+ }
61
+ ```
62
+
63
+ ### Patrón de integración HTTP
64
+ Referencia: `src/test/java/org/tinystruct/system/HttpServerHttpModeTest.java`
65
+
66
+ ```java
67
+ // Patrón:
68
+ // 1. Arranca el servidor en un hilo
69
+ // 2. Sondea la disponibilidad del puerto
70
+ // 3. Envía la petición HTTP vía HTTPHandler
71
+ // 4. Comprueba el cuerpo/estado de la respuesta
72
+ ```
@@ -0,0 +1,449 @@
1
+ ---
2
+ name: patrones-vite
3
+ description: Patrones de la herramienta de build Vite, incluyendo configuración, plugins, HMR, variables de entorno, configuración de proxy, SSR, modo librería, pre-bundling de dependencias y optimización del build. Actívala al trabajar con vite.config.ts, plugins de Vite o proyectos basados en Vite.
4
+ ---
5
+
6
+ # Patrones de Vite
7
+
8
+ Patrones de herramienta de build y servidor de desarrollo para proyectos con Vite 8+. Cubre configuración, variables de entorno, configuración de proxy, modo librería, pre-bundling de dependencias y errores comunes en producción.
9
+
10
+ ## Cuándo usarla
11
+
12
+ - Al configurar `vite.config.ts` o `vite.config.js`
13
+ - Al configurar variables de entorno o archivos `.env`
14
+ - Al configurar el proxy del servidor de desarrollo hacia backends de API
15
+ - Al optimizar la salida del build (chunks, minificación, assets)
16
+ - Al publicar librerías con `build.lib`
17
+ - Al depurar el pre-bundling de dependencias o la interoperabilidad CJS/ESM
18
+ - Al depurar errores de HMR, del servidor de desarrollo o del build
19
+ - Al elegir u ordenar plugins de Vite
20
+
21
+ ## Cómo funciona
22
+
23
+ - **El modo dev** sirve los archivos fuente como ESM nativo — sin bundling. Las transformaciones ocurren bajo demanda por cada petición de módulo, y por eso los arranques en frío son rápidos y el HMR es preciso.
24
+ - **El modo build** usa Rolldown (v7+) o Rollup (v5–v6) para empaquetar la aplicación para producción con tree-shaking, code-splitting y minificación basada en Oxc.
25
+ - **El pre-bundling de dependencias** convierte una sola vez las dependencias CJS/UMD a ESM mediante esbuild y cachea el resultado en `node_modules/.vite`, de modo que los arranques siguientes se saltan el trabajo.
26
+ - **Los plugins** comparten una interfaz unificada entre dev y build — el mismo objeto de plugin funciona tanto para las transformaciones bajo demanda del servidor de desarrollo como para la tubería de producción.
27
+ - **Las variables de entorno** se incrustan estáticamente en tiempo de build. Las variables con prefijo `VITE_` se convierten en constantes públicas dentro del bundle; todo lo que no lleve prefijo es invisible para el código del cliente.
28
+
29
+ ## Ejemplos
30
+
31
+ ### Estructura de la configuración
32
+
33
+ #### Configuración básica
34
+
35
+ ```typescript
36
+ // vite.config.ts
37
+ import { defineConfig } from 'vite'
38
+ import react from '@vitejs/plugin-react'
39
+
40
+ export default defineConfig({
41
+ plugins: [react()],
42
+ resolve: {
43
+ alias: { '@': new URL('./src', import.meta.url).pathname },
44
+ },
45
+ })
46
+ ```
47
+
48
+ #### Configuración condicional
49
+
50
+ ```typescript
51
+ // vite.config.ts
52
+ import { defineConfig, loadEnv } from 'vite'
53
+ import react from '@vitejs/plugin-react'
54
+
55
+ export default defineConfig(({ command, mode }) => {
56
+ const env = loadEnv(mode, process.cwd()) // solo prefijo VITE_ (seguro)
57
+
58
+ return {
59
+ plugins: [react()],
60
+ server: command === 'serve' ? { port: 3000 } : undefined,
61
+ define: {
62
+ __API_URL__: JSON.stringify(env.VITE_API_URL),
63
+ },
64
+ }
65
+ })
66
+ ```
67
+
68
+ #### Opciones clave de configuración
69
+
70
+ | Clave | Valor por defecto | Descripción |
71
+ |-----|---------|-------------|
72
+ | `root` | `'.'` | Raíz del proyecto (donde vive `index.html`) |
73
+ | `base` | `'/'` | Ruta base pública de los assets desplegados |
74
+ | `envPrefix` | `'VITE_'` | Prefijo de las variables de entorno expuestas al cliente |
75
+ | `build.outDir` | `'dist'` | Directorio de salida |
76
+ | `build.minify` | `'oxc'` | Minificador (`'oxc'`, `'terser'` o `false`) |
77
+ | `build.sourcemap` | `false` | `true`, `'inline'` u `'hidden'` |
78
+
79
+ ### Plugins
80
+
81
+ #### Plugins esenciales
82
+
83
+ La mayoría de necesidades de plugins están cubiertas por un puñado de paquetes bien mantenidos. Recurre a estos antes de escribir el tuyo.
84
+
85
+ | Plugin | Propósito | Cuándo usarlo |
86
+ |--------|---------|-------------|
87
+ | `@vitejs/plugin-react-swc` | HMR de React + Fast Refresh vía SWC | Opción por defecto para apps React (más rápido que la variante Babel) |
88
+ | `@vitejs/plugin-react` | HMR de React + Fast Refresh vía Babel | Solo si necesitas plugins de Babel (emotion, decoradores de MobX) |
89
+ | `@vitejs/plugin-vue` | Soporte de SFC de Vue 3 | Apps Vue |
90
+ | `vite-plugin-checker` | Ejecuta `tsc` + ESLint en un hilo worker con overlay de HMR | **Cualquier app TypeScript** — Vite NO chequea tipos durante `vite build` |
91
+ | `vite-tsconfig-paths` | Respeta los alias `paths` de `tsconfig.json` | Siempre que ya tengas alias en `tsconfig.json` |
92
+ | `vite-plugin-dts` | Emite archivos `.d.ts` en modo librería | Al publicar librerías TypeScript |
93
+ | `vite-plugin-svgr` | Importa SVGs como componentes React | Apps React que usan SVGs como componentes |
94
+ | `rollup-plugin-visualizer` | Reporte treemap/sunburst del bundle | Auditorías periódicas del tamaño del bundle (usa `enforce: 'post'`) |
95
+ | `vite-plugin-pwa` | PWA sin configuración + Workbox | Apps con soporte offline |
96
+
97
+ **Advertencia crítica:** `vite build` transpila pero NO chequea tipos. Los errores de tipos llegan silenciosamente a producción a menos que agregues `vite-plugin-checker` o ejecutes `tsc --noEmit` en CI.
98
+
99
+ #### Creación de plugins propios
100
+
101
+ Escribir plugins propios es poco frecuente — la mayoría de necesidades ya están cubiertas por plugins existentes. Cuando de verdad necesites uno, empieza en línea dentro de `vite.config.ts` y extráelo solo si se reutiliza.
102
+
103
+ ```typescript
104
+ // vite.config.ts — plugin mínimo en línea
105
+ function myPlugin(): Plugin {
106
+ return {
107
+ name: 'my-plugin', // obligatorio, debe ser único
108
+ enforce: 'pre', // 'pre' | 'post' (opcional)
109
+ apply: 'build', // 'build' | 'serve' (opcional)
110
+ transform(code, id) {
111
+ if (!id.endsWith('.custom')) return
112
+ return { code: transformCustom(code), map: null }
113
+ },
114
+ }
115
+ }
116
+ ```
117
+
118
+ **Hooks clave:** `transform` (modificar el código fuente), `resolveId` + `load` (módulos virtuales), `transformIndexHtml` (inyectar en el HTML), `configureServer` (añadir middleware de dev), `hotUpdate` (HMR personalizado — reemplaza al obsoleto `handleHotUpdate` en v7+).
119
+
120
+ **Los módulos virtuales** usan la convención del prefijo `\0` — `resolveId` devuelve `'\0virtual:my-id'` para que los demás plugins lo omitan. El código de usuario importa `'virtual:my-id'`.
121
+
122
+ Para la API completa de plugins, consulta [vite.dev/guide/api-plugin](https://vite.dev/guide/api-plugin). Usa `vite-plugin-inspect` durante el desarrollo para depurar la tubería de transformación.
123
+
124
+ ### API de HMR
125
+
126
+ Los plugins de framework (`@vitejs/plugin-react`, `@vitejs/plugin-vue`, etc.) gestionan el HMR automáticamente. Recurre a `import.meta.hot` directamente solo al construir stores de estado personalizados, herramientas de desarrollo o utilidades agnósticas de framework que necesiten persistir estado entre actualizaciones.
127
+
128
+ ```typescript
129
+ // src/store.ts — HMR manual para un módulo vanilla
130
+ if (import.meta.hot) {
131
+ // Persistir estado entre actualizaciones (hay que MUTAR, nunca reasignar .data)
132
+ import.meta.hot.data.count = import.meta.hot.data.count ?? 0
133
+
134
+ // Limpiar efectos secundarios antes de que el módulo sea reemplazado
135
+ import.meta.hot.dispose((data) => clearInterval(data.intervalId))
136
+
137
+ // Aceptar las actualizaciones del propio módulo
138
+ import.meta.hot.accept()
139
+ }
140
+ ```
141
+
142
+ Todo el código de `import.meta.hot` se elimina por tree-shaking de los builds de producción — no hace falta retirar los guards.
143
+
144
+ ### Variables de entorno
145
+
146
+ Vite carga `.env`, `.env.local`, `.env.[mode]` y `.env.[mode].local` en ese orden (lo posterior sobrescribe lo anterior); los archivos `*.local` están en gitignore y se destinan a secretos locales.
147
+
148
+ #### Acceso desde el cliente
149
+
150
+ Solo las variables con prefijo `VITE_` se exponen al código del cliente:
151
+
152
+ ```typescript
153
+ import.meta.env.VITE_API_URL // string
154
+ import.meta.env.MODE // 'development' | 'production' | personalizado
155
+ import.meta.env.BASE_URL // valor de la config base
156
+ import.meta.env.DEV // boolean
157
+ import.meta.env.PROD // boolean
158
+ import.meta.env.SSR // boolean
159
+ ```
160
+
161
+ #### Uso de variables de entorno en la configuración
162
+
163
+ ```typescript
164
+ // vite.config.ts
165
+ import { defineConfig, loadEnv } from 'vite'
166
+
167
+ export default defineConfig(({ mode }) => {
168
+ const env = loadEnv(mode, process.cwd()) // solo prefijo VITE_ (seguro)
169
+ return {
170
+ define: {
171
+ __API_URL__: JSON.stringify(env.VITE_API_URL),
172
+ },
173
+ }
174
+ })
175
+ ```
176
+
177
+ ### Seguridad
178
+
179
+ #### El prefijo `VITE_` NO es una frontera de seguridad
180
+
181
+ Cualquier variable con prefijo `VITE_` se **incrusta estáticamente en el bundle del cliente en tiempo de build**. La minificación, la codificación base64 y desactivar los source maps NO la ocultan. Un atacante decidido puede extraer cualquier variable `VITE_` del JavaScript publicado.
182
+
183
+ **Regla:** Solo los valores públicos (URLs de API, feature flags, claves públicas) van en variables `VITE_`. Los secretos (tokens de API, URLs de base de datos, claves privadas) DEBEN vivir del lado del servidor detrás de una API o una función serverless.
184
+
185
+ #### La trampa de `loadEnv('')`
186
+
187
+ ```typescript
188
+ // MAL: pasar '' como tercer argumento carga TODAS las variables de entorno — incluidos
189
+ // los secretos del servidor — y las deja disponibles para incrustarse en el código
190
+ // del cliente vía `define`.
191
+ const env = loadEnv(mode, process.cwd(), '')
192
+
193
+ // BIEN: lista explícita de prefijos
194
+ const env = loadEnv(mode, process.cwd(), ['VITE_', 'APP_'])
195
+ ```
196
+
197
+ #### Source maps en producción
198
+
199
+ Los source maps de producción filtran tu código fuente original. Desactívalos salvo que los subas a un rastreador de errores (Sentry, Bugsnag) y los borres localmente después:
200
+
201
+ ```typescript
202
+ build: {
203
+ sourcemap: false, // valor por defecto — mantenlo así
204
+ }
205
+ ```
206
+
207
+ #### Checklist de `.gitignore`
208
+
209
+ - `.env.local`, `.env.*.local` — sobrescrituras locales con secretos
210
+ - `dist/` — salida del build
211
+ - `node_modules/.vite` — caché del pre-bundle (las entradas obsoletas causan errores fantasma)
212
+
213
+ ### Proxy del servidor
214
+
215
+ ```typescript
216
+ // vite.config.ts — server.proxy
217
+ server: {
218
+ proxy: {
219
+ '/foo': 'http://localhost:4567', // atajo con string
220
+
221
+ '/api': {
222
+ target: 'http://localhost:8080',
223
+ changeOrigin: true, // necesario para backends con virtual hosting
224
+ rewrite: (path) => path.replace(/^\/api/, ''),
225
+ },
226
+ },
227
+ }
228
+ ```
229
+
230
+ Para hacer proxy de WebSocket, añade `ws: true` a la configuración de la ruta.
231
+
232
+ ### Optimización del build
233
+
234
+ #### Chunks manuales
235
+
236
+ ```typescript
237
+ // vite.config.ts — build.rolldownOptions
238
+ build: {
239
+ rolldownOptions: {
240
+ output: {
241
+ // Forma de objeto: agrupar paquetes específicos
242
+ manualChunks: {
243
+ 'react-vendor': ['react', 'react-dom'],
244
+ 'ui-vendor': ['@radix-ui/react-dialog', '@radix-ui/react-popover'],
245
+ },
246
+ },
247
+ },
248
+ }
249
+ ```
250
+
251
+ ```typescript
252
+ // Forma de función: dividir por heurística
253
+ manualChunks(id) {
254
+ if (id.includes('node_modules/react')) return 'react-vendor'
255
+ if (id.includes('node_modules')) return 'vendor'
256
+ }
257
+ ```
258
+
259
+ ### Rendimiento
260
+
261
+ #### Evita los barrel files
262
+
263
+ Los barrel files (un `index.ts` que reexporta todo lo de un directorio) obligan a Vite a cargar cada archivo reexportado aunque importes un solo símbolo. Es la causa #1 de lentitud del servidor de desarrollo señalada por la documentación oficial.
264
+
265
+ ```typescript
266
+ // MAL — importar una sola utilidad obliga a Vite a cargar el barrel completo
267
+ import { slash } from '@/utils'
268
+
269
+ // BIEN — import directo, solo se carga ese archivo
270
+ import { slash } from '@/utils/slash'
271
+ ```
272
+
273
+ #### Sé explícito con las extensiones de import
274
+
275
+ Cada extensión implícita fuerza hasta 6 comprobaciones del sistema de archivos vía `resolve.extensions`. En bases de código grandes, esto se acumula.
276
+
277
+ ```typescript
278
+ // MAL
279
+ import Component from './Component'
280
+
281
+ // BIEN
282
+ import Component from './Component.tsx'
283
+ ```
284
+
285
+ Acota `allowImportingTsExtensions` en `tsconfig.json` y `resolve.extensions` a solo las extensiones que realmente uses.
286
+
287
+ #### Precalienta las rutas de camino caliente
288
+
289
+ `server.warmup.clientFiles` pre-transforma las entradas calientes conocidas antes de que el navegador las solicite — eliminando la cascada de peticiones de la carga en frío en apps grandes.
290
+
291
+ ```typescript
292
+ // vite.config.ts
293
+ server: {
294
+ warmup: {
295
+ clientFiles: ['./src/main.tsx', './src/routes/**/*.tsx'],
296
+ },
297
+ }
298
+ ```
299
+
300
+ #### Perfilado de servidores de desarrollo lentos
301
+
302
+ Cuando `vite dev` se siente lento, empieza con `vite --profile`, interactúa con la app y luego pulsa `p+enter` para guardar un `.cpuprofile`. Cárgalo en [Speedscope](https://www.speedscope.app) para encontrar qué plugins consumen el tiempo — normalmente los hooks `buildStart`, `config` o `configResolved` de plugins de la comunidad.
303
+
304
+ ### Modo librería
305
+
306
+ Al publicar un paquete npm, usa `build.lib`. Dos trampas importan más que el detalle de la configuración:
307
+
308
+ 1. **Los tipos no se emiten** — añade `vite-plugin-dts` o ejecuta `tsc --emitDeclarationOnly` por separado.
309
+ 2. **Las peer dependencies DEBEN externalizarse** — las peers no listadas quedan empaquetadas dentro de tu librería, causando errores de runtime duplicado en los consumidores.
310
+
311
+ ```typescript
312
+ // vite.config.ts
313
+ build: {
314
+ lib: {
315
+ entry: 'src/index.ts',
316
+ formats: ['es', 'cjs'],
317
+ fileName: (format) => `my-lib.${format}.js`,
318
+ },
319
+ rolldownOptions: {
320
+ external: ['react', 'react-dom', 'react/jsx-runtime'], // cada peer dependency
321
+ },
322
+ }
323
+ ```
324
+
325
+ ### Externals en SSR
326
+
327
+ Los montajes desnudos con `createServer({ middlewareMode: true })` son territorio de autores de frameworks. La mayoría de apps deberían usar Nuxt, Remix, SvelteKit, Astro o TanStack Start en su lugar. Lo que sí ajustarás como usuario de framework es la configuración de externals cuando alguna dependencia se rompa en SSR:
328
+
329
+ ```typescript
330
+ // vite.config.ts — opciones ssr
331
+ ssr: {
332
+ external: ['node-native-package'], // mantener como require() en el bundle SSR
333
+ noExternal: ['esm-only-package'], // forzar su empaquetado en la salida SSR (arregla la mayoría de errores de SSR)
334
+ target: 'node', // 'node' o 'webworker'
335
+ }
336
+ ```
337
+
338
+ ### Pre-bundling de dependencias
339
+
340
+ Vite pre-empaqueta las dependencias para convertir CJS/UMD a ESM y reducir el número de peticiones.
341
+
342
+ ```typescript
343
+ // vite.config.ts — optimizeDeps
344
+ optimizeDeps: {
345
+ include: [
346
+ 'lodash-es', // forzar el pre-bundle de dependencias pesadas conocidas
347
+ 'cjs-package', // dependencias CJS que causan problemas de interoperabilidad
348
+ 'deep-lib/components/**', // glob para imports profundos
349
+ ],
350
+ exclude: ['local-esm-package'], // debe ser ESM válido si se excluye
351
+ force: true, // ignorar la caché, re-optimizar (depuración temporal)
352
+ }
353
+ ```
354
+
355
+ ### Errores comunes
356
+
357
+ #### Dev no coincide con build
358
+
359
+ Dev usa esbuild/Rolldown para las transformaciones; build usa Rolldown para el empaquetado. Las librerías CJS pueden comportarse de forma diferente entre ambos. Verifica siempre con `vite build && vite preview` antes de desplegar.
360
+
361
+ #### Chunks obsoletos tras un despliegue
362
+
363
+ Los builds nuevos producen hashes de chunk nuevos. Los usuarios con sesiones activas piden nombres de archivo antiguos que ya no existen. Vite no tiene solución integrada. Mitigaciones:
364
+
365
+ - Mantén vivos los archivos antiguos de `dist/assets/` durante una ventana de despliegue
366
+ - Captura los errores de import dinámico en tu router y fuerza una recarga de página
367
+
368
+ #### Docker y contenedores
369
+
370
+ Vite se enlaza a `localhost` por defecto, que es inalcanzable desde fuera de un contenedor:
371
+
372
+ ```typescript
373
+ // vite.config.ts — configuración para Docker/contenedores
374
+ server: {
375
+ host: true, // enlazar a 0.0.0.0
376
+ hmr: { clientPort: 3000 }, // si está detrás de un proxy inverso
377
+ }
378
+ ```
379
+
380
+ #### Acceso a archivos en monorepos
381
+
382
+ Vite restringe el servido de archivos a la raíz del proyecto. Los paquetes fuera de la raíz quedan bloqueados:
383
+
384
+ ```typescript
385
+ // vite.config.ts — acceso a archivos en monorepo
386
+ server: {
387
+ fs: {
388
+ allow: ['..'], // permitir el directorio padre (raíz del workspace)
389
+ },
390
+ }
391
+ ```
392
+
393
+ ### Antipatrones
394
+
395
+ ```typescript
396
+ // MAL: fijar envPrefix a '' expone TODAS las variables de entorno (incluidos secretos) al cliente
397
+ envPrefix: ''
398
+
399
+ // MAL: asumir que require() funciona en el código fuente de la app — Vite es ESM-first
400
+ const lib = require('some-lib') // usa import en su lugar
401
+
402
+ // MAL: dividir cada node_module en su propio chunk — crea cientos de archivos diminutos
403
+ manualChunks(id) {
404
+ if (id.includes('node_modules')) {
405
+ return id.split('node_modules/')[1].split('/')[0] // un chunk por paquete
406
+ }
407
+ }
408
+
409
+ // MAL: no externalizar las peer deps en modo librería — causa errores de runtime duplicado
410
+ // build.lib sin rolldownOptions.external
411
+
412
+ // MAL: usar el minificador esbuild obsoleto
413
+ build: { minify: 'esbuild' } // usa 'oxc' (por defecto) o 'terser'
414
+
415
+ // MAL: mutar import.meta.hot.data por reasignación
416
+ import.meta.hot.data = { count: 0 } // INCORRECTO: hay que mutar propiedades, no reasignar
417
+ import.meta.hot.data.count = 0 // CORRECTO
418
+ ```
419
+
420
+ **Antipatrones de proceso:**
421
+
422
+ - **`vite preview` NO es un servidor de producción** — es una prueba de humo del bundle compilado. Despliega `dist/` en un host estático real (NGINX, Cloudflare Pages, Vercel estático) o usa un Dockerfile multi-stage.
423
+ - **Esperar que `vite build` chequee tipos** — solo transpila. Los errores de tipos llegan silenciosamente a producción. Añade `vite-plugin-checker` o ejecuta `tsc --noEmit` en CI.
424
+ - **Incluir `@vitejs/plugin-legacy` por defecto** — infla los bundles ~40%, rompe los analizadores de bundle basados en source maps y es innecesario para el 95%+ de usuarios en navegadores modernos. Actívalo según analítica real, no por suposición.
425
+ - **Escribir a mano 30+ entradas de `resolve.alias` que duplican los paths de `tsconfig.json`** — usa `vite-tsconfig-paths` en su lugar. Observado en Excalidraw y PostHog; evítalo en proyectos nuevos.
426
+ - **Dejar un `node_modules/.vite` obsoleto tras cambios de dependencias** — la caché del pre-bundle causa errores fantasma. Límpiala al cambiar de rama o después de parchar dependencias.
427
+
428
+ ## Referencia rápida
429
+
430
+ | Patrón | Cuándo usarlo |
431
+ |---------|-------------|
432
+ | `defineConfig` | Siempre — aporta inferencia de tipos |
433
+ | `loadEnv(mode, root, ['VITE_'])` | Acceder a variables de entorno en la config (prefijo explícito) |
434
+ | `vite-plugin-checker` | Cualquier app TypeScript (cubre el hueco del chequeo de tipos) |
435
+ | `vite-tsconfig-paths` | En lugar de un `resolve.alias` escrito a mano |
436
+ | `optimizeDeps.include` | Dependencias CJS con problemas de interoperabilidad |
437
+ | `server.proxy` | Enrutar peticiones de API al backend en dev |
438
+ | `server.host: true` | Docker, contenedores, acceso remoto |
439
+ | `server.warmup.clientFiles` | Pre-transformar las rutas de camino caliente |
440
+ | `build.lib` + `external` | Publicar paquetes npm |
441
+ | `manualChunks` (objeto) | División del bundle de vendors |
442
+ | `vite --profile` | Depurar un servidor de desarrollo lento |
443
+ | `vite build && vite preview` | Prueba de humo local del bundle de producción (NO es un servidor de producción) |
444
+
445
+ ## Skills relacionadas
446
+
447
+ - `patrones-frontend` — patrones de componentes React
448
+ - `patrones-docker` — desarrollo en contenedores con Vite
449
+ - `patrones-nextjs` — bundler alternativo para Next.js