theus-cli-linux-arm64 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,307 @@
1
+ ---
2
+ name: homelab-segmentacion-vlan
3
+ description: Segmentación de redes domésticas en VLANs para tráfico IoT, invitados, dispositivos de confianza y servidores usando UniFi, pfSense/OPNsense y MikroTik — incluye puertos trunk, reglas de firewall y mapeo de SSIDs a VLANs.
4
+ ---
5
+
6
+ # Segmentación VLAN para homelab
7
+
8
+ Cómo dividir una red doméstica en VLANs aisladas para que los dispositivos IoT, los invitados y tus PCs principales no puedan comunicarse entre sí. La mejora de seguridad de mayor impacto para una red doméstica.
9
+
10
+ Todas las reglas de firewall mostradas aquí añaden aislamiento entre segmentos — no eliminan protecciones existentes. Aplica los cambios en una ventana de mantenimiento y verifica la conectividad entre segmentos después de cada paso antes de continuar.
11
+
12
+ ## Cuándo usarla
13
+
14
+ - Configurar VLANs en una red doméstica por primera vez
15
+ - Aislar dispositivos IoT (focos inteligentes, cámaras, TVs) de los dispositivos de confianza
16
+ - Crear una red Wi-Fi de invitados que no pueda alcanzar los dispositivos del hogar
17
+ - Explicar cómo funcionan las VLANs a alguien que no conoce el concepto
18
+ - Configurar puertos trunk, puertos de acceso y mapeo SSID-a-VLAN
19
+ - Diagnosticar problemas de enrutamiento inter-VLAN o de reglas de firewall en pfSense/OPNsense/UniFi
20
+
21
+ ## Cómo funciona
22
+
23
+ ```
24
+ Sin VLANs — red plana:
25
+ Todos los dispositivos en 192.168.1.0/24
26
+ Smart TV (posible malware) → puede alcanzar tu NAS, tus PCs, todo
27
+
28
+ Con VLANs:
29
+ VLAN 10 — Confianza 192.168.10.0/24 (PCs, teléfonos, laptops)
30
+ VLAN 20 — IoT 192.168.20.0/24 (smart TV, focos, cámaras)
31
+ VLAN 30 — Servidores 192.168.30.0/24 (NAS, Pi, VMs)
32
+ VLAN 40 — Invitados 192.168.40.0/24 (Wi-Fi de visitas)
33
+ VLAN 99 — Gestión 192.168.99.0/24 (paneles web de switch/AP)
34
+
35
+ Smart TV → bloqueado para alcanzar 192.168.10.0/24 y 192.168.30.0/24
36
+ Invitados → solo internet, no ven ningún dispositivo del hogar
37
+ ```
38
+
39
+ ## Plantilla de diseño de VLANs
40
+
41
+ ```
42
+ VLAN Nombre Subred Gateway Propósito
43
+ 10 confianza 192.168.10.0/24 192.168.10.1 PCs, teléfonos, laptops
44
+ 20 iot 192.168.20.0/24 192.168.20.1 Dispositivos de hogar inteligente
45
+ 30 servidores 192.168.30.0/24 192.168.30.1 NAS, Pi, autoalojado
46
+ 40 invitados 192.168.40.0/24 192.168.40.1 Wi-Fi de visitas
47
+ 99 gestion 192.168.99.0/24 192.168.99.1 Paneles web de equipos de red
48
+ ```
49
+
50
+ ## Ejemplos
51
+
52
+ **Homelab típico con AP UniFi y switch gestionable:**
53
+
54
+ ```
55
+ Escenario: casa de 3 dormitorios, UniFi Dream Machine + switch UniFi de 8 puertos + 2 APs
56
+
57
+ VLAN 10 — Confianza 192.168.10.0/24 MacBook, iPhones, iPad
58
+ VLAN 20 — IoT 192.168.20.0/24 Termostato Nest, Philips Hue, timbre Ring, smart TVs
59
+ VLAN 30 — Servidores 192.168.30.0/24 NAS Synology (192.168.30.10), Pi-hole (192.168.30.2)
60
+ VLAN 40 — Invitados 192.168.40.0/24 Wi-Fi de visitas — solo internet
61
+
62
+ Mapeo SSID → VLAN:
63
+ "Casa" → VLAN 10 (WPA2, contraseña fuerte, solo dispositivos de confianza)
64
+ "IoT" → VLAN 20 (WPA2, contraseña separada, impresa en el router para altas)
65
+ "Invitados" → VLAN 40 (WPA2, contraseña simple que puedes compartir libremente)
66
+
67
+ Comportamiento de puertos del switch:
68
+ Puerto 1 → trunk al router (VLANs 10,20,30,40,99 etiquetadas)
69
+ Puerto 2 → trunk a los APs (VLANs 10,20,40 etiquetadas; el AP etiqueta por SSID)
70
+ Puerto 3 → acceso VLAN 30 (NAS — sin etiquetar, no necesita conocer VLANs)
71
+ Puerto 4 → acceso VLAN 30 (Pi-hole — sin etiquetar)
72
+ Puertos 5–8 → acceso VLAN 10 (estaciones de trabajo cableadas)
73
+
74
+ Reglas de firewall aplicadas (todas añaden aislamiento, ninguna elimina protecciones):
75
+ IoT → Confianza: BLOQUEAR
76
+ IoT → Servidores: BLOQUEAR excepto 192.168.30.2:53 (DNS de Pi-hole permitido)
77
+ IoT → Internet: PERMITIR
78
+ Invitados → Redes locales: BLOQUEAR
79
+ Invitados → Internet: PERMITIR
80
+ Confianza → todo: PERMITIR
81
+ ```
82
+
83
+ ## Configuración en UniFi
84
+
85
+ ### Crear las redes en el controlador UniFi
86
+
87
+ ```
88
+ Settings → Networks → Create New Network
89
+
90
+ Para cada VLAN:
91
+ Name: IoT
92
+ Purpose: Corporate (proporciona DHCP + enrutamiento)
93
+ VLAN ID: 20
94
+ Network: 192.168.20.0/24
95
+ Gateway IP: 192.168.20.1
96
+ DHCP: Enable
97
+ DHCP Range: 192.168.20.100 – 192.168.20.254
98
+ ```
99
+
100
+ ### Mapear SSIDs a VLANs (UniFi)
101
+
102
+ ```
103
+ Settings → WiFi → Create New WiFi
104
+
105
+ Name: IoT-Network
106
+ Password: <contraseña separada>
107
+ Network: IoT ← selecciona tu VLAN aquí
108
+ # Todos los dispositivos que se conecten a este SSID caen en la VLAN 20
109
+
110
+ Name: Invitados
111
+ Password: <contraseña de invitados>
112
+ Network: Guest
113
+ Guest Policy: Enable ← también aísla a los invitados entre sí
114
+ ```
115
+
116
+ ### Reglas de firewall en UniFi (Traffic Rules)
117
+
118
+ ```
119
+ Settings → Traffic & Security → Traffic Rules
120
+
121
+ # Bloquear que IoT alcance la VLAN de confianza
122
+ Action: Block
123
+ Category: Local Network
124
+ Source: IoT (192.168.20.0/24)
125
+ Destination: Confianza (192.168.10.0/24)
126
+
127
+ # Permitir que IoT solo alcance internet
128
+ Action: Allow
129
+ Source: IoT
130
+ Destination: Internet
131
+
132
+ # Bloquear invitados hacia todas las redes locales
133
+ Action: Block
134
+ Source: Invitados
135
+ Destination: Local Networks
136
+ ```
137
+
138
+ ## Configuración en pfSense / OPNsense
139
+
140
+ ### Crear las VLANs
141
+
142
+ ```
143
+ Interfaces → Assignments → VLANs → Add
144
+
145
+ Parent Interface: em1 (tu NIC de LAN)
146
+ VLAN Tag: 20
147
+ Description: IoT
148
+
149
+ # Repite para cada VLAN y luego asigna cada una a una interfaz:
150
+ Interfaces → Assignments → Add
151
+ Selecciona la VLAN creada → clic en Add
152
+ Activa la interfaz y ponle la IP de gateway (192.168.20.1/24)
153
+ ```
154
+
155
+ ### DHCP para cada VLAN
156
+
157
+ ```
158
+ Services → DHCP Server → Selecciona la interfaz de tu VLAN
159
+
160
+ Enable DHCP
161
+ Range: 192.168.20.100 a 192.168.20.254
162
+ DNS Servers: 192.168.30.2 ← IP de Pi-hole si tienes uno
163
+ ```
164
+
165
+ ### Reglas de firewall (pfSense/OPNsense)
166
+
167
+ ```
168
+ # Las reglas se procesan de arriba abajo; gana la primera coincidencia.
169
+
170
+ # En la interfaz IoT (VLAN 20):
171
+ Regla 1: Permitir IoT → DNS de Pi-hole ← DEBE ir antes de la regla de bloqueo RFC1918
172
+ Protocolo: UDP/TCP
173
+ Origen: red IoT
174
+ Destino: 192.168.30.2 puerto 53
175
+ Acción: Allow
176
+
177
+ Regla 2: Bloquear IoT → RFC1918 (todos los rangos IP privados)
178
+ Protocolo: any
179
+ Origen: red IoT
180
+ Destino: RFC1918 (192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12)
181
+ Acción: Block
182
+
183
+ Regla 3: Permitir IoT → internet
184
+ Protocolo: any
185
+ Origen: red IoT
186
+ Destino: any
187
+ Acción: Allow
188
+
189
+ # En la interfaz de Confianza (VLAN 10):
190
+ Permitir todo (los dispositivos de confianza pueden alcanzar todo)
191
+ Origen: red Confianza
192
+ Destino: any
193
+ Acción: Allow
194
+
195
+ # Excepciones adicionales para dispositivos IoT que necesitan servicios locales concretos:
196
+ Insertar antes de la Regla 2 (el bloqueo RFC1918):
197
+ Protocolo: TCP
198
+ Origen: red IoT
199
+ Destino: 192.168.30.x puerto 8123 ← Home Assistant
200
+ Acción: Allow
201
+ ```
202
+
203
+ ## Configuración en MikroTik
204
+
205
+ ```
206
+ # Paso 1: crea un bridge con filtrado VLAN habilitado
207
+ /interface bridge
208
+ add name=bridge vlan-filtering=yes
209
+
210
+ # Paso 2: añade los puertos físicos al bridge
211
+ # Puerto trunk hacia el router/enlace ascendente (etiquetado para todas las VLANs)
212
+ /interface bridge port
213
+ add bridge=bridge interface=ether1 frame-types=admit-only-vlan-tagged
214
+
215
+ # Puerto de acceso para dispositivos de confianza (VLAN 10 sin etiquetar)
216
+ /interface bridge port
217
+ add bridge=bridge interface=ether2 pvid=10 frame-types=admit-only-untagged-and-priority-tagged
218
+
219
+ # Puerto de acceso para dispositivos IoT (VLAN 20 sin etiquetar)
220
+ /interface bridge port
221
+ add bridge=bridge interface=ether3 pvid=20 frame-types=admit-only-untagged-and-priority-tagged
222
+
223
+ # Paso 3: define qué VLANs se permiten en qué puertos
224
+ /interface bridge vlan
225
+ add bridge=bridge tagged=ether1 untagged=ether2 vlan-ids=10
226
+ add bridge=bridge tagged=ether1 untagged=ether3 vlan-ids=20
227
+
228
+ # Paso 4: crea las interfaces VLAN sobre el bridge (IPs de gateway)
229
+ /interface vlan
230
+ add interface=bridge name=vlan10 vlan-id=10
231
+ add interface=bridge name=vlan20 vlan-id=20
232
+
233
+ # Paso 5: asigna las IPs de gateway
234
+ /ip address
235
+ add interface=vlan10 address=192.168.10.1/24
236
+ add interface=vlan20 address=192.168.20.1/24
237
+
238
+ # Paso 6: pools y servidores DHCP
239
+ /ip pool
240
+ add name=pool-confianza ranges=192.168.10.100-192.168.10.254
241
+ add name=pool-iot ranges=192.168.20.100-192.168.20.254
242
+
243
+ /ip dhcp-server
244
+ add interface=vlan10 address-pool=pool-confianza name=dhcp-confianza
245
+ add interface=vlan20 address-pool=pool-iot name=dhcp-iot
246
+
247
+ /ip dhcp-server network
248
+ add address=192.168.10.0/24 gateway=192.168.10.1
249
+ add address=192.168.20.0/24 gateway=192.168.20.1
250
+
251
+ # Paso 7: firewall — bloquear que IoT alcance la VLAN de confianza
252
+ /ip firewall filter
253
+ add chain=forward src-address=192.168.20.0/24 dst-address=192.168.10.0/24 \
254
+ action=drop comment="Bloquear IoT hacia Confianza"
255
+ ```
256
+
257
+ ## Puertos trunk vs puertos de acceso
258
+
259
+ ```
260
+ # Puerto trunk: transporta varias VLANs (etiquetadas) — conecta switch-switch, switch-router, switch-AP
261
+ # Puerto de acceso: transporta una sola VLAN (sin etiquetar) — conecta dispositivos finales (PC, cámara, NAS)
262
+
263
+ # Un puerto de switch gestionable conectado a tu router debe ser trunk:
264
+ VLANs permitidas: 10, 20, 30, 40, 99
265
+
266
+ # Un puerto que conecta a un PC debe ser de acceso:
267
+ VLAN: 10 (confianza)
268
+ Sin etiquetado — el PC no sabe ni le importa qué es una VLAN
269
+
270
+ # Un puerto que conecta a un AP debe ser trunk:
271
+ El AP etiqueta el tráfico de cada SSID con el ID de VLAN correcto
272
+ VLANs permitidas: 10, 20, 40 (las de los SSIDs que sirva el AP)
273
+ ```
274
+
275
+ ## Antipatrones
276
+
277
+ ```
278
+ # MAL: crear VLANs sin añadir reglas de firewall
279
+ # Las VLANs sin reglas de firewall no dan seguridad — el enrutamiento inter-VLAN está abierto por defecto
280
+ # BIEN: añade reglas de bloqueo explícitas justo después de crear las VLANs
281
+
282
+ # MAL: poner el Pi-hole en la VLAN de IoT
283
+ # Los dispositivos IoT lo alcanzan, pero los de confianza no (sin reglas extra)
284
+ # BIEN: Pi-hole en la VLAN de servidores con una regla que permita a todas las VLANs alcanzar el puerto 53
285
+
286
+ # MAL: VLAN nativa igual a la VLAN de gestión
287
+ # El tráfico sin etiquetar que cae en tu VLAN de gestión habilita ataques de VLAN hopping
288
+ # BIEN: usa una VLAN dedicada sin uso como nativa (p. ej. VLAN 999) y mantén el tráfico de gestión etiquetado
289
+
290
+ # MAL: misma contraseña de Wi-Fi para el SSID de IoT y el de confianza
291
+ # Quien conozca la contraseña puede conectar dispositivos IoT al segmento equivocado
292
+ ```
293
+
294
+ ## Buenas prácticas
295
+
296
+ - Empieza con 4 VLANs: Confianza, IoT, Servidores, Invitados — añade más según necesites
297
+ - Coloca el Pi-hole en la VLAN de servidores (192.168.30.x)
298
+ - Añade una regla de firewall que permita DNS (puerto 53) desde todas las VLANs hacia la IP del Pi-hole — antes de cualquier regla de bloqueo RFC1918
299
+ - Prueba el aislamiento tras cada cambio de regla: desde la VLAN IoT, intenta hacer ping a un dispositivo de confianza — debe fallar
300
+ - Usa una VLAN de gestión para los paneles web de switch y APs, y restringe su acceso solo a la VLAN de confianza
301
+ - Documenta tu diseño de VLANs en una tabla (ID de VLAN, nombre, subred, propósito)
302
+
303
+ ## Skills relacionadas
304
+
305
+ - `homelab-diseno-red`
306
+ - `homelab-dns-pihole`
307
+ - `homelab-vpn-wireguard`
@@ -0,0 +1,299 @@
1
+ ---
2
+ name: homelab-vpn-wireguard
3
+ description: Configuración de servidor VPN WireGuard, peers y generación de claves, split tunneling vs túnel completo, DDNS y acceso remoto a una red doméstica desde móviles y laptops.
4
+ ---
5
+
6
+ # VPN WireGuard para homelab
7
+
8
+ WireGuard es un protocolo VPN rápido y moderno. Es la opción correcta para acceso remoto a una red doméstica — más simple de configurar que OpenVPN y más rápido que la mayoría de alternativas.
9
+
10
+ Todos los ejemplos de configuración muestran montajes habituales. Revisa cada comando — especialmente las reglas de reenvío de iptables y los permisos de los archivos de claves — antes de aplicarlos a tu sistema, y haz los cambios en una ventana de mantenimiento.
11
+
12
+ ## Cuándo usarla
13
+
14
+ - Montar un servidor WireGuard en una Raspberry Pi, un host Linux, pfSense o un router
15
+ - Generar pares de claves WireGuard y escribir archivos de configuración de peers
16
+ - Configurar acceso remoto desde un teléfono o laptop hacia la red doméstica
17
+ - Explicar split tunneling (enrutar solo el tráfico del hogar) vs túnel completo (enrutar todo)
18
+ - Diagnosticar conexiones WireGuard que no levantan
19
+ - Automatizar la generación de configuraciones de peers para múltiples clientes
20
+
21
+ ## Cómo funciona WireGuard
22
+
23
+ ```
24
+ Tu teléfono (cliente WireGuard)
25
+ │
26
+ │ Túnel UDP cifrado (puerto 51820)
27
+ │
28
+ Tu router doméstico (servidor WireGuard — necesita IP pública o DDNS)
29
+ │
30
+ Tu red doméstica (192.168.1.0/24, NAS, Pi, etc.)
31
+
32
+ Cada dispositivo tiene un par de claves (pública + privada).
33
+ El servidor conoce la clave pública de cada cliente.
34
+ El cliente conoce la clave pública del servidor + el endpoint (IP:puerto).
35
+ El tráfico se cifra extremo a extremo sin servidor central ni autoridad de certificados.
36
+ ```
37
+
38
+ ## Configuración del servidor (Linux)
39
+
40
+ ```bash
41
+ # Instala WireGuard
42
+ sudo apt update && sudo apt install wireguard -y
43
+
44
+ # Genera el par de claves del servidor — crea los archivos con permisos privados desde el inicio
45
+ sudo mkdir -p /etc/wireguard
46
+ sudo sh -c 'umask 077; wg genkey > /etc/wireguard/server_private.key'
47
+ sudo sh -c 'wg pubkey < /etc/wireguard/server_private.key > /etc/wireguard/server_public.key'
48
+
49
+ # Escribe la configuración del servidor — sustituye el valor real de la clave privada
50
+ # No guardes claves privadas en control de versiones ni las compartas
51
+ sudo tee /etc/wireguard/wg0.conf << 'EOF'
52
+ [Interface]
53
+ Address = 10.8.0.1/24 # Subred de la VPN — el servidor toma la .1
54
+ ListenPort = 51820
55
+ PrivateKey = <pegar_clave_privada_del_servidor>
56
+
57
+ # Reglas de reenvío acotadas: permitir tráfico VPN de entrada/salida, no un FORWARD ACCEPT general
58
+ PostUp = iptables -A FORWARD -i wg0 -o eth0 -j ACCEPT
59
+ PostUp = iptables -A FORWARD -i eth0 -o wg0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
60
+ PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
61
+ PostDown = iptables -D FORWARD -i wg0 -o eth0 -j ACCEPT
62
+ PostDown = iptables -D FORWARD -i eth0 -o wg0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
63
+ PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
64
+
65
+ [Peer]
66
+ # Teléfono — sustituir por la clave pública real del teléfono
67
+ PublicKey = <clave_publica_telefono>
68
+ AllowedIPs = 10.8.0.2/32
69
+
70
+ [Peer]
71
+ # Laptop — sustituir por la clave pública real de la laptop
72
+ PublicKey = <clave_publica_laptop>
73
+ AllowedIPs = 10.8.0.3/32
74
+ EOF
75
+ sudo chmod 600 /etc/wireguard/wg0.conf
76
+
77
+ # Sustituye eth0 por el nombre real de tu interfaz de salida
78
+ # Compruébalo con: ip route show default
79
+
80
+ # Habilita el reenvío de IP (requerido para enrutar tráfico a través del servidor)
81
+ echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
82
+ sudo sysctl --system
83
+
84
+ # Arranca WireGuard y actívalo en el arranque
85
+ sudo wg-quick up wg0
86
+ sudo systemctl enable wg-quick@wg0
87
+ ```
88
+
89
+ ## Configuración del cliente
90
+
91
+ ```bash
92
+ # Genera un par de claves único para cada dispositivo cliente
93
+ # Ejecútalo en el cliente, o en el servidor y transfiere la clave privada de forma segura — nunca en texto plano
94
+ umask 077
95
+ wg genkey | tee phone_private.key | wg pubkey > phone_public.key
96
+
97
+ # Archivo de configuración del cliente (phone_wg0.conf):
98
+ [Interface]
99
+ PrivateKey = <clave_privada_telefono>
100
+ Address = 10.8.0.2/32
101
+ DNS = 192.168.1.2 # Opcional: usar Pi-hole como DNS a través del túnel
102
+
103
+ [Peer]
104
+ PublicKey = <clave_publica_servidor>
105
+ Endpoint = tu-ip-de-casa.ddns.net:51820 # Tu IP pública o hostname DDNS
106
+ AllowedIPs = 192.168.1.0/24 # Split tunnel: solo tráfico de la red doméstica
107
+ # AllowedIPs = 0.0.0.0/0, ::/0 # Túnel completo: todo el tráfico por la VPN
108
+
109
+ PersistentKeepalive = 25 # Mantiene el hueco NAT abierto (requerido en clientes móviles)
110
+ ```
111
+
112
+ ## Split tunnel vs túnel completo
113
+
114
+ ```
115
+ # Split tunnel: AllowedIPs = 192.168.1.0/24
116
+ Solo el tráfico destinado a tu red doméstica pasa por la VPN.
117
+ El tráfico de internet (YouTube, Spotify) va directo — mejor rendimiento en móvil.
118
+ Ideal para: "solo quiero alcanzar mi NAS y mi Pi desde cualquier lugar".
119
+
120
+ # Túnel completo: AllowedIPs = 0.0.0.0/0, ::/0
121
+ TODO el tráfico pasa por tu conexión de internet doméstica.
122
+ Útil para: aprovechar el DNS del hogar/el bloqueo de anuncios de Pi-hole.
123
+ Desventaja: la velocidad de subida de tu casa se convierte en tu cuello de botella en todas partes.
124
+
125
+ # Split tunnel multi-subred (el caso más común en homelab):
126
+ AllowedIPs = 192.168.10.0/24, 192.168.20.0/24, 192.168.30.0/24, 10.8.0.0/24
127
+ Enruta todas tus VLANs a través del túnel; internet sigue yendo directo.
128
+ ```
129
+
130
+ ## Generación de claves y gestión de peers
131
+
132
+ ```python
133
+ import subprocess
134
+
135
+ def generate_keypair() -> tuple[str, str]:
136
+ """Genera un par de claves WireGuard. Devuelve (clave_privada, clave_publica)."""
137
+ private = subprocess.check_output(["wg", "genkey"]).decode().strip()
138
+ public = subprocess.run(
139
+ ["wg", "pubkey"], input=private.encode(), capture_output=True
140
+ ).stdout.decode().strip()
141
+ return private, public
142
+
143
+ def generate_preshared_key() -> str:
144
+ return subprocess.check_output(["wg", "genpsk"]).decode().strip()
145
+
146
+ def build_client_config(
147
+ client_private_key: str,
148
+ client_vpn_ip: str, # p. ej. "10.8.0.3"
149
+ server_public_key: str,
150
+ server_endpoint: str, # p. ej. "casa.ejemplo.com:51820"
151
+ allowed_ips: str = "192.168.1.0/24",
152
+ dns: str = "",
153
+ ) -> str:
154
+ dns_line = f"DNS = {dns}\n" if dns else ""
155
+ return f"""[Interface]
156
+ PrivateKey = {client_private_key}
157
+ Address = {client_vpn_ip}/32
158
+ {dns_line}
159
+ [Peer]
160
+ PublicKey = {server_public_key}
161
+ Endpoint = {server_endpoint}
162
+ AllowedIPs = {allowed_ips}
163
+ PersistentKeepalive = 25
164
+ """
165
+
166
+ def build_server_peer_block(
167
+ client_public_key: str,
168
+ client_vpn_ip: str,
169
+ comment: str = "",
170
+ ) -> str:
171
+ comment_line = f"# {comment}\n" if comment else ""
172
+ return f"""
173
+ {comment_line}[Peer]
174
+ PublicKey = {client_public_key}
175
+ AllowedIPs = {client_vpn_ip}/32
176
+ """
177
+ ```
178
+
179
+ Mantén las claves privadas fuera del control de versiones. Si usas este script, escribe el material de claves en archivos con modo 600 y nunca lo registres en logs ni lo imprimas.
180
+
181
+ ## WireGuard en pfSense / OPNsense
182
+
183
+ ```
184
+ # pfSense: VPN → WireGuard → Add Tunnel
185
+ Interface Keys: Generate (crea el par de claves automáticamente)
186
+ Listen Port: 51820
187
+ Interface Address: 10.8.0.1/24
188
+
189
+ # Añadir peer (uno por cliente):
190
+ Public Key: <clave pública del cliente>
191
+ Allowed IPs: 10.8.0.2/32
192
+
193
+ # Asignar la interfaz WireGuard:
194
+ Interfaces → Assignments → Add (seleccionar wg0)
195
+ Habilitar la interfaz, sin IP (ya está en la config del túnel)
196
+
197
+ # Reglas de firewall:
198
+ WAN → permitir UDP puerto 51820 entrante (para que los clientes alcancen el servidor)
199
+ Interfaz WireGuard → permitir tráfico hacia las redes LAN que quieras alcanzables
200
+ ```
201
+
202
+ ## DDNS (DNS dinámico) para servidores domésticos
203
+
204
+ La mayoría de conexiones domésticas tienen IP dinámica. Usa DDNS para que tu endpoint VPN siga siendo alcanzable tras un cambio de IP.
205
+
206
+ ```bash
207
+ # Opción 1: DDNS con Cloudflare — guarda las credenciales en un archivo de secretos, no en línea
208
+ # Entrada de docker-compose usando un archivo de entorno:
209
+ ddns-updater:
210
+ image: qmcgaw/ddns-updater
211
+ env_file: ./ddns.env # guarda aquí zone_id y token, no en el compose
212
+ restart: unless-stopped
213
+
214
+ # ddns.env (chmod 600, sin commitear a git):
215
+ # SETTINGS_CLOUDFLARE_ZONE_ID=tu_zone_id
216
+ # SETTINGS_CLOUDFLARE_TOKEN=tu_api_token
217
+
218
+ # Opción 2: DuckDNS (gratis, simple)
219
+ Regístrate en duckdns.org → obtén un token y un subdominio (micasa.duckdns.org)
220
+ Guarda el token en /etc/ddns.env (modo 600) y usa un pequeño script propiedad de root:
221
+
222
+ # /usr/local/bin/update-duckdns
223
+ #!/bin/sh
224
+ set -eu
225
+ . /etc/ddns.env
226
+ curl --fail --silent --show-error --max-time 10 \
227
+ --get "https://www.duckdns.org/update" \
228
+ --data-urlencode "domains=micasa" \
229
+ --data-urlencode "token=${DUCKDNS_TOKEN}" \
230
+ --data-urlencode "ip="
231
+
232
+ # Tarea cron:
233
+ */5 * * * * /usr/local/bin/update-duckdns >/dev/null 2>&1
234
+ ```
235
+
236
+ ## Diagnóstico
237
+
238
+ ```bash
239
+ # Comprueba el estado de WireGuard y el último handshake
240
+ sudo wg show
241
+
242
+ # Si "latest handshake" es never o muy antiguo, el túnel no está conectado.
243
+ # Comprueba:
244
+ # 1. ¿Está abierto el puerto UDP 51820 en el router/firewall?
245
+ sudo ufw status # o revisa las reglas de firewall en pfSense/UniFi
246
+
247
+ # 2. ¿Es correcta la clave pública del servidor en la config del cliente?
248
+ sudo wg show wg0 public-key # Compárala con la que hay en la config del cliente
249
+
250
+ # 3. ¿Está habilitado el reenvío de IP en el servidor?
251
+ cat /proc/sys/net/ipv4/ip_forward # Debe ser 1
252
+
253
+ # 4. ¿AllowedIPs del cliente cubre la IP que intentas alcanzar?
254
+ # Si AllowedIPs = 192.168.1.0/24 e intentas llegar a 192.168.3.5, no se enrutará.
255
+
256
+ # Revisa los logs del kernel en busca de errores de WireGuard
257
+ dmesg | grep wireguard
258
+
259
+ # Reinicia WireGuard
260
+ sudo wg-quick down wg0 && sudo wg-quick up wg0
261
+ ```
262
+
263
+ ## Antipatrones
264
+
265
+ ```
266
+ # MAL: guardar claves privadas en control de versiones o compartirlas
267
+ # Las claves privadas equivalen a contraseñas — nunca las commitees a git
268
+
269
+ # MAL: usar AllowedIPs = 0.0.0.0/0 en móvil sin considerar el impacto
270
+ # El túnel completo enruta todo el tráfico móvil por la subida de tu casa — normalmente lento
271
+
272
+ # MAL: no configurar PersistentKeepalive en clientes móviles
273
+ # Los clientes móviles detrás de NAT pierden los túneles inactivos sin esto
274
+
275
+ # MAL: abrir el puerto 51820 en el firewall pero olvidar el reenvío de IP en el servidor
276
+ # El túnel conecta pero no enruta tráfico — confuso de depurar
277
+
278
+ # MAL: compartir un par de claves entre varios dispositivos cliente
279
+ # Cada dispositivo debe tener su propio par único — compartir claves rompe el modelo de seguridad
280
+
281
+ # MAL: usar una regla amplia "FORWARD ACCEPT" en iptables
282
+ # Acota las reglas de reenvío a la interfaz wg0 y a la dirección concreta
283
+ ```
284
+
285
+ ## Buenas prácticas
286
+
287
+ - Genera un par de claves único por dispositivo cliente — nunca reutilices claves
288
+ - Usa split tunneling (`AllowedIPs = <subredes del hogar>`) en móvil
289
+ - Configura `PersistentKeepalive = 25` en todos los clientes móviles
290
+ - Usa DDNS si tu ISP asigna IP dinámica; guarda las credenciales en archivos de entorno, no en línea
291
+ - Usa reglas de reenvío de iptables acotadas (entrada solo por wg0) en lugar de un FORWARD ACCEPT general
292
+ - Añade la IP del Pi-hole como `DNS =` en las configs de los clientes para tener bloqueo de anuncios a través de la VPN
293
+ - Rota el par de claves del servidor periódicamente y actualiza las configs de todos los clientes
294
+
295
+ ## Skills relacionadas
296
+
297
+ - `homelab-diseno-red`
298
+ - `homelab-segmentacion-vlan`
299
+ - `homelab-dns-pihole`
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: ingenieria-agentica
3
+ description: Opera como ingeniero agéntico con ejecución guiada por evals, descomposición de tareas y enrutado de modelos consciente del costo; incluye el modelo operativo para equipos donde los agentes de IA generan gran parte de la implementación.
4
+ ---
5
+
6
+ # Ingeniería agéntica
7
+
8
+ Usa esta skill para flujos de ingeniería donde los agentes de IA realizan la mayor parte del trabajo de implementación y los humanos hacen cumplir la calidad y los controles de riesgo. Cubre tanto la operación individual (bucle de evals, descomposición, enrutado de modelos) como el modelo operativo de equipo (proceso, revisiones y arquitectura para equipos que entregan con generación de código asistida por IA).
9
+
10
+ ## Principios operativos
11
+
12
+ 1. Define los criterios de completitud antes de ejecutar.
13
+ 2. Descompón el trabajo en unidades del tamaño de un agente.
14
+ 3. Enruta los niveles de modelo según la complejidad de la tarea.
15
+ 4. Mide con evals y verificaciones de regresión.
16
+
17
+ ## Bucle eval-first
18
+
19
+ 1. Define un eval de capacidad y un eval de regresión.
20
+ 2. Ejecuta la línea base y captura las firmas de fallo.
21
+ 3. Ejecuta la implementación.
22
+ 4. Vuelve a correr los evals y compara los deltas.
23
+
24
+ ## Descomposición de tareas
25
+
26
+ Aplica la regla de la unidad de 15 minutos:
27
+ - cada unidad debe ser verificable de forma independiente
28
+ - cada unidad debe tener un único riesgo dominante
29
+ - cada unidad debe exponer una condición de "hecho" clara
30
+
31
+ ## Enrutado de modelos
32
+
33
+ - Modelo económico del catálogo Theus: clasificación, transformaciones repetitivas (boilerplate), ediciones acotadas
34
+ - Modelo estándar del catálogo Theus: implementación y refactors
35
+ - Modelo premium del catálogo Theus: arquitectura, análisis de causa raíz, invariantes multi-archivo
36
+
37
+ Escala al nivel de modelo superior solo cuando el nivel inferior falla con una brecha de razonamiento clara.
38
+
39
+ ## Estrategia de sesión
40
+
41
+ - Continúa la sesión para unidades estrechamente acopladas.
42
+ - Inicia una sesión nueva tras las transiciones de fase importantes.
43
+ - Compacta después de completar un hito, no durante una depuración activa.
44
+
45
+ ## Cambios de proceso en equipos AI-first
46
+
47
+ 1. La calidad de la planificación importa más que la velocidad de tecleo.
48
+ 2. La cobertura de evals importa más que la confianza anecdótica.
49
+ 3. El foco de la revisión pasa de la sintaxis al comportamiento del sistema.
50
+
51
+ ## Requisitos de arquitectura
52
+
53
+ Prefiere arquitecturas amigables para agentes:
54
+ - límites explícitos
55
+ - contratos estables
56
+ - interfaces tipadas
57
+ - tests deterministas
58
+
59
+ Evita el comportamiento implícito repartido en convenciones ocultas.
60
+
61
+ ## Foco de revisión para código generado por IA
62
+
63
+ Prioriza:
64
+ - invariantes y casos borde
65
+ - límites de error (error boundaries)
66
+ - suposiciones de seguridad y autenticación
67
+ - acoplamiento oculto y riesgo de despliegue (rollout)
68
+ - regresiones de comportamiento
69
+ - integridad de datos
70
+ - manejo de fallos
71
+
72
+ No gastes ciclos de revisión en desacuerdos puramente de estilo cuando el formateo/lint automatizado ya lo impone; minimiza el tiempo dedicado a problemas de estilo que la automatización ya cubre.
73
+
74
+ ## Estándar de testing
75
+
76
+ Eleva el listón de testing para el código generado:
77
+ - cobertura de regresión obligatoria en los dominios tocados
78
+ - aserciones explícitas de casos borde
79
+ - verificaciones de integración en los límites de las interfaces
80
+
81
+ ## Disciplina de costos
82
+
83
+ Registra por tarea:
84
+ - modelo
85
+ - estimación de tokens
86
+ - reintentos
87
+ - tiempo de reloj
88
+ - éxito/fallo
89
+
90
+ ## Señales de contratación y evaluación
91
+
92
+ Los ingenieros AI-first sólidos:
93
+ - descomponen limpiamente el trabajo ambiguo
94
+ - definen criterios de aceptación medibles
95
+ - producen prompts y evals de alta señal
96
+ - hacen cumplir los controles de riesgo bajo presión de entrega