theus-cli-linux-x64 1.2.2 → 1.3.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 (758) hide show
  1. package/RELEASE.json +6 -6
  2. package/bin/theus +0 -0
  3. package/package.json +1 -1
  4. package/vendor/higiene-motor/PARCHES.md +244 -0
  5. package/vendor/higiene-motor/audit_dir.py +166 -0
  6. package/vendor/higiene-motor/audit_lib.py +333 -0
  7. package/vendor/higiene-motor/audit_website.py +635 -0
  8. package/vendor/higiene-motor/av_meta.py +498 -0
  9. package/vendor/higiene-motor/check_staged.py +71 -0
  10. package/vendor/higiene-motor/clean_ctrlregen.py +212 -0
  11. package/vendor/higiene-motor/clean_file.py +237 -0
  12. package/vendor/higiene-motor/clean_image.py +218 -0
  13. package/vendor/higiene-motor/clean_staged.py +143 -0
  14. package/vendor/higiene-motor/clean_text.py +108 -0
  15. package/vendor/higiene-motor/common.py +486 -0
  16. package/vendor/higiene-motor/container_meta.py +2522 -0
  17. package/vendor/higiene-motor/detect_gumbel.py +308 -0
  18. package/vendor/higiene-motor/detect_text_watermark.py +613 -0
  19. package/vendor/higiene-motor/format_dispatch.py +157 -0
  20. package/vendor/higiene-motor/hook_written_file.py +253 -0
  21. package/vendor/higiene-motor/image_meta.py +2171 -0
  22. package/vendor/higiene-motor/inspect_file.py +138 -0
  23. package/vendor/higiene-motor/inspect_image.py +72 -0
  24. package/vendor/higiene-motor/inspect_text.py +86 -0
  25. package/vendor/higiene-motor/markdiffusion_harness.py +533 -0
  26. package/vendor/higiene-motor/rewrite_text.py +737 -0
  27. package/vendor/higiene-motor/score_stylometry.py +460 -0
  28. package/vendor/higiene-motor/score_synthid.py +165 -0
  29. package/vendor/higiene-motor/server.py +1059 -0
  30. package/vendor/higiene-motor/synthid_score_server.py +176 -0
  31. package/vendor/higiene-motor/text_detectors.py +433 -0
  32. package/vendor/higiene-motor/text_unicode.py +730 -0
  33. package/vendor/theus-arsenal/.arsenal-nombres-ola2.json +0 -6
  34. package/vendor/theus-arsenal/.arsenal-nombres-ola3.json +0 -72
  35. package/vendor/theus-arsenal/.mailmap +0 -2
  36. package/vendor/theus-arsenal/.theus-plugin/marketplace.json +0 -25
  37. package/vendor/theus-arsenal/.theus-plugin/plugin.json +0 -20
  38. package/vendor/theus-arsenal/AUTHORS.md +0 -8
  39. package/vendor/theus-arsenal/CLEANROOM_REPLACEMENT_PLAN.md +0 -11
  40. package/vendor/theus-arsenal/LICENSE +0 -26
  41. package/vendor/theus-arsenal/PROVENANCE.md +0 -9
  42. package/vendor/theus-arsenal/README.md +0 -41
  43. package/vendor/theus-arsenal/THIRD_PARTY.md +0 -80
  44. package/vendor/theus-arsenal/agents/actualizador-docs.md +0 -123
  45. package/vendor/theus-arsenal/agents/analista-comentarios.md +0 -53
  46. package/vendor/theus-arsenal/agents/analista-conversaciones.md +0 -60
  47. package/vendor/theus-arsenal/agents/analista-tests-pr.md +0 -53
  48. package/vendor/theus-arsenal/agents/analista-tipos.md +0 -49
  49. package/vendor/theus-arsenal/agents/arquitecto-accesibilidad.md +0 -148
  50. package/vendor/theus-arsenal/agents/arquitecto-codigo.md +0 -79
  51. package/vendor/theus-arsenal/agents/arquitecto-homelab.md +0 -90
  52. package/vendor/theus-arsenal/agents/arquitecto-redes.md +0 -116
  53. package/vendor/theus-arsenal/agents/arquitecto-sistemas.md +0 -219
  54. package/vendor/theus-arsenal/agents/bifurcador-opensource.md +0 -206
  55. package/vendor/theus-arsenal/agents/cazador-fallos-silenciosos.md +0 -58
  56. package/vendor/theus-arsenal/agents/consultor-documentacion.md +0 -76
  57. package/vendor/theus-arsenal/agents/diagnosticador-redes.md +0 -135
  58. package/vendor/theus-arsenal/agents/ejecutor-e2e.md +0 -96
  59. package/vendor/theus-arsenal/agents/empaquetador-opensource.md +0 -257
  60. package/vendor/theus-arsenal/agents/escaner-secretos.md +0 -196
  61. package/vendor/theus-arsenal/agents/especialista-seo.md +0 -70
  62. package/vendor/theus-arsenal/agents/estratega-marketing.md +0 -158
  63. package/vendor/theus-arsenal/agents/evaluador-agentes.md +0 -214
  64. package/vendor/theus-arsenal/agents/evaluador-harness.md +0 -217
  65. package/vendor/theus-arsenal/agents/explorador-codigo.md +0 -79
  66. package/vendor/theus-arsenal/agents/extractor-specs.md +0 -214
  67. package/vendor/theus-arsenal/agents/generador-harness.md +0 -139
  68. package/vendor/theus-arsenal/agents/guia-tdd.md +0 -99
  69. package/vendor/theus-arsenal/agents/jefe-de-gabinete.md +0 -162
  70. package/vendor/theus-arsenal/agents/limpiador-refactors.md +0 -93
  71. package/vendor/theus-arsenal/agents/optimizador-rendimiento.md +0 -454
  72. package/vendor/theus-arsenal/agents/planificador-harness.md +0 -107
  73. package/vendor/theus-arsenal/agents/planificador.md +0 -221
  74. package/vendor/theus-arsenal/agents/resolutor-apps-harmonyos.md +0 -181
  75. package/vendor/theus-arsenal/agents/resolutor-builds-cpp.md +0 -98
  76. package/vendor/theus-arsenal/agents/resolutor-builds-dart.md +0 -209
  77. package/vendor/theus-arsenal/agents/resolutor-builds-django.md +0 -253
  78. package/vendor/theus-arsenal/agents/resolutor-builds-go.md +0 -102
  79. package/vendor/theus-arsenal/agents/resolutor-builds-java.md +0 -274
  80. package/vendor/theus-arsenal/agents/resolutor-builds-kotlin.md +0 -128
  81. package/vendor/theus-arsenal/agents/resolutor-builds-pytorch.md +0 -128
  82. package/vendor/theus-arsenal/agents/resolutor-builds-react.md +0 -214
  83. package/vendor/theus-arsenal/agents/resolutor-builds-rust.md +0 -156
  84. package/vendor/theus-arsenal/agents/resolutor-builds-swift.md +0 -169
  85. package/vendor/theus-arsenal/agents/resolutor-builds.md +0 -122
  86. package/vendor/theus-arsenal/agents/revisor-bd.md +0 -97
  87. package/vendor/theus-arsenal/agents/revisor-codigo.md +0 -291
  88. package/vendor/theus-arsenal/agents/revisor-config-red.md +0 -116
  89. package/vendor/theus-arsenal/agents/revisor-cpp.md +0 -80
  90. package/vendor/theus-arsenal/agents/revisor-csharp.md +0 -109
  91. package/vendor/theus-arsenal/agents/revisor-django.md +0 -168
  92. package/vendor/theus-arsenal/agents/revisor-fastapi.md +0 -82
  93. package/vendor/theus-arsenal/agents/revisor-flutter.md +0 -251
  94. package/vendor/theus-arsenal/agents/revisor-go.md +0 -84
  95. package/vendor/theus-arsenal/agents/revisor-java.md +0 -192
  96. package/vendor/theus-arsenal/agents/revisor-kotlin.md +0 -171
  97. package/vendor/theus-arsenal/agents/revisor-ml.md +0 -159
  98. package/vendor/theus-arsenal/agents/revisor-php.md +0 -108
  99. package/vendor/theus-arsenal/agents/revisor-python.md +0 -106
  100. package/vendor/theus-arsenal/agents/revisor-react.md +0 -166
  101. package/vendor/theus-arsenal/agents/revisor-rust.md +0 -102
  102. package/vendor/theus-arsenal/agents/revisor-seguridad.md +0 -116
  103. package/vendor/theus-arsenal/agents/revisor-software-clinico.md +0 -95
  104. package/vendor/theus-arsenal/agents/revisor-swift.md +0 -115
  105. package/vendor/theus-arsenal/agents/revisor-typescript.md +0 -123
  106. package/vendor/theus-arsenal/agents/revisor-vue.md +0 -205
  107. package/vendor/theus-arsenal/agents/simplificador-codigo.md +0 -55
  108. package/vendor/theus-arsenal/commands/actualizar-docs.md +0 -88
  109. package/vendor/theus-arsenal/commands/actualizar-mapas-codigo.md +0 -78
  110. package/vendor/theus-arsenal/commands/aprender-evaluar.md +0 -109
  111. package/vendor/theus-arsenal/commands/aprender.md +0 -74
  112. package/vendor/theus-arsenal/commands/arreglar-build.md +0 -66
  113. package/vendor/theus-arsenal/commands/bucle-multiperspectiva.md +0 -153
  114. package/vendor/theus-arsenal/commands/build-cpp.md +0 -173
  115. package/vendor/theus-arsenal/commands/build-flutter.md +0 -164
  116. package/vendor/theus-arsenal/commands/build-go.md +0 -183
  117. package/vendor/theus-arsenal/commands/build-gradle.md +0 -75
  118. package/vendor/theus-arsenal/commands/build-kotlin.md +0 -176
  119. package/vendor/theus-arsenal/commands/build-react.md +0 -187
  120. package/vendor/theus-arsenal/commands/build-rust.md +0 -187
  121. package/vendor/theus-arsenal/commands/campana-marketing.md +0 -125
  122. package/vendor/theus-arsenal/commands/checkpoint.md +0 -78
  123. package/vendor/theus-arsenal/commands/cobertura-tests.md +0 -73
  124. package/vendor/theus-arsenal/commands/configurar-gestor-paquetes.md +0 -86
  125. package/vendor/theus-arsenal/commands/consulta.md +0 -164
  126. package/vendor/theus-arsenal/commands/control-calidad.md +0 -50
  127. package/vendor/theus-arsenal/commands/crear-skill.md +0 -77
  128. package/vendor/theus-arsenal/commands/enrutar-modelo.md +0 -30
  129. package/vendor/theus-arsenal/commands/epica-desbloquear.md +0 -17
  130. package/vendor/theus-arsenal/commands/epica-descomponer.md +0 -22
  131. package/vendor/theus-arsenal/commands/epica-publicar.md +0 -21
  132. package/vendor/theus-arsenal/commands/epica-reclamar.md +0 -25
  133. package/vendor/theus-arsenal/commands/epica-revisar.md +0 -22
  134. package/vendor/theus-arsenal/commands/epica-sincronizar.md +0 -21
  135. package/vendor/theus-arsenal/commands/epica-validar.md +0 -21
  136. package/vendor/theus-arsenal/commands/evolucionar.md +0 -176
  137. package/vendor/theus-arsenal/commands/funcionalidad.md +0 -49
  138. package/vendor/theus-arsenal/commands/guardar-sesion.md +0 -278
  139. package/vendor/theus-arsenal/commands/harness-build.md +0 -111
  140. package/vendor/theus-arsenal/commands/harness-diseno.md +0 -46
  141. package/vendor/theus-arsenal/commands/informe-costos.md +0 -90
  142. package/vendor/theus-arsenal/commands/iniciar-bucle.md +0 -36
  143. package/vendor/theus-arsenal/commands/instintos-estado.md +0 -53
  144. package/vendor/theus-arsenal/commands/instintos-exportar.md +0 -69
  145. package/vendor/theus-arsenal/commands/instintos-importar.md +0 -120
  146. package/vendor/theus-arsenal/commands/lienzo-planes.md +0 -48
  147. package/vendor/theus-arsenal/commands/limpiar-refactor.md +0 -84
  148. package/vendor/theus-arsenal/commands/modo-seguro.md +0 -96
  149. package/vendor/theus-arsenal/commands/orq-agregar-funcionalidad.md +0 -36
  150. package/vendor/theus-arsenal/commands/orq-cambiar-funcionalidad.md +0 -38
  151. package/vendor/theus-arsenal/commands/orq-construir-mvp.md +0 -36
  152. package/vendor/theus-arsenal/commands/orq-corregir-defecto.md +0 -40
  153. package/vendor/theus-arsenal/commands/orq-refinar-codigo.md +0 -44
  154. package/vendor/theus-arsenal/commands/orq-revisar.md +0 -135
  155. package/vendor/theus-arsenal/commands/plan-prd.md +0 -160
  156. package/vendor/theus-arsenal/commands/plan.md +0 -198
  157. package/vendor/theus-arsenal/commands/podar.md +0 -31
  158. package/vendor/theus-arsenal/commands/pr.md +0 -181
  159. package/vendor/theus-arsenal/commands/promover.md +0 -41
  160. package/vendor/theus-arsenal/commands/proyectos.md +0 -33
  161. package/vendor/theus-arsenal/commands/prp-commit.md +0 -112
  162. package/vendor/theus-arsenal/commands/prp-implementar.md +0 -385
  163. package/vendor/theus-arsenal/commands/prp-planificar.md +0 -501
  164. package/vendor/theus-arsenal/commands/reanudar-sesion.md +0 -160
  165. package/vendor/theus-arsenal/commands/revisar-codigo.md +0 -289
  166. package/vendor/theus-arsenal/commands/revisar-cpp.md +0 -132
  167. package/vendor/theus-arsenal/commands/revisar-fastapi.md +0 -39
  168. package/vendor/theus-arsenal/commands/revisar-flutter.md +0 -115
  169. package/vendor/theus-arsenal/commands/revisar-go.md +0 -148
  170. package/vendor/theus-arsenal/commands/revisar-kotlin.md +0 -140
  171. package/vendor/theus-arsenal/commands/revisar-pr.md +0 -37
  172. package/vendor/theus-arsenal/commands/revisar-python.md +0 -297
  173. package/vendor/theus-arsenal/commands/revisar-react.md +0 -170
  174. package/vendor/theus-arsenal/commands/revisar-rust.md +0 -142
  175. package/vendor/theus-arsenal/commands/revisar-vue.md +0 -174
  176. package/vendor/theus-arsenal/commands/salud-skills.md +0 -52
  177. package/vendor/theus-arsenal/commands/sesiones.md +0 -345
  178. package/vendor/theus-arsenal/commands/test-cpp.md +0 -252
  179. package/vendor/theus-arsenal/commands/test-flutter.md +0 -143
  180. package/vendor/theus-arsenal/commands/test-go.md +0 -268
  181. package/vendor/theus-arsenal/commands/test-kotlin.md +0 -312
  182. package/vendor/theus-arsenal/commands/test-react.md +0 -265
  183. package/vendor/theus-arsenal/commands/test-rust.md +0 -309
  184. package/vendor/theus-arsenal/commands/vigilancia-canary.md +0 -43
  185. package/vendor/theus-arsenal/hooks/hooks.json +0 -274
  186. package/vendor/theus-arsenal/package.json +0 -6
  187. package/vendor/theus-arsenal/rules/angular/coding-style.md +0 -182
  188. package/vendor/theus-arsenal/rules/angular/hooks.md +0 -25
  189. package/vendor/theus-arsenal/rules/angular/patterns.md +0 -249
  190. package/vendor/theus-arsenal/rules/angular/security.md +0 -87
  191. package/vendor/theus-arsenal/rules/angular/testing.md +0 -164
  192. package/vendor/theus-arsenal/rules/arkts/coding-style.md +0 -153
  193. package/vendor/theus-arsenal/rules/arkts/hooks.md +0 -80
  194. package/vendor/theus-arsenal/rules/arkts/patterns.md +0 -236
  195. package/vendor/theus-arsenal/rules/arkts/security.md +0 -141
  196. package/vendor/theus-arsenal/rules/arkts/testing.md +0 -126
  197. package/vendor/theus-arsenal/rules/common/agents.md +0 -49
  198. package/vendor/theus-arsenal/rules/common/code-review.md +0 -123
  199. package/vendor/theus-arsenal/rules/common/coding-style.md +0 -90
  200. package/vendor/theus-arsenal/rules/common/development-workflow.md +0 -44
  201. package/vendor/theus-arsenal/rules/common/git-workflow.md +0 -24
  202. package/vendor/theus-arsenal/rules/common/hooks.md +0 -32
  203. package/vendor/theus-arsenal/rules/common/patterns.md +0 -31
  204. package/vendor/theus-arsenal/rules/common/performance.md +0 -53
  205. package/vendor/theus-arsenal/rules/common/security.md +0 -29
  206. package/vendor/theus-arsenal/rules/common/testing.md +0 -57
  207. package/vendor/theus-arsenal/rules/cpp/coding-style.md +0 -44
  208. package/vendor/theus-arsenal/rules/cpp/hooks.md +0 -39
  209. package/vendor/theus-arsenal/rules/cpp/patterns.md +0 -51
  210. package/vendor/theus-arsenal/rules/cpp/security.md +0 -51
  211. package/vendor/theus-arsenal/rules/cpp/testing.md +0 -44
  212. package/vendor/theus-arsenal/rules/csharp/coding-style.md +0 -72
  213. package/vendor/theus-arsenal/rules/csharp/hooks.md +0 -25
  214. package/vendor/theus-arsenal/rules/csharp/patterns.md +0 -50
  215. package/vendor/theus-arsenal/rules/csharp/security.md +0 -58
  216. package/vendor/theus-arsenal/rules/csharp/testing.md +0 -50
  217. package/vendor/theus-arsenal/rules/dart/coding-style.md +0 -159
  218. package/vendor/theus-arsenal/rules/dart/hooks.md +0 -68
  219. package/vendor/theus-arsenal/rules/dart/patterns.md +0 -261
  220. package/vendor/theus-arsenal/rules/dart/security.md +0 -135
  221. package/vendor/theus-arsenal/rules/dart/testing.md +0 -215
  222. package/vendor/theus-arsenal/rules/fsharp/coding-style.md +0 -112
  223. package/vendor/theus-arsenal/rules/fsharp/hooks.md +0 -26
  224. package/vendor/theus-arsenal/rules/fsharp/patterns.md +0 -111
  225. package/vendor/theus-arsenal/rules/fsharp/security.md +0 -76
  226. package/vendor/theus-arsenal/rules/fsharp/testing.md +0 -62
  227. package/vendor/theus-arsenal/rules/golang/coding-style.md +0 -32
  228. package/vendor/theus-arsenal/rules/golang/hooks.md +0 -17
  229. package/vendor/theus-arsenal/rules/golang/patterns.md +0 -45
  230. package/vendor/theus-arsenal/rules/golang/security.md +0 -34
  231. package/vendor/theus-arsenal/rules/golang/testing.md +0 -31
  232. package/vendor/theus-arsenal/rules/java/coding-style.md +0 -114
  233. package/vendor/theus-arsenal/rules/java/hooks.md +0 -18
  234. package/vendor/theus-arsenal/rules/java/patterns.md +0 -147
  235. package/vendor/theus-arsenal/rules/java/security.md +0 -101
  236. package/vendor/theus-arsenal/rules/java/testing.md +0 -133
  237. package/vendor/theus-arsenal/rules/kotlin/coding-style.md +0 -86
  238. package/vendor/theus-arsenal/rules/kotlin/hooks.md +0 -17
  239. package/vendor/theus-arsenal/rules/kotlin/patterns.md +0 -146
  240. package/vendor/theus-arsenal/rules/kotlin/security.md +0 -82
  241. package/vendor/theus-arsenal/rules/kotlin/testing.md +0 -128
  242. package/vendor/theus-arsenal/rules/nuxt/coding-style.md +0 -47
  243. package/vendor/theus-arsenal/rules/nuxt/hooks.md +0 -39
  244. package/vendor/theus-arsenal/rules/nuxt/patterns.md +0 -54
  245. package/vendor/theus-arsenal/rules/nuxt/security.md +0 -48
  246. package/vendor/theus-arsenal/rules/nuxt/testing.md +0 -49
  247. package/vendor/theus-arsenal/rules/php/coding-style.md +0 -40
  248. package/vendor/theus-arsenal/rules/php/hooks.md +0 -24
  249. package/vendor/theus-arsenal/rules/php/patterns.md +0 -33
  250. package/vendor/theus-arsenal/rules/php/security.md +0 -37
  251. package/vendor/theus-arsenal/rules/php/testing.md +0 -38
  252. package/vendor/theus-arsenal/rules/python/coding-style.md +0 -42
  253. package/vendor/theus-arsenal/rules/python/fastapi.md +0 -58
  254. package/vendor/theus-arsenal/rules/python/hooks.md +0 -19
  255. package/vendor/theus-arsenal/rules/python/patterns.md +0 -39
  256. package/vendor/theus-arsenal/rules/python/security.md +0 -30
  257. package/vendor/theus-arsenal/rules/python/testing.md +0 -38
  258. package/vendor/theus-arsenal/rules/react/coding-style.md +0 -109
  259. package/vendor/theus-arsenal/rules/react/hooks.md +0 -187
  260. package/vendor/theus-arsenal/rules/react/patterns.md +0 -194
  261. package/vendor/theus-arsenal/rules/react/security.md +0 -180
  262. package/vendor/theus-arsenal/rules/react/testing.md +0 -208
  263. package/vendor/theus-arsenal/rules/react-native/accessibility.md +0 -55
  264. package/vendor/theus-arsenal/rules/react-native/coding-style.md +0 -71
  265. package/vendor/theus-arsenal/rules/react-native/hooks.md +0 -28
  266. package/vendor/theus-arsenal/rules/react-native/patterns.md +0 -88
  267. package/vendor/theus-arsenal/rules/react-native/performance.md +0 -45
  268. package/vendor/theus-arsenal/rules/react-native/production-readiness.md +0 -51
  269. package/vendor/theus-arsenal/rules/react-native/security.md +0 -43
  270. package/vendor/theus-arsenal/rules/react-native/testing.md +0 -52
  271. package/vendor/theus-arsenal/rules/ruby/coding-style.md +0 -46
  272. package/vendor/theus-arsenal/rules/ruby/hooks.md +0 -37
  273. package/vendor/theus-arsenal/rules/ruby/patterns.md +0 -44
  274. package/vendor/theus-arsenal/rules/ruby/security.md +0 -51
  275. package/vendor/theus-arsenal/rules/ruby/testing.md +0 -51
  276. package/vendor/theus-arsenal/rules/rust/coding-style.md +0 -151
  277. package/vendor/theus-arsenal/rules/rust/hooks.md +0 -16
  278. package/vendor/theus-arsenal/rules/rust/patterns.md +0 -168
  279. package/vendor/theus-arsenal/rules/rust/security.md +0 -141
  280. package/vendor/theus-arsenal/rules/rust/testing.md +0 -154
  281. package/vendor/theus-arsenal/rules/swift/coding-style.md +0 -47
  282. package/vendor/theus-arsenal/rules/swift/hooks.md +0 -20
  283. package/vendor/theus-arsenal/rules/swift/patterns.md +0 -66
  284. package/vendor/theus-arsenal/rules/swift/security.md +0 -33
  285. package/vendor/theus-arsenal/rules/swift/testing.md +0 -45
  286. package/vendor/theus-arsenal/rules/typescript/coding-style.md +0 -199
  287. package/vendor/theus-arsenal/rules/typescript/hooks.md +0 -22
  288. package/vendor/theus-arsenal/rules/typescript/patterns.md +0 -52
  289. package/vendor/theus-arsenal/rules/typescript/security.md +0 -28
  290. package/vendor/theus-arsenal/rules/typescript/testing.md +0 -18
  291. package/vendor/theus-arsenal/rules/vue/coding-style.md +0 -54
  292. package/vendor/theus-arsenal/rules/vue/hooks.md +0 -45
  293. package/vendor/theus-arsenal/rules/vue/patterns.md +0 -56
  294. package/vendor/theus-arsenal/rules/vue/security.md +0 -46
  295. package/vendor/theus-arsenal/rules/vue/testing.md +0 -53
  296. package/vendor/theus-arsenal/rules/web/coding-style.md +0 -108
  297. package/vendor/theus-arsenal/rules/web/design-quality.md +0 -75
  298. package/vendor/theus-arsenal/rules/web/hooks.md +0 -141
  299. package/vendor/theus-arsenal/rules/web/patterns.md +0 -91
  300. package/vendor/theus-arsenal/rules/web/performance.md +0 -76
  301. package/vendor/theus-arsenal/rules/web/security.md +0 -69
  302. package/vendor/theus-arsenal/rules/web/testing.md +0 -67
  303. package/vendor/theus-arsenal/scripts/hooks/bash-hook-dispatcher.js +0 -192
  304. package/vendor/theus-arsenal/scripts/hooks/block-no-verify.js +0 -556
  305. package/vendor/theus-arsenal/scripts/hooks/check-console-log.js +0 -92
  306. package/vendor/theus-arsenal/scripts/hooks/check-hook-enabled.js +0 -16
  307. package/vendor/theus-arsenal/scripts/hooks/config-protection.js +0 -171
  308. package/vendor/theus-arsenal/scripts/hooks/design-quality-check.js +0 -132
  309. package/vendor/theus-arsenal/scripts/hooks/doc-file-warning.js +0 -110
  310. package/vendor/theus-arsenal/scripts/hooks/modo-seguro.js +0 -158
  311. package/vendor/theus-arsenal/scripts/hooks/notificacion-escritorio.js +0 -208
  312. package/vendor/theus-arsenal/scripts/hooks/plugin-hook-bootstrap.js +0 -280
  313. package/vendor/theus-arsenal/scripts/hooks/post-bash-command-log.js +0 -87
  314. package/vendor/theus-arsenal/scripts/hooks/post-bash-dispatcher.js +0 -24
  315. package/vendor/theus-arsenal/scripts/hooks/post-bash-pr-created.js +0 -60
  316. package/vendor/theus-arsenal/scripts/hooks/post-edit-accumulator.js +0 -94
  317. package/vendor/theus-arsenal/scripts/hooks/post-edit-console-warn.js +0 -54
  318. package/vendor/theus-arsenal/scripts/hooks/post-edit-format.js +0 -110
  319. package/vendor/theus-arsenal/scripts/hooks/post-edit-typecheck.js +0 -98
  320. package/vendor/theus-arsenal/scripts/hooks/pre-bash-commit-quality.js +0 -447
  321. package/vendor/theus-arsenal/scripts/hooks/pre-bash-dev-server-block.js +0 -232
  322. package/vendor/theus-arsenal/scripts/hooks/pre-bash-dispatcher.js +0 -27
  323. package/vendor/theus-arsenal/scripts/hooks/pre-compact.js +0 -101
  324. package/vendor/theus-arsenal/scripts/hooks/pretooluse-visible-output.js +0 -49
  325. package/vendor/theus-arsenal/scripts/hooks/quality-gate.js +0 -168
  326. package/vendor/theus-arsenal/scripts/hooks/run-with-flags.js +0 -271
  327. package/vendor/theus-arsenal/scripts/hooks/salud-mcp.js +0 -749
  328. package/vendor/theus-arsenal/scripts/hooks/seguimiento-costos.js +0 -161
  329. package/vendor/theus-arsenal/scripts/hooks/session-end.js +0 -340
  330. package/vendor/theus-arsenal/scripts/hooks/session-start.js +0 -906
  331. package/vendor/theus-arsenal/scripts/hooks/stop-format-typecheck.js +0 -263
  332. package/vendor/theus-arsenal/scripts/hooks/suggest-compact.js +0 -286
  333. package/vendor/theus-arsenal/scripts/hooks/theus-context-monitor.js +0 -289
  334. package/vendor/theus-arsenal/scripts/hooks/verificacion-factual.js +0 -1278
  335. package/vendor/theus-arsenal/scripts/lib/agent-data-home.js +0 -96
  336. package/vendor/theus-arsenal/scripts/lib/cost-estimate.js +0 -66
  337. package/vendor/theus-arsenal/scripts/lib/hook-flags.js +0 -79
  338. package/vendor/theus-arsenal/scripts/lib/llm-summary.js +0 -185
  339. package/vendor/theus-arsenal/scripts/lib/loopback-guard.js +0 -54
  340. package/vendor/theus-arsenal/scripts/lib/observer-sessions.js +0 -237
  341. package/vendor/theus-arsenal/scripts/lib/package-manager.d.ts +0 -120
  342. package/vendor/theus-arsenal/scripts/lib/package-manager.js +0 -434
  343. package/vendor/theus-arsenal/scripts/lib/path-safety.js +0 -86
  344. package/vendor/theus-arsenal/scripts/lib/plan-canvas/markdown.js +0 -285
  345. package/vendor/theus-arsenal/scripts/lib/plan-canvas/sdk.js +0 -238
  346. package/vendor/theus-arsenal/scripts/lib/plan-canvas/server.js +0 -534
  347. package/vendor/theus-arsenal/scripts/lib/plan-canvas/sessions.js +0 -274
  348. package/vendor/theus-arsenal/scripts/lib/plan-canvas/ui.js +0 -546
  349. package/vendor/theus-arsenal/scripts/lib/project-detect.js +0 -451
  350. package/vendor/theus-arsenal/scripts/lib/resolve-formatter.js +0 -193
  351. package/vendor/theus-arsenal/scripts/lib/resolve-theus-root.js +0 -101
  352. package/vendor/theus-arsenal/scripts/lib/session-aliases.d.ts +0 -138
  353. package/vendor/theus-arsenal/scripts/lib/session-aliases.js +0 -483
  354. package/vendor/theus-arsenal/scripts/lib/session-bridge.js +0 -155
  355. package/vendor/theus-arsenal/scripts/lib/session-manager.d.ts +0 -137
  356. package/vendor/theus-arsenal/scripts/lib/session-manager.js +0 -555
  357. package/vendor/theus-arsenal/scripts/lib/shell-split.js +0 -86
  358. package/vendor/theus-arsenal/scripts/lib/shell-substitution.js +0 -501
  359. package/vendor/theus-arsenal/scripts/lib/skill-evolution/dashboard.js +0 -414
  360. package/vendor/theus-arsenal/scripts/lib/skill-evolution/health.js +0 -285
  361. package/vendor/theus-arsenal/scripts/lib/skill-evolution/index.js +0 -22
  362. package/vendor/theus-arsenal/scripts/lib/skill-evolution/provenance.js +0 -200
  363. package/vendor/theus-arsenal/scripts/lib/skill-evolution/tracker.js +0 -157
  364. package/vendor/theus-arsenal/scripts/lib/skill-evolution/versioning.js +0 -246
  365. package/vendor/theus-arsenal/scripts/lib/transcript-context.js +0 -232
  366. package/vendor/theus-arsenal/scripts/lib/utils.d.ts +0 -205
  367. package/vendor/theus-arsenal/scripts/lib/utils.js +0 -658
  368. package/vendor/theus-arsenal/scripts/plan-canvas.js +0 -341
  369. package/vendor/theus-arsenal/scripts/setup-package-manager.js +0 -46
  370. package/vendor/theus-arsenal/scripts/skills-health.js +0 -143
  371. package/vendor/theus-arsenal/skills/a11y-frontend/SKILL.md +0 -444
  372. package/vendor/theus-arsenal/skills/accesibilidad/SKILL.md +0 -144
  373. package/vendor/theus-arsenal/skills/acelerador-throughput-datos/SKILL.md +0 -72
  374. package/vendor/theus-arsenal/skills/agente-scraper-datos/SKILL.md +0 -771
  375. package/vendor/theus-arsenal/skills/analisis-plataformas-competencia/SKILL.md +0 -137
  376. package/vendor/theus-arsenal/skills/api-x/SKILL.md +0 -233
  377. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/SKILL.md +0 -335
  378. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer-loop.sh +0 -374
  379. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer.md +0 -188
  380. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/session-guardian.sh +0 -153
  381. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/start-observer.sh +0 -253
  382. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/config.json +0 -8
  383. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/hooks/observe.sh +0 -594
  384. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/detect-project.sh +0 -325
  385. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/instinct-cli.py +0 -1918
  386. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/lib/arsenal-dir.sh +0 -23
  387. package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/test_parse_instinct.py +0 -1420
  388. package/vendor/theus-arsenal/skills/arquitectura-hexagonal/SKILL.md +0 -275
  389. package/vendor/theus-arsenal/skills/arquitectura-limpia-android/SKILL.md +0 -340
  390. package/vendor/theus-arsenal/skills/arquitectura-pipelines-recomendacion/SKILL.md +0 -112
  391. package/vendor/theus-arsenal/skills/atlas-datos-prediccion/SKILL.md +0 -53
  392. package/vendor/theus-arsenal/skills/auditoria-arquitectura-agentes/SKILL.md +0 -257
  393. package/vendor/theus-arsenal/skills/auditoria-produccion/SKILL.md +0 -180
  394. package/vendor/theus-arsenal/skills/auditoria-rutas-clic/SKILL.md +0 -243
  395. package/vendor/theus-arsenal/skills/autoevaluacion-agente/SKILL.md +0 -180
  396. package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/high-score-example.md +0 -89
  397. package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/low-score-example.md +0 -87
  398. package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/evaluation-criteria.md +0 -71
  399. package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/hook-integration.md +0 -90
  400. package/vendor/theus-arsenal/skills/autoevaluacion-agente/scripts/evaluate.py +0 -409
  401. package/vendor/theus-arsenal/skills/autoevaluacion-agente/templates/evaluation-report.md +0 -86
  402. package/vendor/theus-arsenal/skills/automatizacion-ssh-netmiko/SKILL.md +0 -176
  403. package/vendor/theus-arsenal/skills/base-datos-pubmed/SKILL.md +0 -174
  404. package/vendor/theus-arsenal/skills/base-datos-uspto/SKILL.md +0 -173
  405. package/vendor/theus-arsenal/skills/benchmark/SKILL.md +0 -92
  406. package/vendor/theus-arsenal/skills/bitacora-crecimiento/SKILL.md +0 -120
  407. package/vendor/theus-arsenal/skills/bucle-verificacion/SKILL.md +0 -125
  408. package/vendor/theus-arsenal/skills/buscar-primero/SKILL.md +0 -184
  409. package/vendor/theus-arsenal/skills/busqueda-exa/SKILL.md +0 -111
  410. package/vendor/theus-arsenal/skills/cache-por-hash/SKILL.md +0 -160
  411. package/vendor/theus-arsenal/skills/campana-marketing/SKILL.md +0 -118
  412. package/vendor/theus-arsenal/skills/capacidad-producto/SKILL.md +0 -138
  413. package/vendor/theus-arsenal/skills/cazador-vulnerabilidades/SKILL.md +0 -104
  414. package/vendor/theus-arsenal/skills/compactacion-estrategica/SKILL.md +0 -115
  415. package/vendor/theus-arsenal/skills/comparador-baskets-prediccion/SKILL.md +0 -69
  416. package/vendor/theus-arsenal/skills/compras-energia/SKILL.md +0 -206
  417. package/vendor/theus-arsenal/skills/concurrencia-swift-6-2/SKILL.md +0 -224
  418. package/vendor/theus-arsenal/skills/consejo/SKILL.md +0 -201
  419. package/vendor/theus-arsenal/skills/construccion-harness-agentes/SKILL.md +0 -78
  420. package/vendor/theus-arsenal/skills/constructor-conectores/SKILL.md +0 -119
  421. package/vendor/theus-arsenal/skills/constructor-equipos/SKILL.md +0 -169
  422. package/vendor/theus-arsenal/skills/consulta-documentacion/SKILL.md +0 -92
  423. package/vendor/theus-arsenal/skills/consultas-genomicas-gget/SKILL.md +0 -170
  424. package/vendor/theus-arsenal/skills/contacto-inversores/SKILL.md +0 -95
  425. package/vendor/theus-arsenal/skills/corrutinas-flows-kotlin/SKILL.md +0 -284
  426. package/vendor/theus-arsenal/skills/creacion-video-remotion/SKILL.md +0 -46
  427. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/3d.md +0 -86
  428. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/animations.md +0 -29
  429. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/charts-bar-chart.tsx +0 -173
  430. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-typewriter.tsx +0 -100
  431. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-word-highlight.tsx +0 -108
  432. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets.md +0 -78
  433. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/audio.md +0 -172
  434. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/calculate-metadata.md +0 -104
  435. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/can-decode.md +0 -75
  436. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/charts.md +0 -58
  437. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/compositions.md +0 -146
  438. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/display-captions.md +0 -126
  439. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/extract-frames.md +0 -229
  440. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/fonts.md +0 -152
  441. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-audio-duration.md +0 -58
  442. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-dimensions.md +0 -68
  443. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-duration.md +0 -58
  444. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/gifs.md +0 -138
  445. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/images.md +0 -130
  446. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/import-srt-captions.md +0 -67
  447. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/lottie.md +0 -67
  448. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-dom-nodes.md +0 -34
  449. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-text.md +0 -143
  450. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/sequencing.md +0 -106
  451. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/tailwind.md +0 -11
  452. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/text-animations.md +0 -20
  453. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/timing.md +0 -179
  454. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transcribe-captions.md +0 -19
  455. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transitions.md +0 -122
  456. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/trimming.md +0 -52
  457. package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/videos.md +0 -171
  458. package/vendor/theus-arsenal/skills/cumplimiento-aduanero/SKILL.md +0 -270
  459. package/vendor/theus-arsenal/skills/cumplimiento-hipaa/SKILL.md +0 -78
  460. package/vendor/theus-arsenal/skills/datos-sensibles-salud/SKILL.md +0 -149
  461. package/vendor/theus-arsenal/skills/decimales-tokens-evm/SKILL.md +0 -128
  462. package/vendor/theus-arsenal/skills/decisiones-arquitectura/SKILL.md +0 -206
  463. package/vendor/theus-arsenal/skills/demos-ui/SKILL.md +0 -469
  464. package/vendor/theus-arsenal/skills/desarrollo-por-intencion/SKILL.md +0 -369
  465. package/vendor/theus-arsenal/skills/descubrimiento-marca/SKILL.md +0 -149
  466. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/10_proposito-porque.md +0 -42
  467. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/20_posicionamiento.md +0 -47
  468. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/30_audiencia-nicho.md +0 -53
  469. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/40_personalidad-arquetipo.md +0 -61
  470. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/50_voz-tono.md +0 -62
  471. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/60_narrativa-historia.md +0 -54
  472. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/70_tension-fundador.md +0 -50
  473. package/vendor/theus-arsenal/skills/descubrimiento-marca/references/90_SINTESIS.md +0 -133
  474. package/vendor/theus-arsenal/skills/descubrimiento-plugins-laravel/SKILL.md +0 -230
  475. package/vendor/theus-arsenal/skills/destilado-reglas/SKILL.md +0 -263
  476. package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-rules.sh +0 -58
  477. package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-skills.sh +0 -129
  478. package/vendor/theus-arsenal/skills/diagnostico-bgp/SKILL.md +0 -170
  479. package/vendor/theus-arsenal/skills/direccion-estetica/SKILL.md +0 -220
  480. package/vendor/theus-arsenal/skills/direccion-estetica/references/taxonomia-generos.md +0 -89
  481. package/vendor/theus-arsenal/skills/diseno-api/SKILL.md +0 -522
  482. package/vendor/theus-arsenal/skills/diseno-liquid-glass/SKILL.md +0 -282
  483. package/vendor/theus-arsenal/skills/e2e-escritorio-windows/SKILL.md +0 -879
  484. package/vendor/theus-arsenal/skills/edicion-video/SKILL.md +0 -289
  485. package/vendor/theus-arsenal/skills/enfoque-producto/SKILL.md +0 -91
  486. package/vendor/theus-arsenal/skills/entornos-flox/SKILL.md +0 -493
  487. package/vendor/theus-arsenal/skills/estandares-codigo/SKILL.md +0 -548
  488. package/vendor/theus-arsenal/skills/estandares-cpp/SKILL.md +0 -727
  489. package/vendor/theus-arsenal/skills/estandares-java/SKILL.md +0 -389
  490. package/vendor/theus-arsenal/skills/estilo-legado/SKILL.md +0 -149
  491. package/vendor/theus-arsenal/skills/estructura-informes-competencia/SKILL.md +0 -95
  492. package/vendor/theus-arsenal/skills/evaluacion-academica/SKILL.md +0 -165
  493. package/vendor/theus-arsenal/skills/explorador-skills/SKILL.md +0 -129
  494. package/vendor/theus-arsenal/skills/flujo-git/SKILL.md +0 -714
  495. package/vendor/theus-arsenal/skills/flujo-ingenieria-ml/SKILL.md +0 -343
  496. package/vendor/theus-arsenal/skills/flujo-tdd/SKILL.md +0 -584
  497. package/vendor/theus-arsenal/skills/forja-personas/SKILL.md +0 -298
  498. package/vendor/theus-arsenal/skills/forja-personas/gacha.py +0 -224
  499. package/vendor/theus-arsenal/skills/forja-personas/gacha.sh +0 -5
  500. package/vendor/theus-arsenal/skills/forja-personas/references/avatar-style.md +0 -123
  501. package/vendor/theus-arsenal/skills/forja-personas/references/boundary-rules.md +0 -53
  502. package/vendor/theus-arsenal/skills/forja-personas/references/error-handling.md +0 -53
  503. package/vendor/theus-arsenal/skills/forja-personas/references/identity-tension.md +0 -48
  504. package/vendor/theus-arsenal/skills/forja-personas/references/naming-system.md +0 -39
  505. package/vendor/theus-arsenal/skills/forja-personas/references/output-template.md +0 -166
  506. package/vendor/theus-arsenal/skills/fundamentos-animacion/SKILL.md +0 -296
  507. package/vendor/theus-arsenal/skills/generacion-iconos-ios/SKILL.md +0 -156
  508. package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/generate_icons.swift +0 -258
  509. package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/iconify_gen.sh +0 -235
  510. package/vendor/theus-arsenal/skills/gestion-excepciones-logisticas/SKILL.md +0 -208
  511. package/vendor/theus-arsenal/skills/gestion-transportistas/SKILL.md +0 -204
  512. package/vendor/theus-arsenal/skills/guia-adopcion-ml/SKILL.md +0 -64
  513. package/vendor/theus-arsenal/skills/harness-agente-autonomo/SKILL.md +0 -252
  514. package/vendor/theus-arsenal/skills/harness-eval-clinico/SKILL.md +0 -212
  515. package/vendor/theus-arsenal/skills/harness-evaluacion/SKILL.md +0 -296
  516. package/vendor/theus-arsenal/skills/harness-generador-evaluador/SKILL.md +0 -254
  517. package/vendor/theus-arsenal/skills/homelab-diseno-red/SKILL.md +0 -120
  518. package/vendor/theus-arsenal/skills/homelab-dns-pihole/SKILL.md +0 -264
  519. package/vendor/theus-arsenal/skills/homelab-preparacion-red/SKILL.md +0 -144
  520. package/vendor/theus-arsenal/skills/homelab-segmentacion-vlan/SKILL.md +0 -307
  521. package/vendor/theus-arsenal/skills/homelab-vpn-wireguard/SKILL.md +0 -299
  522. package/vendor/theus-arsenal/skills/ingenieria-agentica/SKILL.md +0 -96
  523. package/vendor/theus-arsenal/skills/inspeccion-animaciones-blender/SKILL.md +0 -164
  524. package/vendor/theus-arsenal/skills/instaladores-python/SKILL.md +0 -820
  525. package/vendor/theus-arsenal/skills/integracion-jira/SKILL.md +0 -307
  526. package/vendor/theus-arsenal/skills/inteligencia-leads/SKILL.md +0 -312
  527. package/vendor/theus-arsenal/skills/inteligencia-leads/agents/agente-enriquecimiento.md +0 -87
  528. package/vendor/theus-arsenal/skills/inteligencia-leads/agents/mapeador-mutuos.md +0 -76
  529. package/vendor/theus-arsenal/skills/inteligencia-leads/agents/puntuador-senales.md +0 -60
  530. package/vendor/theus-arsenal/skills/inteligencia-leads/agents/redactor-outreach.md +0 -102
  531. package/vendor/theus-arsenal/skills/inteligencia-mercados-prediccion/SKILL.md +0 -53
  532. package/vendor/theus-arsenal/skills/introspeccion-agente/SKILL.md +0 -150
  533. package/vendor/theus-arsenal/skills/inventario-skills/SKILL.md +0 -194
  534. package/vendor/theus-arsenal/skills/inventario-skills/scripts/quick-diff.sh +0 -87
  535. package/vendor/theus-arsenal/skills/inventario-skills/scripts/save-results.sh +0 -57
  536. package/vendor/theus-arsenal/skills/inventario-skills/scripts/scan.sh +0 -170
  537. package/vendor/theus-arsenal/skills/investigacion-mercado/SKILL.md +0 -87
  538. package/vendor/theus-arsenal/skills/investigacion-oraculos-prediccion/SKILL.md +0 -59
  539. package/vendor/theus-arsenal/skills/investigacion-profunda/SKILL.md +0 -161
  540. package/vendor/theus-arsenal/skills/keccak256-nodejs/SKILL.md +0 -100
  541. package/vendor/theus-arsenal/skills/libro-decisiones-recursivo/SKILL.md +0 -82
  542. package/vendor/theus-arsenal/skills/lienzo-planes/SKILL.md +0 -111
  543. package/vendor/theus-arsenal/skills/limpieza-configuracion/SKILL.md +0 -116
  544. package/vendor/theus-arsenal/skills/logistica-inversa-devoluciones/SKILL.md +0 -241
  545. package/vendor/theus-arsenal/skills/manejo-errores/SKILL.md +0 -375
  546. package/vendor/theus-arsenal/skills/materiales-inversores/SKILL.md +0 -101
  547. package/vendor/theus-arsenal/skills/memoria-por-proyecto/SKILL.md +0 -170
  548. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/forget.mjs +0 -44
  549. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/info.mjs +0 -24
  550. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/init.mjs +0 -152
  551. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/list.mjs +0 -40
  552. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/migrate.mjs +0 -214
  553. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/resume.mjs +0 -36
  554. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/save.mjs +0 -210
  555. package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/shared.mjs +0 -402
  556. package/vendor/theus-arsenal/skills/memoria-por-proyecto/hooks/session-start.mjs +0 -238
  557. package/vendor/theus-arsenal/skills/metodologia-benchmarks/SKILL.md +0 -131
  558. package/vendor/theus-arsenal/skills/migraciones-bd/SKILL.md +0 -430
  559. package/vendor/theus-arsenal/skills/modelos-fundacionales-en-dispositivo/SKILL.md +0 -244
  560. package/vendor/theus-arsenal/skills/modo-seguro/SKILL.md +0 -86
  561. package/vendor/theus-arsenal/skills/motion-avanzado/SKILL.md +0 -592
  562. package/vendor/theus-arsenal/skills/motor-de-contenido/SKILL.md +0 -136
  563. package/vendor/theus-arsenal/skills/no-conformidades-calidad/SKILL.md +0 -249
  564. package/vendor/theus-arsenal/skills/onboarding-codigo/SKILL.md +0 -244
  565. package/vendor/theus-arsenal/skills/operaciones-agentes-empresariales/SKILL.md +0 -51
  566. package/vendor/theus-arsenal/skills/operaciones-conocimiento/SKILL.md +0 -159
  567. package/vendor/theus-arsenal/skills/operaciones-correo/SKILL.md +0 -123
  568. package/vendor/theus-arsenal/skills/operaciones-facturacion/SKILL.md +0 -142
  569. package/vendor/theus-arsenal/skills/operaciones-flujo-proyectos/SKILL.md +0 -110
  570. package/vendor/theus-arsenal/skills/operaciones-github/SKILL.md +0 -143
  571. package/vendor/theus-arsenal/skills/operaciones-google-workspace/SKILL.md +0 -100
  572. package/vendor/theus-arsenal/skills/operaciones-investigacion/SKILL.md +0 -124
  573. package/vendor/theus-arsenal/skills/operaciones-mensajes/SKILL.md +0 -103
  574. package/vendor/theus-arsenal/skills/operaciones-terminal/SKILL.md +0 -110
  575. package/vendor/theus-arsenal/skills/optimizacion-benchmark/SKILL.md +0 -70
  576. package/vendor/theus-arsenal/skills/optimizacion-costos-llm/SKILL.md +0 -182
  577. package/vendor/theus-arsenal/skills/optimizador-conexiones/SKILL.md +0 -191
  578. package/vendor/theus-arsenal/skills/optimizador-paralelismo/SKILL.md +0 -75
  579. package/vendor/theus-arsenal/skills/optimizador-prompts/SKILL.md +0 -374
  580. package/vendor/theus-arsenal/skills/orq-agregar-funcionalidad/SKILL.md +0 -37
  581. package/vendor/theus-arsenal/skills/orq-cambiar-funcionalidad/SKILL.md +0 -36
  582. package/vendor/theus-arsenal/skills/orq-construir-mvp/SKILL.md +0 -38
  583. package/vendor/theus-arsenal/skills/orq-corregir-defecto/SKILL.md +0 -36
  584. package/vendor/theus-arsenal/skills/orq-pipeline/SKILL.md +0 -134
  585. package/vendor/theus-arsenal/skills/orq-refinar-codigo/SKILL.md +0 -49
  586. package/vendor/theus-arsenal/skills/orquestacion-equipos-agentes/SKILL.md +0 -117
  587. package/vendor/theus-arsenal/skills/pagos-agentes-x402/SKILL.md +0 -237
  588. package/vendor/theus-arsenal/skills/patrones-angular/SKILL.md +0 -153
  589. package/vendor/theus-arsenal/skills/patrones-angular/references/angular-animations.md +0 -160
  590. package/vendor/theus-arsenal/skills/patrones-angular/references/angular-aria.md +0 -410
  591. package/vendor/theus-arsenal/skills/patrones-angular/references/cli.md +0 -86
  592. package/vendor/theus-arsenal/skills/patrones-angular/references/component-harnesses.md +0 -59
  593. package/vendor/theus-arsenal/skills/patrones-angular/references/component-styling.md +0 -91
  594. package/vendor/theus-arsenal/skills/patrones-angular/references/components.md +0 -117
  595. package/vendor/theus-arsenal/skills/patrones-angular/references/creating-services.md +0 -97
  596. package/vendor/theus-arsenal/skills/patrones-angular/references/data-resolvers.md +0 -69
  597. package/vendor/theus-arsenal/skills/patrones-angular/references/define-routes.md +0 -67
  598. package/vendor/theus-arsenal/skills/patrones-angular/references/defining-providers.md +0 -72
  599. package/vendor/theus-arsenal/skills/patrones-angular/references/di-fundamentals.md +0 -120
  600. package/vendor/theus-arsenal/skills/patrones-angular/references/e2e-testing.md +0 -56
  601. package/vendor/theus-arsenal/skills/patrones-angular/references/effects.md +0 -83
  602. package/vendor/theus-arsenal/skills/patrones-angular/references/hierarchical-injectors.md +0 -43
  603. package/vendor/theus-arsenal/skills/patrones-angular/references/host-elements.md +0 -80
  604. package/vendor/theus-arsenal/skills/patrones-angular/references/injection-context.md +0 -63
  605. package/vendor/theus-arsenal/skills/patrones-angular/references/inputs.md +0 -101
  606. package/vendor/theus-arsenal/skills/patrones-angular/references/linked-signal.md +0 -59
  607. package/vendor/theus-arsenal/skills/patrones-angular/references/loading-strategies.md +0 -61
  608. package/vendor/theus-arsenal/skills/patrones-angular/references/mcp.md +0 -67
  609. package/vendor/theus-arsenal/skills/patrones-angular/references/navigate-to-routes.md +0 -69
  610. package/vendor/theus-arsenal/skills/patrones-angular/references/outputs.md +0 -86
  611. package/vendor/theus-arsenal/skills/patrones-angular/references/reactive-forms.md +0 -122
  612. package/vendor/theus-arsenal/skills/patrones-angular/references/rendering-strategies.md +0 -44
  613. package/vendor/theus-arsenal/skills/patrones-angular/references/resource.md +0 -77
  614. package/vendor/theus-arsenal/skills/patrones-angular/references/route-animations.md +0 -56
  615. package/vendor/theus-arsenal/skills/patrones-angular/references/route-guards.md +0 -52
  616. package/vendor/theus-arsenal/skills/patrones-angular/references/router-lifecycle.md +0 -45
  617. package/vendor/theus-arsenal/skills/patrones-angular/references/router-testing.md +0 -87
  618. package/vendor/theus-arsenal/skills/patrones-angular/references/show-routes-with-outlets.md +0 -68
  619. package/vendor/theus-arsenal/skills/patrones-angular/references/signal-forms.md +0 -795
  620. package/vendor/theus-arsenal/skills/patrones-angular/references/signals-overview.md +0 -94
  621. package/vendor/theus-arsenal/skills/patrones-angular/references/tailwind-css.md +0 -69
  622. package/vendor/theus-arsenal/skills/patrones-angular/references/template-driven-forms.md +0 -114
  623. package/vendor/theus-arsenal/skills/patrones-angular/references/testing-fundamentals.md +0 -65
  624. package/vendor/theus-arsenal/skills/patrones-animacion/SKILL.md +0 -432
  625. package/vendor/theus-arsenal/skills/patrones-backend/SKILL.md +0 -560
  626. package/vendor/theus-arsenal/skills/patrones-cdss-clinico/SKILL.md +0 -249
  627. package/vendor/theus-arsenal/skills/patrones-cisco-ios/SKILL.md +0 -148
  628. package/vendor/theus-arsenal/skills/patrones-clickhouse/SKILL.md +0 -443
  629. package/vendor/theus-arsenal/skills/patrones-compose-multiplatform/SKILL.md +0 -298
  630. package/vendor/theus-arsenal/skills/patrones-dart-flutter/SKILL.md +0 -566
  631. package/vendor/theus-arsenal/skills/patrones-despliegue/SKILL.md +0 -426
  632. package/vendor/theus-arsenal/skills/patrones-django/SKILL.md +0 -739
  633. package/vendor/theus-arsenal/skills/patrones-django-celery/SKILL.md +0 -456
  634. package/vendor/theus-arsenal/skills/patrones-docker/SKILL.md +0 -363
  635. package/vendor/theus-arsenal/skills/patrones-dotnet/SKILL.md +0 -321
  636. package/vendor/theus-arsenal/skills/patrones-emr-clinico/SKILL.md +0 -168
  637. package/vendor/theus-arsenal/skills/patrones-fastapi/SKILL.md +0 -513
  638. package/vendor/theus-arsenal/skills/patrones-frontend/SKILL.md +0 -655
  639. package/vendor/theus-arsenal/skills/patrones-go/SKILL.md +0 -674
  640. package/vendor/theus-arsenal/skills/patrones-jpa/SKILL.md +0 -156
  641. package/vendor/theus-arsenal/skills/patrones-kotlin/SKILL.md +0 -717
  642. package/vendor/theus-arsenal/skills/patrones-kotlin-exposed/SKILL.md +0 -724
  643. package/vendor/theus-arsenal/skills/patrones-kotlin-ktor/SKILL.md +0 -694
  644. package/vendor/theus-arsenal/skills/patrones-kubernetes/SKILL.md +0 -754
  645. package/vendor/theus-arsenal/skills/patrones-laravel/SKILL.md +0 -414
  646. package/vendor/theus-arsenal/skills/patrones-mcp/SKILL.md +0 -66
  647. package/vendor/theus-arsenal/skills/patrones-mysql/SKILL.md +0 -420
  648. package/vendor/theus-arsenal/skills/patrones-nestjs/SKILL.md +0 -229
  649. package/vendor/theus-arsenal/skills/patrones-nextjs/SKILL.md +0 -56
  650. package/vendor/theus-arsenal/skills/patrones-nuxt4/SKILL.md +0 -99
  651. package/vendor/theus-arsenal/skills/patrones-perl/SKILL.md +0 -508
  652. package/vendor/theus-arsenal/skills/patrones-postgres/SKILL.md +0 -141
  653. package/vendor/theus-arsenal/skills/patrones-prisma/SKILL.md +0 -399
  654. package/vendor/theus-arsenal/skills/patrones-python/SKILL.md +0 -750
  655. package/vendor/theus-arsenal/skills/patrones-pytorch/SKILL.md +0 -400
  656. package/vendor/theus-arsenal/skills/patrones-quarkus/SKILL.md +0 -729
  657. package/vendor/theus-arsenal/skills/patrones-react/SKILL.md +0 -339
  658. package/vendor/theus-arsenal/skills/patrones-react-native/SKILL.md +0 -325
  659. package/vendor/theus-arsenal/skills/patrones-redis/SKILL.md +0 -401
  660. package/vendor/theus-arsenal/skills/patrones-rust/SKILL.md +0 -504
  661. package/vendor/theus-arsenal/skills/patrones-springboot/SKILL.md +0 -314
  662. package/vendor/theus-arsenal/skills/patrones-swiftui/SKILL.md +0 -261
  663. package/vendor/theus-arsenal/skills/patrones-tinystruct/SKILL.md +0 -281
  664. package/vendor/theus-arsenal/skills/patrones-tinystruct/references/architecture.md +0 -90
  665. package/vendor/theus-arsenal/skills/patrones-tinystruct/references/data-handling.md +0 -60
  666. package/vendor/theus-arsenal/skills/patrones-tinystruct/references/database.md +0 -99
  667. package/vendor/theus-arsenal/skills/patrones-tinystruct/references/routing.md +0 -64
  668. package/vendor/theus-arsenal/skills/patrones-tinystruct/references/system-usage.md +0 -97
  669. package/vendor/theus-arsenal/skills/patrones-tinystruct/references/testing.md +0 -72
  670. package/vendor/theus-arsenal/skills/patrones-vite/SKILL.md +0 -449
  671. package/vendor/theus-arsenal/skills/patrones-vue/SKILL.md +0 -469
  672. package/vendor/theus-arsenal/skills/persistencia-actores-swift/SKILL.md +0 -148
  673. package/vendor/theus-arsenal/skills/pipeline-opensource/SKILL.md +0 -254
  674. package/vendor/theus-arsenal/skills/planificacion-demanda-inventario/SKILL.md +0 -236
  675. package/vendor/theus-arsenal/skills/planificador-trades-prediccion/SKILL.md +0 -60
  676. package/vendor/theus-arsenal/skills/plano-tecnico/SKILL.md +0 -102
  677. package/vendor/theus-arsenal/skills/presentaciones-html/SKILL.md +0 -189
  678. package/vendor/theus-arsenal/skills/presentaciones-html/STYLE_PRESETS.md +0 -330
  679. package/vendor/theus-arsenal/skills/presentaciones-html/animation-patterns.md +0 -122
  680. package/vendor/theus-arsenal/skills/presentaciones-html/html-template.md +0 -419
  681. package/vendor/theus-arsenal/skills/presentaciones-html/scripts/export-pdf.sh +0 -418
  682. package/vendor/theus-arsenal/skills/presentaciones-html/scripts/extract-pptx.py +0 -96
  683. package/vendor/theus-arsenal/skills/presentaciones-html/viewport-base.css +0 -153
  684. package/vendor/theus-arsenal/skills/presupuesto-contexto/SKILL.md +0 -263
  685. package/vendor/theus-arsenal/skills/procesamiento-documentos-nutrient/SKILL.md +0 -168
  686. package/vendor/theus-arsenal/skills/programacion-produccion/SKILL.md +0 -220
  687. package/vendor/theus-arsenal/skills/publicacion-cruzada/SKILL.md +0 -117
  688. package/vendor/theus-arsenal/skills/publicador-social/SKILL.md +0 -121
  689. package/vendor/theus-arsenal/skills/puerta-de-entrega/SKILL.md +0 -164
  690. package/vendor/theus-arsenal/skills/puerta-de-entrega/hooks/puerta-entrega.py +0 -242
  691. package/vendor/theus-arsenal/skills/pulir-interfaces/SKILL.md +0 -126
  692. package/vendor/theus-arsenal/skills/qa-navegador/SKILL.md +0 -103
  693. package/vendor/theus-arsenal/skills/ranking-grafo-social/SKILL.md +0 -153
  694. package/vendor/theus-arsenal/skills/recuperacion-iterativa/SKILL.md +0 -236
  695. package/vendor/theus-arsenal/skills/redaccion-articulos/SKILL.md +0 -81
  696. package/vendor/theus-arsenal/skills/regex-vs-llm/SKILL.md +0 -221
  697. package/vendor/theus-arsenal/skills/regresion-codigo-ia/SKILL.md +0 -388
  698. package/vendor/theus-arsenal/skills/rendimiento-react/SKILL.md +0 -567
  699. package/vendor/theus-arsenal/skills/revision-codigo-flutter-dart/SKILL.md +0 -442
  700. package/vendor/theus-arsenal/skills/revision-literatura-cientifica/SKILL.md +0 -191
  701. package/vendor/theus-arsenal/skills/revision-multiperspectiva/SKILL.md +0 -302
  702. package/vendor/theus-arsenal/skills/revision-riesgo-prediccion/SKILL.md +0 -56
  703. package/vendor/theus-arsenal/skills/revision-seguridad/SKILL.md +0 -505
  704. package/vendor/theus-arsenal/skills/revision-seguridad/cloud-infrastructure-security.md +0 -361
  705. package/vendor/theus-arsenal/skills/runtime-bun/SKILL.md +0 -83
  706. package/vendor/theus-arsenal/skills/salud-codigo-codescene/SKILL.md +0 -163
  707. package/vendor/theus-arsenal/skills/salud-interfaces-red/SKILL.md +0 -143
  708. package/vendor/theus-arsenal/skills/seguimiento-costos/SKILL.md +0 -122
  709. package/vendor/theus-arsenal/skills/seguridad-agentes-trading/SKILL.md +0 -145
  710. package/vendor/theus-arsenal/skills/seguridad-amm-defi/SKILL.md +0 -166
  711. package/vendor/theus-arsenal/skills/seguridad-django/SKILL.md +0 -648
  712. package/vendor/theus-arsenal/skills/seguridad-laravel/SKILL.md +0 -945
  713. package/vendor/theus-arsenal/skills/seguridad-perl/SKILL.md +0 -507
  714. package/vendor/theus-arsenal/skills/seguridad-quarkus/SKILL.md +0 -474
  715. package/vendor/theus-arsenal/skills/seguridad-springboot/SKILL.md +0 -279
  716. package/vendor/theus-arsenal/skills/seo/SKILL.md +0 -166
  717. package/vendor/theus-arsenal/skills/sistema-diseno/SKILL.md +0 -81
  718. package/vendor/theus-arsenal/skills/sistema-operativo-agentico/SKILL.md +0 -375
  719. package/vendor/theus-arsenal/skills/sistemas-latencia-critica/SKILL.md +0 -65
  720. package/vendor/theus-arsenal/skills/tdd-django/SKILL.md +0 -735
  721. package/vendor/theus-arsenal/skills/tdd-laravel/SKILL.md +0 -673
  722. package/vendor/theus-arsenal/skills/tdd-quarkus/SKILL.md +0 -817
  723. package/vendor/theus-arsenal/skills/tdd-springboot/SKILL.md +0 -165
  724. package/vendor/theus-arsenal/skills/testing-cpp/SKILL.md +0 -328
  725. package/vendor/theus-arsenal/skills/testing-csharp/SKILL.md +0 -321
  726. package/vendor/theus-arsenal/skills/testing-e2e/SKILL.md +0 -325
  727. package/vendor/theus-arsenal/skills/testing-go/SKILL.md +0 -719
  728. package/vendor/theus-arsenal/skills/testing-kotlin/SKILL.md +0 -829
  729. package/vendor/theus-arsenal/skills/testing-perl/SKILL.md +0 -479
  730. package/vendor/theus-arsenal/skills/testing-protocolos-di-swift/SKILL.md +0 -196
  731. package/vendor/theus-arsenal/skills/testing-python/SKILL.md +0 -815
  732. package/vendor/theus-arsenal/skills/testing-react/SKILL.md +0 -421
  733. package/vendor/theus-arsenal/skills/testing-rust/SKILL.md +0 -506
  734. package/vendor/theus-arsenal/skills/tours-de-codigo/SKILL.md +0 -252
  735. package/vendor/theus-arsenal/skills/traduccion-documentos-visado/SKILL.md +0 -121
  736. package/vendor/theus-arsenal/skills/ui-a-vue/SKILL.md +0 -141
  737. package/vendor/theus-arsenal/skills/validacion-config-red/SKILL.md +0 -211
  738. package/vendor/theus-arsenal/skills/verificacion-django/SKILL.md +0 -470
  739. package/vendor/theus-arsenal/skills/verificacion-factual/SKILL.md +0 -142
  740. package/vendor/theus-arsenal/skills/verificacion-laravel/SKILL.md +0 -184
  741. package/vendor/theus-arsenal/skills/verificacion-quarkus/SKILL.md +0 -485
  742. package/vendor/theus-arsenal/skills/verificacion-springboot/SKILL.md +0 -237
  743. package/vendor/theus-arsenal/skills/videodb/SKILL.md +0 -374
  744. package/vendor/theus-arsenal/skills/videodb/reference/api-reference.md +0 -550
  745. package/vendor/theus-arsenal/skills/videodb/reference/capture-reference.md +0 -407
  746. package/vendor/theus-arsenal/skills/videodb/reference/capture.md +0 -101
  747. package/vendor/theus-arsenal/skills/videodb/reference/editor.md +0 -443
  748. package/vendor/theus-arsenal/skills/videodb/reference/generative.md +0 -331
  749. package/vendor/theus-arsenal/skills/videodb/reference/rtstream-reference.md +0 -564
  750. package/vendor/theus-arsenal/skills/videodb/reference/rtstream.md +0 -65
  751. package/vendor/theus-arsenal/skills/videodb/reference/search.md +0 -230
  752. package/vendor/theus-arsenal/skills/videodb/reference/streaming.md +0 -406
  753. package/vendor/theus-arsenal/skills/videodb/reference/use-cases.md +0 -118
  754. package/vendor/theus-arsenal/skills/videodb/scripts/ws_listener.py +0 -279
  755. package/vendor/theus-arsenal/skills/videos-manim/SKILL.md +0 -91
  756. package/vendor/theus-arsenal/skills/videos-manim/assets/network_graph_scene.py +0 -52
  757. package/vendor/theus-arsenal/skills/vigilancia-canary/SKILL.md +0 -108
  758. package/vendor/theus-arsenal/skills/voz-de-marca/SKILL.md +0 -106
@@ -1,815 +0,0 @@
1
- ---
2
- name: testing-python
3
- description: Estrategias de testing en Python con pytest, metodología TDD, fixtures, mocking, parametrización y requisitos de cobertura.
4
- ---
5
-
6
- # Patrones de testing en Python
7
-
8
- Estrategias integrales de testing para aplicaciones Python usando pytest, metodología TDD y buenas prácticas.
9
-
10
- ## Cuándo activar
11
-
12
- - Al escribir código Python nuevo (sigue TDD: rojo, verde, refactor)
13
- - Al diseñar suites de tests para proyectos Python
14
- - Al revisar la cobertura de tests de Python
15
- - Al configurar infraestructura de testing
16
-
17
- ## Filosofía central de testing
18
-
19
- ### Desarrollo guiado por tests (TDD)
20
-
21
- Sigue siempre el ciclo TDD:
22
-
23
- 1. **ROJO**: escribe un test que falle para el comportamiento deseado
24
- 2. **VERDE**: escribe el código mínimo para que el test pase
25
- 3. **REFACTOR**: mejora el código manteniendo los tests en verde
26
-
27
- ```python
28
- # Paso 1: escribir el test que falla (ROJO)
29
- def test_add_numbers():
30
- result = add(2, 3)
31
- assert result == 5
32
-
33
- # Paso 2: escribir la implementación mínima (VERDE)
34
- def add(a, b):
35
- return a + b
36
-
37
- # Paso 3: refactorizar si hace falta (REFACTOR)
38
- ```
39
-
40
- ### Requisitos de cobertura
41
-
42
- - **Objetivo**: 80%+ de cobertura de código
43
- - **Rutas críticas**: se exige 100% de cobertura
44
- - Usa `pytest --cov` para medir la cobertura
45
-
46
- ```bash
47
- pytest --cov=mypackage --cov-report=term-missing --cov-report=html
48
- ```
49
-
50
- ## Fundamentos de pytest
51
-
52
- ### Estructura básica de un test
53
-
54
- ```python
55
- import pytest
56
-
57
- def test_addition():
58
- """Prueba la suma básica."""
59
- assert 2 + 2 == 4
60
-
61
- def test_string_uppercase():
62
- """Prueba pasar una cadena a mayúsculas."""
63
- text = "hello"
64
- assert text.upper() == "HELLO"
65
-
66
- def test_list_append():
67
- """Prueba el append de listas."""
68
- items = [1, 2, 3]
69
- items.append(4)
70
- assert 4 in items
71
- assert len(items) == 4
72
- ```
73
-
74
- ### Aserciones
75
-
76
- ```python
77
- # Igualdad
78
- assert result == expected
79
-
80
- # Desigualdad
81
- assert result != unexpected
82
-
83
- # Veracidad
84
- assert result # Verdadero (truthy)
85
- assert not result # Falso (falsy)
86
- assert result is True # Exactamente True
87
- assert result is False # Exactamente False
88
- assert result is None # Exactamente None
89
-
90
- # Pertenencia
91
- assert item in collection
92
- assert item not in collection
93
-
94
- # Comparaciones
95
- assert result > 0
96
- assert 0 <= result <= 100
97
-
98
- # Comprobación de tipos
99
- assert isinstance(result, str)
100
-
101
- # Prueba de excepciones (enfoque preferido)
102
- with pytest.raises(ValueError):
103
- raise ValueError("error message")
104
-
105
- # Comprobar el mensaje de la excepción
106
- with pytest.raises(ValueError, match="invalid input"):
107
- raise ValueError("invalid input provided")
108
-
109
- # Comprobar atributos de la excepción
110
- with pytest.raises(ValueError) as exc_info:
111
- raise ValueError("error message")
112
- assert str(exc_info.value) == "error message"
113
- ```
114
-
115
- ## Fixtures
116
-
117
- ### Uso básico de fixtures
118
-
119
- ```python
120
- import pytest
121
-
122
- @pytest.fixture
123
- def sample_data():
124
- """Fixture que provee datos de ejemplo."""
125
- return {"name": "Alice", "age": 30}
126
-
127
- def test_sample_data(sample_data):
128
- """Test que usa la fixture."""
129
- assert sample_data["name"] == "Alice"
130
- assert sample_data["age"] == 30
131
- ```
132
-
133
- ### Fixture con setup/teardown
134
-
135
- ```python
136
- @pytest.fixture
137
- def database():
138
- """Fixture con preparación y limpieza."""
139
- # Preparación
140
- db = Database(":memory:")
141
- db.create_tables()
142
- db.insert_test_data()
143
-
144
- yield db # Se entrega al test
145
-
146
- # Limpieza
147
- db.close()
148
-
149
- def test_database_query(database):
150
- """Prueba operaciones de base de datos."""
151
- result = database.query("SELECT * FROM users")
152
- assert len(result) > 0
153
- ```
154
-
155
- ### Alcances (scopes) de fixtures
156
-
157
- ```python
158
- # Alcance function (por defecto) — se ejecuta en cada test
159
- @pytest.fixture
160
- def temp_file():
161
- with open("temp.txt", "w") as f:
162
- yield f
163
- os.remove("temp.txt")
164
-
165
- # Alcance module — se ejecuta una vez por módulo
166
- @pytest.fixture(scope="module")
167
- def module_db():
168
- db = Database(":memory:")
169
- db.create_tables()
170
- yield db
171
- db.close()
172
-
173
- # Alcance session — se ejecuta una vez por sesión de tests
174
- @pytest.fixture(scope="session")
175
- def shared_resource():
176
- resource = ExpensiveResource()
177
- yield resource
178
- resource.cleanup()
179
- ```
180
-
181
- ### Fixture con parámetros
182
-
183
- ```python
184
- @pytest.fixture(params=[1, 2, 3])
185
- def number(request):
186
- """Fixture parametrizada."""
187
- return request.param
188
-
189
- def test_numbers(number):
190
- """El test corre 3 veces, una por cada parámetro."""
191
- assert number > 0
192
- ```
193
-
194
- ### Uso de varias fixtures
195
-
196
- ```python
197
- @pytest.fixture
198
- def user():
199
- return User(id=1, name="Alice")
200
-
201
- @pytest.fixture
202
- def admin():
203
- return User(id=2, name="Admin", role="admin")
204
-
205
- def test_user_admin_interaction(user, admin):
206
- """Test que usa varias fixtures."""
207
- assert admin.can_manage(user)
208
- ```
209
-
210
- ### Fixtures autouse
211
-
212
- ```python
213
- @pytest.fixture(autouse=True)
214
- def reset_config():
215
- """Se ejecuta automáticamente antes de cada test."""
216
- Config.reset()
217
- yield
218
- Config.cleanup()
219
-
220
- def test_without_fixture_call():
221
- # reset_config se ejecuta automáticamente
222
- assert Config.get_setting("debug") is False
223
- ```
224
-
225
- ### conftest.py para fixtures compartidas
226
-
227
- ```python
228
- # tests/conftest.py
229
- import pytest
230
-
231
- @pytest.fixture
232
- def client():
233
- """Fixture compartida por todos los tests."""
234
- app = create_app(testing=True)
235
- with app.test_client() as client:
236
- yield client
237
-
238
- @pytest.fixture
239
- def auth_headers(client):
240
- """Genera cabeceras de autenticación para probar la API."""
241
- response = client.post("/api/login", json={
242
- "username": "test",
243
- "password": "test"
244
- })
245
- token = response.json["token"]
246
- return {"Authorization": f"Bearer {token}"}
247
- ```
248
-
249
- ## Parametrización
250
-
251
- ### Parametrización básica
252
-
253
- ```python
254
- @pytest.mark.parametrize("input,expected", [
255
- ("hello", "HELLO"),
256
- ("world", "WORLD"),
257
- ("PyThOn", "PYTHON"),
258
- ])
259
- def test_uppercase(input, expected):
260
- """El test corre 3 veces con distintas entradas."""
261
- assert input.upper() == expected
262
- ```
263
-
264
- ### Varios parámetros
265
-
266
- ```python
267
- @pytest.mark.parametrize("a,b,expected", [
268
- (2, 3, 5),
269
- (0, 0, 0),
270
- (-1, 1, 0),
271
- (100, 200, 300),
272
- ])
273
- def test_add(a, b, expected):
274
- """Prueba la suma con múltiples entradas."""
275
- assert add(a, b) == expected
276
- ```
277
-
278
- ### Parametrizar con IDs
279
-
280
- ```python
281
- @pytest.mark.parametrize("input,expected", [
282
- ("valid@email.com", True),
283
- ("invalid", False),
284
- ("@no-domain.com", False),
285
- ], ids=["valid-email", "missing-at", "missing-domain"])
286
- def test_email_validation(input, expected):
287
- """Prueba la validación de emails con IDs de test legibles."""
288
- assert is_valid_email(input) is expected
289
- ```
290
-
291
- ### Fixtures parametrizadas
292
-
293
- ```python
294
- @pytest.fixture(params=["sqlite", "postgresql", "mysql"])
295
- def db(request):
296
- """Prueba contra varios backends de base de datos."""
297
- if request.param == "sqlite":
298
- return Database(":memory:")
299
- elif request.param == "postgresql":
300
- return Database("postgresql://localhost/test")
301
- elif request.param == "mysql":
302
- return Database("mysql://localhost/test")
303
-
304
- def test_database_operations(db):
305
- """El test corre 3 veces, una por cada base de datos."""
306
- result = db.query("SELECT 1")
307
- assert result is not None
308
- ```
309
-
310
- ## Marcadores y selección de tests
311
-
312
- ### Marcadores personalizados
313
-
314
- ```python
315
- # Marcar tests lentos
316
- @pytest.mark.slow
317
- def test_slow_operation():
318
- time.sleep(5)
319
-
320
- # Marcar tests de integración
321
- @pytest.mark.integration
322
- def test_api_integration():
323
- response = requests.get("https://api.example.com")
324
- assert response.status_code == 200
325
-
326
- # Marcar tests unitarios
327
- @pytest.mark.unit
328
- def test_unit_logic():
329
- assert calculate(2, 3) == 5
330
- ```
331
-
332
- ### Ejecutar tests específicos
333
-
334
- ```bash
335
- # Ejecutar solo los tests rápidos
336
- pytest -m "not slow"
337
-
338
- # Ejecutar solo los tests de integración
339
- pytest -m integration
340
-
341
- # Ejecutar tests de integración o lentos
342
- pytest -m "integration or slow"
343
-
344
- # Ejecutar tests marcados como unit pero no slow
345
- pytest -m "unit and not slow"
346
- ```
347
-
348
- ### Configurar marcadores en pytest.ini
349
-
350
- ```ini
351
- [pytest]
352
- markers =
353
- slow: marca los tests lentos
354
- integration: marca los tests de integración
355
- unit: marca los tests unitarios
356
- django: marca los tests que requieren Django
357
- ```
358
-
359
- ## Mocking y patching
360
-
361
- ### Mockear funciones
362
-
363
- ```python
364
- from unittest.mock import patch, Mock
365
-
366
- @patch("mypackage.external_api_call")
367
- def test_with_mock(api_call_mock):
368
- """Test con la API externa mockeada."""
369
- api_call_mock.return_value = {"status": "success"}
370
-
371
- result = my_function()
372
-
373
- api_call_mock.assert_called_once()
374
- assert result["status"] == "success"
375
- ```
376
-
377
- ### Mockear valores de retorno
378
-
379
- ```python
380
- @patch("mypackage.Database.connect")
381
- def test_database_connection(connect_mock):
382
- """Test con la conexión a base de datos mockeada."""
383
- connect_mock.return_value = MockConnection()
384
-
385
- db = Database()
386
- db.connect()
387
-
388
- connect_mock.assert_called_once_with("localhost")
389
- ```
390
-
391
- ### Mockear excepciones
392
-
393
- ```python
394
- @patch("mypackage.api_call")
395
- def test_api_error_handling(api_call_mock):
396
- """Prueba el manejo de errores con una excepción mockeada."""
397
- api_call_mock.side_effect = ConnectionError("Network error")
398
-
399
- with pytest.raises(ConnectionError):
400
- api_call()
401
-
402
- api_call_mock.assert_called_once()
403
- ```
404
-
405
- ### Mockear context managers
406
-
407
- ```python
408
- @patch("builtins.open", new_callable=mock_open)
409
- def test_file_reading(mock_file):
410
- """Prueba la lectura de archivos con open mockeado."""
411
- mock_file.return_value.read.return_value = "file content"
412
-
413
- result = read_file("test.txt")
414
-
415
- mock_file.assert_called_once_with("test.txt", "r")
416
- assert result == "file content"
417
- ```
418
-
419
- ### Uso de autospec
420
-
421
- ```python
422
- @patch("mypackage.DBConnection", autospec=True)
423
- def test_autospec(db_mock):
424
- """Test con autospec para detectar mal uso de la API."""
425
- db = db_mock.return_value
426
- db.query("SELECT * FROM users")
427
-
428
- # Esto fallaría si DBConnection no tuviera el método query
429
- db_mock.assert_called_once()
430
- ```
431
-
432
- ### Mockear instancias de clases
433
-
434
- ```python
435
- class TestUserService:
436
- @patch("mypackage.UserRepository")
437
- def test_create_user(self, repo_mock):
438
- """Prueba la creación de usuarios con el repositorio mockeado."""
439
- repo_mock.return_value.save.return_value = User(id=1, name="Alice")
440
-
441
- service = UserService(repo_mock.return_value)
442
- user = service.create_user(name="Alice")
443
-
444
- assert user.name == "Alice"
445
- repo_mock.return_value.save.assert_called_once()
446
- ```
447
-
448
- ### Mockear propiedades
449
-
450
- ```python
451
- @pytest.fixture
452
- def mock_config():
453
- """Crea un mock con una propiedad."""
454
- config = Mock()
455
- type(config).debug = PropertyMock(return_value=True)
456
- type(config).api_key = PropertyMock(return_value="test-key")
457
- return config
458
-
459
- def test_with_mock_config(mock_config):
460
- """Test con propiedades de configuración mockeadas."""
461
- assert mock_config.debug is True
462
- assert mock_config.api_key == "test-key"
463
- ```
464
-
465
- ## Testing de código asíncrono
466
-
467
- ### Tests async con pytest-asyncio
468
-
469
- ```python
470
- import pytest
471
-
472
- @pytest.mark.asyncio
473
- async def test_async_function():
474
- """Prueba una función async."""
475
- result = await async_add(2, 3)
476
- assert result == 5
477
-
478
- @pytest.mark.asyncio
479
- async def test_async_with_fixture(async_client):
480
- """Test async con fixture async."""
481
- response = await async_client.get("/api/users")
482
- assert response.status_code == 200
483
- ```
484
-
485
- ### Fixture async
486
-
487
- ```python
488
- @pytest.fixture
489
- async def async_client():
490
- """Fixture async que provee un cliente de pruebas async."""
491
- app = create_app()
492
- async with app.test_client() as client:
493
- yield client
494
-
495
- @pytest.mark.asyncio
496
- async def test_api_endpoint(async_client):
497
- """Test que usa la fixture async."""
498
- response = await async_client.get("/api/data")
499
- assert response.status_code == 200
500
- ```
501
-
502
- ### Mockear funciones async
503
-
504
- ```python
505
- @pytest.mark.asyncio
506
- @patch("mypackage.async_api_call")
507
- async def test_async_mock(api_call_mock):
508
- """Prueba una función async con mock."""
509
- api_call_mock.return_value = {"status": "ok"}
510
-
511
- result = await my_async_function()
512
-
513
- api_call_mock.assert_awaited_once()
514
- assert result["status"] == "ok"
515
- ```
516
-
517
- ## Testing de excepciones
518
-
519
- ### Probar excepciones esperadas
520
-
521
- ```python
522
- def test_divide_by_zero():
523
- """Comprueba que dividir por cero lanza ZeroDivisionError."""
524
- with pytest.raises(ZeroDivisionError):
525
- divide(10, 0)
526
-
527
- def test_custom_exception():
528
- """Prueba una excepción personalizada con mensaje."""
529
- with pytest.raises(ValueError, match="invalid input"):
530
- validate_input("invalid")
531
- ```
532
-
533
- ### Probar atributos de excepciones
534
-
535
- ```python
536
- def test_exception_with_details():
537
- """Prueba una excepción con atributos personalizados."""
538
- with pytest.raises(CustomError) as exc_info:
539
- raise CustomError("error", code=400)
540
-
541
- assert exc_info.value.code == 400
542
- assert "error" in str(exc_info.value)
543
- ```
544
-
545
- ## Testing de efectos secundarios
546
-
547
- ### Probar operaciones con archivos
548
-
549
- ```python
550
- import tempfile
551
- import os
552
-
553
- def test_file_processing():
554
- """Prueba el procesamiento de archivos con archivo temporal."""
555
- with tempfile.NamedTemporaryFile(mode='w', delete=False, suffix='.txt') as f:
556
- f.write("test content")
557
- temp_path = f.name
558
-
559
- try:
560
- result = process_file(temp_path)
561
- assert result == "processed: test content"
562
- finally:
563
- os.unlink(temp_path)
564
- ```
565
-
566
- ### Probar con la fixture tmp_path de pytest
567
-
568
- ```python
569
- def test_with_tmp_path(tmp_path):
570
- """Test que usa la fixture integrada de rutas temporales de pytest."""
571
- test_file = tmp_path / "test.txt"
572
- test_file.write_text("hello world")
573
-
574
- result = process_file(str(test_file))
575
- assert result == "hello world"
576
- # tmp_path se limpia automáticamente
577
- ```
578
-
579
- ### Probar con la fixture tmpdir
580
-
581
- ```python
582
- def test_with_tmpdir(tmpdir):
583
- """Test que usa la fixture tmpdir de pytest."""
584
- test_file = tmpdir.join("test.txt")
585
- test_file.write("data")
586
-
587
- result = process_file(str(test_file))
588
- assert result == "data"
589
- ```
590
-
591
- ## Organización de los tests
592
-
593
- ### Estructura de directorios
594
-
595
- ```
596
- tests/
597
- ├── conftest.py # Fixtures compartidas
598
- ├── __init__.py
599
- ├── unit/ # Tests unitarios
600
- │ ├── __init__.py
601
- │ ├── test_models.py
602
- │ ├── test_utils.py
603
- │ └── test_services.py
604
- ├── integration/ # Tests de integración
605
- │ ├── __init__.py
606
- │ ├── test_api.py
607
- │ └── test_database.py
608
- └── e2e/ # Tests end-to-end
609
- ├── __init__.py
610
- └── test_user_flow.py
611
- ```
612
-
613
- ### Clases de tests
614
-
615
- ```python
616
- class TestUserService:
617
- """Agrupa tests relacionados en una clase."""
618
-
619
- @pytest.fixture(autouse=True)
620
- def setup(self):
621
- """La preparación corre antes de cada test de esta clase."""
622
- self.service = UserService()
623
-
624
- def test_create_user(self):
625
- """Prueba la creación de usuarios."""
626
- user = self.service.create_user("Alice")
627
- assert user.name == "Alice"
628
-
629
- def test_delete_user(self):
630
- """Prueba la eliminación de usuarios."""
631
- user = User(id=1, name="Bob")
632
- self.service.delete_user(user)
633
- assert not self.service.user_exists(1)
634
- ```
635
-
636
- ## Buenas prácticas
637
-
638
- ### SÍ
639
-
640
- - **Sigue TDD**: escribe los tests antes que el código (rojo-verde-refactor)
641
- - **Prueba una sola cosa**: cada test debe verificar un único comportamiento
642
- - **Usa nombres descriptivos**: `test_user_login_with_invalid_credentials_fails`
643
- - **Usa fixtures**: elimina la duplicación con fixtures
644
- - **Mockea las dependencias externas**: no dependas de servicios externos
645
- - **Prueba casos límite**: entradas vacías, valores None, condiciones de frontera
646
- - **Apunta a 80%+ de cobertura**: enfócate en las rutas críticas
647
- - **Mantén los tests rápidos**: usa marcadores para separar los tests lentos
648
-
649
- ### NO
650
-
651
- - **No pruebes la implementación**: prueba el comportamiento, no los detalles internos
652
- - **No uses condicionales complejos en los tests**: mantén los tests simples
653
- - **No ignores los fallos de tests**: todos los tests deben pasar
654
- - **No pruebes código de terceros**: confía en que las librerías funcionan
655
- - **No compartas estado entre tests**: los tests deben ser independientes
656
- - **No captures excepciones en los tests**: usa `pytest.raises`
657
- - **No uses sentencias print**: usa aserciones y la salida de pytest
658
- - **No escribas tests demasiado frágiles**: evita mocks excesivamente específicos
659
-
660
- ## Patrones comunes
661
-
662
- ### Probar endpoints de API (FastAPI/Flask)
663
-
664
- ```python
665
- @pytest.fixture
666
- def client():
667
- app = create_app(testing=True)
668
- return app.test_client()
669
-
670
- def test_get_user(client):
671
- response = client.get("/api/users/1")
672
- assert response.status_code == 200
673
- assert response.json["id"] == 1
674
-
675
- def test_create_user(client):
676
- response = client.post("/api/users", json={
677
- "name": "Alice",
678
- "email": "alice@example.com"
679
- })
680
- assert response.status_code == 201
681
- assert response.json["name"] == "Alice"
682
- ```
683
-
684
- ### Probar operaciones de base de datos
685
-
686
- ```python
687
- @pytest.fixture
688
- def db_session():
689
- """Crea una sesión de base de datos de pruebas."""
690
- session = Session(bind=engine)
691
- session.begin_nested()
692
- yield session
693
- session.rollback()
694
- session.close()
695
-
696
- def test_create_user(db_session):
697
- user = User(name="Alice", email="alice@example.com")
698
- db_session.add(user)
699
- db_session.commit()
700
-
701
- retrieved = db_session.query(User).filter_by(name="Alice").first()
702
- assert retrieved.email == "alice@example.com"
703
- ```
704
-
705
- ### Probar métodos de clases
706
-
707
- ```python
708
- class TestCalculator:
709
- @pytest.fixture
710
- def calculator(self):
711
- return Calculator()
712
-
713
- def test_add(self, calculator):
714
- assert calculator.add(2, 3) == 5
715
-
716
- def test_divide_by_zero(self, calculator):
717
- with pytest.raises(ZeroDivisionError):
718
- calculator.divide(10, 0)
719
- ```
720
-
721
- ## Configuración de pytest
722
-
723
- ### pytest.ini
724
-
725
- ```ini
726
- [pytest]
727
- testpaths = tests
728
- python_files = test_*.py
729
- python_classes = Test*
730
- python_functions = test_*
731
- addopts =
732
- --strict-markers
733
- --disable-warnings
734
- --cov=mypackage
735
- --cov-report=term-missing
736
- --cov-report=html
737
- markers =
738
- slow: marca los tests lentos
739
- integration: marca los tests de integración
740
- unit: marca los tests unitarios
741
- ```
742
-
743
- ### pyproject.toml
744
-
745
- ```toml
746
- [tool.pytest.ini_options]
747
- testpaths = ["tests"]
748
- python_files = ["test_*.py"]
749
- python_classes = ["Test*"]
750
- python_functions = ["test_*"]
751
- addopts = [
752
- "--strict-markers",
753
- "--cov=mypackage",
754
- "--cov-report=term-missing",
755
- "--cov-report=html",
756
- ]
757
- markers = [
758
- "slow: marca los tests lentos",
759
- "integration: marca los tests de integración",
760
- "unit: marca los tests unitarios",
761
- ]
762
- ```
763
-
764
- ## Ejecutar los tests
765
-
766
- ```bash
767
- # Ejecutar todos los tests
768
- pytest
769
-
770
- # Ejecutar un archivo específico
771
- pytest tests/test_utils.py
772
-
773
- # Ejecutar un test específico
774
- pytest tests/test_utils.py::test_function
775
-
776
- # Ejecutar con salida detallada
777
- pytest -v
778
-
779
- # Ejecutar con cobertura
780
- pytest --cov=mypackage --cov-report=html
781
-
782
- # Ejecutar solo los tests rápidos
783
- pytest -m "not slow"
784
-
785
- # Ejecutar hasta el primer fallo
786
- pytest -x
787
-
788
- # Ejecutar y detenerse tras N fallos
789
- pytest --maxfail=3
790
-
791
- # Ejecutar los últimos tests fallidos
792
- pytest --lf
793
-
794
- # Ejecutar tests por patrón
795
- pytest -k "test_user"
796
-
797
- # Ejecutar con depurador al fallar
798
- pytest --pdb
799
- ```
800
-
801
- ## Referencia rápida
802
-
803
- | Patrón | Uso |
804
- |---------|-------|
805
- | `pytest.raises()` | Probar excepciones esperadas |
806
- | `@pytest.fixture()` | Crear fixtures de test reutilizables |
807
- | `@pytest.mark.parametrize()` | Ejecutar tests con múltiples entradas |
808
- | `@pytest.mark.slow` | Marcar tests lentos |
809
- | `pytest -m "not slow"` | Omitir tests lentos |
810
- | `@patch()` | Mockear funciones y clases |
811
- | Fixture `tmp_path` | Directorio temporal automático |
812
- | `pytest --cov` | Generar reporte de cobertura |
813
- | `assert` | Aserciones simples y legibles |
814
-
815
- **Recuerda**: los tests también son código. Mantenlos limpios, legibles y mantenibles. Los buenos tests atrapan bugs; los grandes tests los previenen.