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.
- package/LICENSE +42 -0
- package/README.md +295 -0
- package/RELEASE.json +18 -0
- package/assets/brand-official/v1.0/logo/theus-lockup-negative-official.png +0 -0
- package/assets/brand-official/v1.0/logo/theus-lockup-primary-dark-official.png +0 -0
- package/assets/fonts/satoshi/satoshi-300.woff2 +0 -0
- package/assets/fonts/satoshi/satoshi-400.woff2 +0 -0
- package/assets/fonts/satoshi/satoshi-500.woff2 +0 -0
- package/assets/fonts/satoshi/satoshi-700.woff2 +0 -0
- package/assets/fonts/satoshi/satoshi-900.woff2 +0 -0
- package/assets/windows-store/Square150x150Logo.png +0 -0
- package/assets/windows-store/Square44x44Logo.png +0 -0
- package/assets/windows-store/StoreLogo.png +0 -0
- package/assets/windows-store/theus-store-icon-master.png +0 -0
- package/bin/theus +0 -0
- package/package.json +18 -0
- package/vendor/theus-arsenal/.arsenal-nombres-ola2.json +6 -0
- package/vendor/theus-arsenal/.arsenal-nombres-ola3.json +72 -0
- package/vendor/theus-arsenal/.mailmap +2 -0
- package/vendor/theus-arsenal/.theus-plugin/marketplace.json +25 -0
- package/vendor/theus-arsenal/.theus-plugin/plugin.json +20 -0
- package/vendor/theus-arsenal/AUTHORS.md +8 -0
- package/vendor/theus-arsenal/CLEANROOM_REPLACEMENT_PLAN.md +11 -0
- package/vendor/theus-arsenal/LICENSE +26 -0
- package/vendor/theus-arsenal/PROVENANCE.md +9 -0
- package/vendor/theus-arsenal/README.md +41 -0
- package/vendor/theus-arsenal/THIRD_PARTY.md +80 -0
- package/vendor/theus-arsenal/agents/actualizador-docs.md +123 -0
- package/vendor/theus-arsenal/agents/analista-comentarios.md +53 -0
- package/vendor/theus-arsenal/agents/analista-conversaciones.md +60 -0
- package/vendor/theus-arsenal/agents/analista-tests-pr.md +53 -0
- package/vendor/theus-arsenal/agents/analista-tipos.md +49 -0
- package/vendor/theus-arsenal/agents/arquitecto-accesibilidad.md +148 -0
- package/vendor/theus-arsenal/agents/arquitecto-codigo.md +79 -0
- package/vendor/theus-arsenal/agents/arquitecto-homelab.md +90 -0
- package/vendor/theus-arsenal/agents/arquitecto-redes.md +116 -0
- package/vendor/theus-arsenal/agents/arquitecto-sistemas.md +219 -0
- package/vendor/theus-arsenal/agents/bifurcador-opensource.md +206 -0
- package/vendor/theus-arsenal/agents/cazador-fallos-silenciosos.md +58 -0
- package/vendor/theus-arsenal/agents/consultor-documentacion.md +76 -0
- package/vendor/theus-arsenal/agents/diagnosticador-redes.md +135 -0
- package/vendor/theus-arsenal/agents/ejecutor-e2e.md +96 -0
- package/vendor/theus-arsenal/agents/empaquetador-opensource.md +257 -0
- package/vendor/theus-arsenal/agents/escaner-secretos.md +196 -0
- package/vendor/theus-arsenal/agents/especialista-seo.md +70 -0
- package/vendor/theus-arsenal/agents/estratega-marketing.md +158 -0
- package/vendor/theus-arsenal/agents/evaluador-agentes.md +214 -0
- package/vendor/theus-arsenal/agents/evaluador-harness.md +217 -0
- package/vendor/theus-arsenal/agents/explorador-codigo.md +79 -0
- package/vendor/theus-arsenal/agents/extractor-specs.md +214 -0
- package/vendor/theus-arsenal/agents/generador-harness.md +139 -0
- package/vendor/theus-arsenal/agents/guia-tdd.md +99 -0
- package/vendor/theus-arsenal/agents/jefe-de-gabinete.md +162 -0
- package/vendor/theus-arsenal/agents/limpiador-refactors.md +93 -0
- package/vendor/theus-arsenal/agents/optimizador-rendimiento.md +454 -0
- package/vendor/theus-arsenal/agents/planificador-harness.md +107 -0
- package/vendor/theus-arsenal/agents/planificador.md +221 -0
- package/vendor/theus-arsenal/agents/resolutor-apps-harmonyos.md +181 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-cpp.md +98 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-dart.md +209 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-django.md +253 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-go.md +102 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-java.md +274 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-kotlin.md +128 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-pytorch.md +128 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-react.md +214 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-rust.md +156 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-swift.md +169 -0
- package/vendor/theus-arsenal/agents/resolutor-builds.md +122 -0
- package/vendor/theus-arsenal/agents/revisor-bd.md +97 -0
- package/vendor/theus-arsenal/agents/revisor-codigo.md +291 -0
- package/vendor/theus-arsenal/agents/revisor-config-red.md +116 -0
- package/vendor/theus-arsenal/agents/revisor-cpp.md +80 -0
- package/vendor/theus-arsenal/agents/revisor-csharp.md +109 -0
- package/vendor/theus-arsenal/agents/revisor-django.md +168 -0
- package/vendor/theus-arsenal/agents/revisor-fastapi.md +82 -0
- package/vendor/theus-arsenal/agents/revisor-flutter.md +251 -0
- package/vendor/theus-arsenal/agents/revisor-go.md +84 -0
- package/vendor/theus-arsenal/agents/revisor-java.md +192 -0
- package/vendor/theus-arsenal/agents/revisor-kotlin.md +171 -0
- package/vendor/theus-arsenal/agents/revisor-ml.md +159 -0
- package/vendor/theus-arsenal/agents/revisor-php.md +108 -0
- package/vendor/theus-arsenal/agents/revisor-python.md +106 -0
- package/vendor/theus-arsenal/agents/revisor-react.md +166 -0
- package/vendor/theus-arsenal/agents/revisor-rust.md +102 -0
- package/vendor/theus-arsenal/agents/revisor-seguridad.md +116 -0
- package/vendor/theus-arsenal/agents/revisor-software-clinico.md +95 -0
- package/vendor/theus-arsenal/agents/revisor-swift.md +115 -0
- package/vendor/theus-arsenal/agents/revisor-typescript.md +123 -0
- package/vendor/theus-arsenal/agents/revisor-vue.md +205 -0
- package/vendor/theus-arsenal/agents/simplificador-codigo.md +55 -0
- package/vendor/theus-arsenal/commands/actualizar-docs.md +88 -0
- package/vendor/theus-arsenal/commands/actualizar-mapas-codigo.md +78 -0
- package/vendor/theus-arsenal/commands/aprender-evaluar.md +109 -0
- package/vendor/theus-arsenal/commands/aprender.md +74 -0
- package/vendor/theus-arsenal/commands/arreglar-build.md +66 -0
- package/vendor/theus-arsenal/commands/bucle-multiperspectiva.md +153 -0
- package/vendor/theus-arsenal/commands/build-cpp.md +173 -0
- package/vendor/theus-arsenal/commands/build-flutter.md +164 -0
- package/vendor/theus-arsenal/commands/build-go.md +183 -0
- package/vendor/theus-arsenal/commands/build-gradle.md +75 -0
- package/vendor/theus-arsenal/commands/build-kotlin.md +176 -0
- package/vendor/theus-arsenal/commands/build-react.md +187 -0
- package/vendor/theus-arsenal/commands/build-rust.md +187 -0
- package/vendor/theus-arsenal/commands/campana-marketing.md +125 -0
- package/vendor/theus-arsenal/commands/checkpoint.md +78 -0
- package/vendor/theus-arsenal/commands/cobertura-tests.md +73 -0
- package/vendor/theus-arsenal/commands/configurar-gestor-paquetes.md +86 -0
- package/vendor/theus-arsenal/commands/consulta.md +164 -0
- package/vendor/theus-arsenal/commands/control-calidad.md +50 -0
- package/vendor/theus-arsenal/commands/crear-skill.md +77 -0
- package/vendor/theus-arsenal/commands/enrutar-modelo.md +30 -0
- package/vendor/theus-arsenal/commands/epica-desbloquear.md +17 -0
- package/vendor/theus-arsenal/commands/epica-descomponer.md +22 -0
- package/vendor/theus-arsenal/commands/epica-publicar.md +21 -0
- package/vendor/theus-arsenal/commands/epica-reclamar.md +25 -0
- package/vendor/theus-arsenal/commands/epica-revisar.md +22 -0
- package/vendor/theus-arsenal/commands/epica-sincronizar.md +21 -0
- package/vendor/theus-arsenal/commands/epica-validar.md +21 -0
- package/vendor/theus-arsenal/commands/evolucionar.md +176 -0
- package/vendor/theus-arsenal/commands/funcionalidad.md +49 -0
- package/vendor/theus-arsenal/commands/guardar-sesion.md +278 -0
- package/vendor/theus-arsenal/commands/harness-build.md +111 -0
- package/vendor/theus-arsenal/commands/harness-diseno.md +46 -0
- package/vendor/theus-arsenal/commands/informe-costos.md +90 -0
- package/vendor/theus-arsenal/commands/iniciar-bucle.md +36 -0
- package/vendor/theus-arsenal/commands/instintos-estado.md +53 -0
- package/vendor/theus-arsenal/commands/instintos-exportar.md +69 -0
- package/vendor/theus-arsenal/commands/instintos-importar.md +120 -0
- package/vendor/theus-arsenal/commands/lienzo-planes.md +48 -0
- package/vendor/theus-arsenal/commands/limpiar-refactor.md +84 -0
- package/vendor/theus-arsenal/commands/modo-seguro.md +96 -0
- package/vendor/theus-arsenal/commands/orq-agregar-funcionalidad.md +36 -0
- package/vendor/theus-arsenal/commands/orq-cambiar-funcionalidad.md +38 -0
- package/vendor/theus-arsenal/commands/orq-construir-mvp.md +36 -0
- package/vendor/theus-arsenal/commands/orq-corregir-defecto.md +40 -0
- package/vendor/theus-arsenal/commands/orq-refinar-codigo.md +44 -0
- package/vendor/theus-arsenal/commands/orq-revisar.md +135 -0
- package/vendor/theus-arsenal/commands/plan-prd.md +160 -0
- package/vendor/theus-arsenal/commands/plan.md +198 -0
- package/vendor/theus-arsenal/commands/podar.md +31 -0
- package/vendor/theus-arsenal/commands/pr.md +181 -0
- package/vendor/theus-arsenal/commands/promover.md +41 -0
- package/vendor/theus-arsenal/commands/proyectos.md +33 -0
- package/vendor/theus-arsenal/commands/prp-commit.md +112 -0
- package/vendor/theus-arsenal/commands/prp-implementar.md +385 -0
- package/vendor/theus-arsenal/commands/prp-planificar.md +501 -0
- package/vendor/theus-arsenal/commands/reanudar-sesion.md +160 -0
- package/vendor/theus-arsenal/commands/revisar-codigo.md +289 -0
- package/vendor/theus-arsenal/commands/revisar-cpp.md +132 -0
- package/vendor/theus-arsenal/commands/revisar-fastapi.md +39 -0
- package/vendor/theus-arsenal/commands/revisar-flutter.md +115 -0
- package/vendor/theus-arsenal/commands/revisar-go.md +148 -0
- package/vendor/theus-arsenal/commands/revisar-kotlin.md +140 -0
- package/vendor/theus-arsenal/commands/revisar-pr.md +37 -0
- package/vendor/theus-arsenal/commands/revisar-python.md +297 -0
- package/vendor/theus-arsenal/commands/revisar-react.md +170 -0
- package/vendor/theus-arsenal/commands/revisar-rust.md +142 -0
- package/vendor/theus-arsenal/commands/revisar-vue.md +174 -0
- package/vendor/theus-arsenal/commands/salud-skills.md +52 -0
- package/vendor/theus-arsenal/commands/sesiones.md +345 -0
- package/vendor/theus-arsenal/commands/test-cpp.md +252 -0
- package/vendor/theus-arsenal/commands/test-flutter.md +143 -0
- package/vendor/theus-arsenal/commands/test-go.md +268 -0
- package/vendor/theus-arsenal/commands/test-kotlin.md +312 -0
- package/vendor/theus-arsenal/commands/test-react.md +265 -0
- package/vendor/theus-arsenal/commands/test-rust.md +309 -0
- package/vendor/theus-arsenal/commands/vigilancia-canary.md +43 -0
- package/vendor/theus-arsenal/hooks/hooks.json +274 -0
- package/vendor/theus-arsenal/package.json +6 -0
- package/vendor/theus-arsenal/rules/angular/coding-style.md +182 -0
- package/vendor/theus-arsenal/rules/angular/hooks.md +25 -0
- package/vendor/theus-arsenal/rules/angular/patterns.md +249 -0
- package/vendor/theus-arsenal/rules/angular/security.md +87 -0
- package/vendor/theus-arsenal/rules/angular/testing.md +164 -0
- package/vendor/theus-arsenal/rules/arkts/coding-style.md +153 -0
- package/vendor/theus-arsenal/rules/arkts/hooks.md +80 -0
- package/vendor/theus-arsenal/rules/arkts/patterns.md +236 -0
- package/vendor/theus-arsenal/rules/arkts/security.md +141 -0
- package/vendor/theus-arsenal/rules/arkts/testing.md +126 -0
- package/vendor/theus-arsenal/rules/common/agents.md +49 -0
- package/vendor/theus-arsenal/rules/common/code-review.md +123 -0
- package/vendor/theus-arsenal/rules/common/coding-style.md +90 -0
- package/vendor/theus-arsenal/rules/common/development-workflow.md +44 -0
- package/vendor/theus-arsenal/rules/common/git-workflow.md +24 -0
- package/vendor/theus-arsenal/rules/common/hooks.md +32 -0
- package/vendor/theus-arsenal/rules/common/patterns.md +31 -0
- package/vendor/theus-arsenal/rules/common/performance.md +53 -0
- package/vendor/theus-arsenal/rules/common/security.md +29 -0
- package/vendor/theus-arsenal/rules/common/testing.md +57 -0
- package/vendor/theus-arsenal/rules/cpp/coding-style.md +44 -0
- package/vendor/theus-arsenal/rules/cpp/hooks.md +39 -0
- package/vendor/theus-arsenal/rules/cpp/patterns.md +51 -0
- package/vendor/theus-arsenal/rules/cpp/security.md +51 -0
- package/vendor/theus-arsenal/rules/cpp/testing.md +44 -0
- package/vendor/theus-arsenal/rules/csharp/coding-style.md +72 -0
- package/vendor/theus-arsenal/rules/csharp/hooks.md +25 -0
- package/vendor/theus-arsenal/rules/csharp/patterns.md +50 -0
- package/vendor/theus-arsenal/rules/csharp/security.md +58 -0
- package/vendor/theus-arsenal/rules/csharp/testing.md +50 -0
- package/vendor/theus-arsenal/rules/dart/coding-style.md +159 -0
- package/vendor/theus-arsenal/rules/dart/hooks.md +68 -0
- package/vendor/theus-arsenal/rules/dart/patterns.md +261 -0
- package/vendor/theus-arsenal/rules/dart/security.md +135 -0
- package/vendor/theus-arsenal/rules/dart/testing.md +215 -0
- package/vendor/theus-arsenal/rules/fsharp/coding-style.md +112 -0
- package/vendor/theus-arsenal/rules/fsharp/hooks.md +26 -0
- package/vendor/theus-arsenal/rules/fsharp/patterns.md +111 -0
- package/vendor/theus-arsenal/rules/fsharp/security.md +76 -0
- package/vendor/theus-arsenal/rules/fsharp/testing.md +62 -0
- package/vendor/theus-arsenal/rules/golang/coding-style.md +32 -0
- package/vendor/theus-arsenal/rules/golang/hooks.md +17 -0
- package/vendor/theus-arsenal/rules/golang/patterns.md +45 -0
- package/vendor/theus-arsenal/rules/golang/security.md +34 -0
- package/vendor/theus-arsenal/rules/golang/testing.md +31 -0
- package/vendor/theus-arsenal/rules/java/coding-style.md +114 -0
- package/vendor/theus-arsenal/rules/java/hooks.md +18 -0
- package/vendor/theus-arsenal/rules/java/patterns.md +147 -0
- package/vendor/theus-arsenal/rules/java/security.md +101 -0
- package/vendor/theus-arsenal/rules/java/testing.md +133 -0
- package/vendor/theus-arsenal/rules/kotlin/coding-style.md +86 -0
- package/vendor/theus-arsenal/rules/kotlin/hooks.md +17 -0
- package/vendor/theus-arsenal/rules/kotlin/patterns.md +146 -0
- package/vendor/theus-arsenal/rules/kotlin/security.md +82 -0
- package/vendor/theus-arsenal/rules/kotlin/testing.md +128 -0
- package/vendor/theus-arsenal/rules/nuxt/coding-style.md +47 -0
- package/vendor/theus-arsenal/rules/nuxt/hooks.md +39 -0
- package/vendor/theus-arsenal/rules/nuxt/patterns.md +54 -0
- package/vendor/theus-arsenal/rules/nuxt/security.md +48 -0
- package/vendor/theus-arsenal/rules/nuxt/testing.md +49 -0
- package/vendor/theus-arsenal/rules/php/coding-style.md +40 -0
- package/vendor/theus-arsenal/rules/php/hooks.md +24 -0
- package/vendor/theus-arsenal/rules/php/patterns.md +33 -0
- package/vendor/theus-arsenal/rules/php/security.md +37 -0
- package/vendor/theus-arsenal/rules/php/testing.md +38 -0
- package/vendor/theus-arsenal/rules/python/coding-style.md +42 -0
- package/vendor/theus-arsenal/rules/python/fastapi.md +58 -0
- package/vendor/theus-arsenal/rules/python/hooks.md +19 -0
- package/vendor/theus-arsenal/rules/python/patterns.md +39 -0
- package/vendor/theus-arsenal/rules/python/security.md +30 -0
- package/vendor/theus-arsenal/rules/python/testing.md +38 -0
- package/vendor/theus-arsenal/rules/react/coding-style.md +109 -0
- package/vendor/theus-arsenal/rules/react/hooks.md +187 -0
- package/vendor/theus-arsenal/rules/react/patterns.md +194 -0
- package/vendor/theus-arsenal/rules/react/security.md +180 -0
- package/vendor/theus-arsenal/rules/react/testing.md +208 -0
- package/vendor/theus-arsenal/rules/react-native/accessibility.md +55 -0
- package/vendor/theus-arsenal/rules/react-native/coding-style.md +71 -0
- package/vendor/theus-arsenal/rules/react-native/hooks.md +28 -0
- package/vendor/theus-arsenal/rules/react-native/patterns.md +88 -0
- package/vendor/theus-arsenal/rules/react-native/performance.md +45 -0
- package/vendor/theus-arsenal/rules/react-native/production-readiness.md +51 -0
- package/vendor/theus-arsenal/rules/react-native/security.md +43 -0
- package/vendor/theus-arsenal/rules/react-native/testing.md +52 -0
- package/vendor/theus-arsenal/rules/ruby/coding-style.md +46 -0
- package/vendor/theus-arsenal/rules/ruby/hooks.md +37 -0
- package/vendor/theus-arsenal/rules/ruby/patterns.md +44 -0
- package/vendor/theus-arsenal/rules/ruby/security.md +51 -0
- package/vendor/theus-arsenal/rules/ruby/testing.md +51 -0
- package/vendor/theus-arsenal/rules/rust/coding-style.md +151 -0
- package/vendor/theus-arsenal/rules/rust/hooks.md +16 -0
- package/vendor/theus-arsenal/rules/rust/patterns.md +168 -0
- package/vendor/theus-arsenal/rules/rust/security.md +141 -0
- package/vendor/theus-arsenal/rules/rust/testing.md +154 -0
- package/vendor/theus-arsenal/rules/swift/coding-style.md +47 -0
- package/vendor/theus-arsenal/rules/swift/hooks.md +20 -0
- package/vendor/theus-arsenal/rules/swift/patterns.md +66 -0
- package/vendor/theus-arsenal/rules/swift/security.md +33 -0
- package/vendor/theus-arsenal/rules/swift/testing.md +45 -0
- package/vendor/theus-arsenal/rules/typescript/coding-style.md +199 -0
- package/vendor/theus-arsenal/rules/typescript/hooks.md +22 -0
- package/vendor/theus-arsenal/rules/typescript/patterns.md +52 -0
- package/vendor/theus-arsenal/rules/typescript/security.md +28 -0
- package/vendor/theus-arsenal/rules/typescript/testing.md +18 -0
- package/vendor/theus-arsenal/rules/vue/coding-style.md +54 -0
- package/vendor/theus-arsenal/rules/vue/hooks.md +45 -0
- package/vendor/theus-arsenal/rules/vue/patterns.md +56 -0
- package/vendor/theus-arsenal/rules/vue/security.md +46 -0
- package/vendor/theus-arsenal/rules/vue/testing.md +53 -0
- package/vendor/theus-arsenal/rules/web/coding-style.md +108 -0
- package/vendor/theus-arsenal/rules/web/design-quality.md +75 -0
- package/vendor/theus-arsenal/rules/web/hooks.md +141 -0
- package/vendor/theus-arsenal/rules/web/patterns.md +91 -0
- package/vendor/theus-arsenal/rules/web/performance.md +76 -0
- package/vendor/theus-arsenal/rules/web/security.md +69 -0
- package/vendor/theus-arsenal/rules/web/testing.md +67 -0
- package/vendor/theus-arsenal/scripts/hooks/bash-hook-dispatcher.js +192 -0
- package/vendor/theus-arsenal/scripts/hooks/block-no-verify.js +556 -0
- package/vendor/theus-arsenal/scripts/hooks/check-console-log.js +92 -0
- package/vendor/theus-arsenal/scripts/hooks/check-hook-enabled.js +16 -0
- package/vendor/theus-arsenal/scripts/hooks/config-protection.js +171 -0
- package/vendor/theus-arsenal/scripts/hooks/design-quality-check.js +132 -0
- package/vendor/theus-arsenal/scripts/hooks/doc-file-warning.js +110 -0
- package/vendor/theus-arsenal/scripts/hooks/modo-seguro.js +158 -0
- package/vendor/theus-arsenal/scripts/hooks/notificacion-escritorio.js +208 -0
- package/vendor/theus-arsenal/scripts/hooks/plugin-hook-bootstrap.js +280 -0
- package/vendor/theus-arsenal/scripts/hooks/post-bash-command-log.js +87 -0
- package/vendor/theus-arsenal/scripts/hooks/post-bash-dispatcher.js +24 -0
- package/vendor/theus-arsenal/scripts/hooks/post-bash-pr-created.js +60 -0
- package/vendor/theus-arsenal/scripts/hooks/post-edit-accumulator.js +94 -0
- package/vendor/theus-arsenal/scripts/hooks/post-edit-console-warn.js +54 -0
- package/vendor/theus-arsenal/scripts/hooks/post-edit-format.js +110 -0
- package/vendor/theus-arsenal/scripts/hooks/post-edit-typecheck.js +98 -0
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-commit-quality.js +447 -0
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-dev-server-block.js +232 -0
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-dispatcher.js +27 -0
- package/vendor/theus-arsenal/scripts/hooks/pre-compact.js +101 -0
- package/vendor/theus-arsenal/scripts/hooks/pretooluse-visible-output.js +49 -0
- package/vendor/theus-arsenal/scripts/hooks/quality-gate.js +168 -0
- package/vendor/theus-arsenal/scripts/hooks/run-with-flags.js +271 -0
- package/vendor/theus-arsenal/scripts/hooks/salud-mcp.js +749 -0
- package/vendor/theus-arsenal/scripts/hooks/seguimiento-costos.js +161 -0
- package/vendor/theus-arsenal/scripts/hooks/session-end.js +340 -0
- package/vendor/theus-arsenal/scripts/hooks/session-start.js +906 -0
- package/vendor/theus-arsenal/scripts/hooks/stop-format-typecheck.js +263 -0
- package/vendor/theus-arsenal/scripts/hooks/suggest-compact.js +286 -0
- package/vendor/theus-arsenal/scripts/hooks/theus-context-monitor.js +289 -0
- package/vendor/theus-arsenal/scripts/hooks/verificacion-factual.js +1278 -0
- package/vendor/theus-arsenal/scripts/lib/agent-data-home.js +96 -0
- package/vendor/theus-arsenal/scripts/lib/cost-estimate.js +66 -0
- package/vendor/theus-arsenal/scripts/lib/hook-flags.js +79 -0
- package/vendor/theus-arsenal/scripts/lib/llm-summary.js +185 -0
- package/vendor/theus-arsenal/scripts/lib/loopback-guard.js +54 -0
- package/vendor/theus-arsenal/scripts/lib/observer-sessions.js +237 -0
- package/vendor/theus-arsenal/scripts/lib/package-manager.d.ts +120 -0
- package/vendor/theus-arsenal/scripts/lib/package-manager.js +434 -0
- package/vendor/theus-arsenal/scripts/lib/path-safety.js +86 -0
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/markdown.js +285 -0
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/sdk.js +238 -0
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/server.js +534 -0
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/sessions.js +274 -0
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/ui.js +546 -0
- package/vendor/theus-arsenal/scripts/lib/project-detect.js +451 -0
- package/vendor/theus-arsenal/scripts/lib/resolve-formatter.js +193 -0
- package/vendor/theus-arsenal/scripts/lib/resolve-theus-root.js +101 -0
- package/vendor/theus-arsenal/scripts/lib/session-aliases.d.ts +138 -0
- package/vendor/theus-arsenal/scripts/lib/session-aliases.js +483 -0
- package/vendor/theus-arsenal/scripts/lib/session-bridge.js +155 -0
- package/vendor/theus-arsenal/scripts/lib/session-manager.d.ts +137 -0
- package/vendor/theus-arsenal/scripts/lib/session-manager.js +555 -0
- package/vendor/theus-arsenal/scripts/lib/shell-split.js +86 -0
- package/vendor/theus-arsenal/scripts/lib/shell-substitution.js +501 -0
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/dashboard.js +414 -0
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/health.js +285 -0
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/index.js +22 -0
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/provenance.js +200 -0
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/tracker.js +157 -0
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/versioning.js +246 -0
- package/vendor/theus-arsenal/scripts/lib/transcript-context.js +232 -0
- package/vendor/theus-arsenal/scripts/lib/utils.d.ts +205 -0
- package/vendor/theus-arsenal/scripts/lib/utils.js +658 -0
- package/vendor/theus-arsenal/scripts/plan-canvas.js +341 -0
- package/vendor/theus-arsenal/scripts/setup-package-manager.js +46 -0
- package/vendor/theus-arsenal/scripts/skills-health.js +143 -0
- package/vendor/theus-arsenal/skills/a11y-frontend/SKILL.md +444 -0
- package/vendor/theus-arsenal/skills/accesibilidad/SKILL.md +144 -0
- package/vendor/theus-arsenal/skills/acelerador-throughput-datos/SKILL.md +72 -0
- package/vendor/theus-arsenal/skills/agente-scraper-datos/SKILL.md +771 -0
- package/vendor/theus-arsenal/skills/analisis-plataformas-competencia/SKILL.md +137 -0
- package/vendor/theus-arsenal/skills/api-x/SKILL.md +233 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/SKILL.md +335 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer-loop.sh +374 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer.md +188 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/session-guardian.sh +153 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/start-observer.sh +253 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/config.json +8 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/hooks/observe.sh +594 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/detect-project.sh +325 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/instinct-cli.py +1918 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/lib/arsenal-dir.sh +23 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/test_parse_instinct.py +1420 -0
- package/vendor/theus-arsenal/skills/arquitectura-hexagonal/SKILL.md +275 -0
- package/vendor/theus-arsenal/skills/arquitectura-limpia-android/SKILL.md +340 -0
- package/vendor/theus-arsenal/skills/arquitectura-pipelines-recomendacion/SKILL.md +112 -0
- package/vendor/theus-arsenal/skills/atlas-datos-prediccion/SKILL.md +53 -0
- package/vendor/theus-arsenal/skills/auditoria-arquitectura-agentes/SKILL.md +257 -0
- package/vendor/theus-arsenal/skills/auditoria-produccion/SKILL.md +180 -0
- package/vendor/theus-arsenal/skills/auditoria-rutas-clic/SKILL.md +243 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/SKILL.md +180 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/high-score-example.md +89 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/low-score-example.md +87 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/evaluation-criteria.md +71 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/hook-integration.md +90 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/scripts/evaluate.py +409 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/templates/evaluation-report.md +86 -0
- package/vendor/theus-arsenal/skills/automatizacion-ssh-netmiko/SKILL.md +176 -0
- package/vendor/theus-arsenal/skills/base-datos-pubmed/SKILL.md +174 -0
- package/vendor/theus-arsenal/skills/base-datos-uspto/SKILL.md +173 -0
- package/vendor/theus-arsenal/skills/benchmark/SKILL.md +92 -0
- package/vendor/theus-arsenal/skills/bitacora-crecimiento/SKILL.md +120 -0
- package/vendor/theus-arsenal/skills/bucle-verificacion/SKILL.md +125 -0
- package/vendor/theus-arsenal/skills/buscar-primero/SKILL.md +184 -0
- package/vendor/theus-arsenal/skills/busqueda-exa/SKILL.md +111 -0
- package/vendor/theus-arsenal/skills/cache-por-hash/SKILL.md +160 -0
- package/vendor/theus-arsenal/skills/campana-marketing/SKILL.md +118 -0
- package/vendor/theus-arsenal/skills/capacidad-producto/SKILL.md +138 -0
- package/vendor/theus-arsenal/skills/cazador-vulnerabilidades/SKILL.md +104 -0
- package/vendor/theus-arsenal/skills/compactacion-estrategica/SKILL.md +115 -0
- package/vendor/theus-arsenal/skills/comparador-baskets-prediccion/SKILL.md +69 -0
- package/vendor/theus-arsenal/skills/compras-energia/SKILL.md +206 -0
- package/vendor/theus-arsenal/skills/concurrencia-swift-6-2/SKILL.md +224 -0
- package/vendor/theus-arsenal/skills/consejo/SKILL.md +201 -0
- package/vendor/theus-arsenal/skills/construccion-harness-agentes/SKILL.md +78 -0
- package/vendor/theus-arsenal/skills/constructor-conectores/SKILL.md +119 -0
- package/vendor/theus-arsenal/skills/constructor-equipos/SKILL.md +169 -0
- package/vendor/theus-arsenal/skills/consulta-documentacion/SKILL.md +92 -0
- package/vendor/theus-arsenal/skills/consultas-genomicas-gget/SKILL.md +170 -0
- package/vendor/theus-arsenal/skills/contacto-inversores/SKILL.md +95 -0
- package/vendor/theus-arsenal/skills/corrutinas-flows-kotlin/SKILL.md +284 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/SKILL.md +46 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/3d.md +86 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/animations.md +29 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/charts-bar-chart.tsx +173 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-typewriter.tsx +100 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets.md +78 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/audio.md +172 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/calculate-metadata.md +104 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/can-decode.md +75 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/charts.md +58 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/compositions.md +146 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/display-captions.md +126 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/extract-frames.md +229 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/fonts.md +152 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-audio-duration.md +58 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-dimensions.md +68 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-duration.md +58 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/gifs.md +138 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/images.md +130 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/import-srt-captions.md +67 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/lottie.md +67 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-dom-nodes.md +34 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-text.md +143 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/sequencing.md +106 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/tailwind.md +11 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/text-animations.md +20 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/timing.md +179 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transcribe-captions.md +19 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transitions.md +122 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/trimming.md +52 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/videos.md +171 -0
- package/vendor/theus-arsenal/skills/cumplimiento-aduanero/SKILL.md +270 -0
- package/vendor/theus-arsenal/skills/cumplimiento-hipaa/SKILL.md +78 -0
- package/vendor/theus-arsenal/skills/datos-sensibles-salud/SKILL.md +149 -0
- package/vendor/theus-arsenal/skills/decimales-tokens-evm/SKILL.md +128 -0
- package/vendor/theus-arsenal/skills/decisiones-arquitectura/SKILL.md +206 -0
- package/vendor/theus-arsenal/skills/demos-ui/SKILL.md +469 -0
- package/vendor/theus-arsenal/skills/desarrollo-por-intencion/SKILL.md +369 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/SKILL.md +149 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/10_proposito-porque.md +42 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/20_posicionamiento.md +47 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/30_audiencia-nicho.md +53 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/40_personalidad-arquetipo.md +61 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/50_voz-tono.md +62 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/60_narrativa-historia.md +54 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/70_tension-fundador.md +50 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/90_SINTESIS.md +133 -0
- package/vendor/theus-arsenal/skills/descubrimiento-plugins-laravel/SKILL.md +230 -0
- package/vendor/theus-arsenal/skills/destilado-reglas/SKILL.md +263 -0
- package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-rules.sh +58 -0
- package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-skills.sh +129 -0
- package/vendor/theus-arsenal/skills/diagnostico-bgp/SKILL.md +170 -0
- package/vendor/theus-arsenal/skills/direccion-estetica/SKILL.md +220 -0
- package/vendor/theus-arsenal/skills/direccion-estetica/references/taxonomia-generos.md +89 -0
- package/vendor/theus-arsenal/skills/diseno-api/SKILL.md +522 -0
- package/vendor/theus-arsenal/skills/diseno-liquid-glass/SKILL.md +282 -0
- package/vendor/theus-arsenal/skills/e2e-escritorio-windows/SKILL.md +879 -0
- package/vendor/theus-arsenal/skills/edicion-video/SKILL.md +289 -0
- package/vendor/theus-arsenal/skills/enfoque-producto/SKILL.md +91 -0
- package/vendor/theus-arsenal/skills/entornos-flox/SKILL.md +493 -0
- package/vendor/theus-arsenal/skills/estandares-codigo/SKILL.md +548 -0
- package/vendor/theus-arsenal/skills/estandares-cpp/SKILL.md +727 -0
- package/vendor/theus-arsenal/skills/estandares-java/SKILL.md +389 -0
- package/vendor/theus-arsenal/skills/estilo-legado/SKILL.md +149 -0
- package/vendor/theus-arsenal/skills/estructura-informes-competencia/SKILL.md +95 -0
- package/vendor/theus-arsenal/skills/evaluacion-academica/SKILL.md +165 -0
- package/vendor/theus-arsenal/skills/explorador-skills/SKILL.md +129 -0
- package/vendor/theus-arsenal/skills/flujo-git/SKILL.md +714 -0
- package/vendor/theus-arsenal/skills/flujo-ingenieria-ml/SKILL.md +343 -0
- package/vendor/theus-arsenal/skills/flujo-tdd/SKILL.md +584 -0
- package/vendor/theus-arsenal/skills/forja-personas/SKILL.md +298 -0
- package/vendor/theus-arsenal/skills/forja-personas/gacha.py +224 -0
- package/vendor/theus-arsenal/skills/forja-personas/gacha.sh +5 -0
- package/vendor/theus-arsenal/skills/forja-personas/references/avatar-style.md +123 -0
- package/vendor/theus-arsenal/skills/forja-personas/references/boundary-rules.md +53 -0
- package/vendor/theus-arsenal/skills/forja-personas/references/error-handling.md +53 -0
- package/vendor/theus-arsenal/skills/forja-personas/references/identity-tension.md +48 -0
- package/vendor/theus-arsenal/skills/forja-personas/references/naming-system.md +39 -0
- package/vendor/theus-arsenal/skills/forja-personas/references/output-template.md +166 -0
- package/vendor/theus-arsenal/skills/fundamentos-animacion/SKILL.md +296 -0
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/SKILL.md +156 -0
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/generate_icons.swift +258 -0
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/iconify_gen.sh +235 -0
- package/vendor/theus-arsenal/skills/gestion-excepciones-logisticas/SKILL.md +208 -0
- package/vendor/theus-arsenal/skills/gestion-transportistas/SKILL.md +204 -0
- package/vendor/theus-arsenal/skills/guia-adopcion-ml/SKILL.md +64 -0
- package/vendor/theus-arsenal/skills/harness-agente-autonomo/SKILL.md +252 -0
- package/vendor/theus-arsenal/skills/harness-eval-clinico/SKILL.md +212 -0
- package/vendor/theus-arsenal/skills/harness-evaluacion/SKILL.md +296 -0
- package/vendor/theus-arsenal/skills/harness-generador-evaluador/SKILL.md +254 -0
- package/vendor/theus-arsenal/skills/homelab-diseno-red/SKILL.md +120 -0
- package/vendor/theus-arsenal/skills/homelab-dns-pihole/SKILL.md +264 -0
- package/vendor/theus-arsenal/skills/homelab-preparacion-red/SKILL.md +144 -0
- package/vendor/theus-arsenal/skills/homelab-segmentacion-vlan/SKILL.md +307 -0
- package/vendor/theus-arsenal/skills/homelab-vpn-wireguard/SKILL.md +299 -0
- package/vendor/theus-arsenal/skills/ingenieria-agentica/SKILL.md +96 -0
- package/vendor/theus-arsenal/skills/inspeccion-animaciones-blender/SKILL.md +164 -0
- package/vendor/theus-arsenal/skills/instaladores-python/SKILL.md +820 -0
- package/vendor/theus-arsenal/skills/integracion-jira/SKILL.md +307 -0
- package/vendor/theus-arsenal/skills/inteligencia-leads/SKILL.md +312 -0
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/agente-enriquecimiento.md +87 -0
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/mapeador-mutuos.md +76 -0
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/puntuador-senales.md +60 -0
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/redactor-outreach.md +102 -0
- package/vendor/theus-arsenal/skills/inteligencia-mercados-prediccion/SKILL.md +53 -0
- package/vendor/theus-arsenal/skills/introspeccion-agente/SKILL.md +150 -0
- package/vendor/theus-arsenal/skills/inventario-skills/SKILL.md +194 -0
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/quick-diff.sh +87 -0
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/save-results.sh +57 -0
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/scan.sh +170 -0
- package/vendor/theus-arsenal/skills/investigacion-mercado/SKILL.md +87 -0
- package/vendor/theus-arsenal/skills/investigacion-oraculos-prediccion/SKILL.md +59 -0
- package/vendor/theus-arsenal/skills/investigacion-profunda/SKILL.md +161 -0
- package/vendor/theus-arsenal/skills/keccak256-nodejs/SKILL.md +100 -0
- package/vendor/theus-arsenal/skills/libro-decisiones-recursivo/SKILL.md +82 -0
- package/vendor/theus-arsenal/skills/lienzo-planes/SKILL.md +111 -0
- package/vendor/theus-arsenal/skills/limpieza-configuracion/SKILL.md +116 -0
- package/vendor/theus-arsenal/skills/logistica-inversa-devoluciones/SKILL.md +241 -0
- package/vendor/theus-arsenal/skills/manejo-errores/SKILL.md +375 -0
- package/vendor/theus-arsenal/skills/materiales-inversores/SKILL.md +101 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/SKILL.md +170 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/forget.mjs +44 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/info.mjs +24 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/init.mjs +152 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/list.mjs +40 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/migrate.mjs +214 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/resume.mjs +36 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/save.mjs +210 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/shared.mjs +402 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/hooks/session-start.mjs +238 -0
- package/vendor/theus-arsenal/skills/metodologia-benchmarks/SKILL.md +131 -0
- package/vendor/theus-arsenal/skills/migraciones-bd/SKILL.md +430 -0
- package/vendor/theus-arsenal/skills/modelos-fundacionales-en-dispositivo/SKILL.md +244 -0
- package/vendor/theus-arsenal/skills/modo-seguro/SKILL.md +86 -0
- package/vendor/theus-arsenal/skills/motion-avanzado/SKILL.md +592 -0
- package/vendor/theus-arsenal/skills/motor-de-contenido/SKILL.md +136 -0
- package/vendor/theus-arsenal/skills/no-conformidades-calidad/SKILL.md +249 -0
- package/vendor/theus-arsenal/skills/onboarding-codigo/SKILL.md +244 -0
- package/vendor/theus-arsenal/skills/operaciones-agentes-empresariales/SKILL.md +51 -0
- package/vendor/theus-arsenal/skills/operaciones-conocimiento/SKILL.md +159 -0
- package/vendor/theus-arsenal/skills/operaciones-correo/SKILL.md +123 -0
- package/vendor/theus-arsenal/skills/operaciones-facturacion/SKILL.md +142 -0
- package/vendor/theus-arsenal/skills/operaciones-flujo-proyectos/SKILL.md +110 -0
- package/vendor/theus-arsenal/skills/operaciones-github/SKILL.md +143 -0
- package/vendor/theus-arsenal/skills/operaciones-google-workspace/SKILL.md +100 -0
- package/vendor/theus-arsenal/skills/operaciones-investigacion/SKILL.md +124 -0
- package/vendor/theus-arsenal/skills/operaciones-mensajes/SKILL.md +103 -0
- package/vendor/theus-arsenal/skills/operaciones-terminal/SKILL.md +110 -0
- package/vendor/theus-arsenal/skills/optimizacion-benchmark/SKILL.md +70 -0
- package/vendor/theus-arsenal/skills/optimizacion-costos-llm/SKILL.md +182 -0
- package/vendor/theus-arsenal/skills/optimizador-conexiones/SKILL.md +191 -0
- package/vendor/theus-arsenal/skills/optimizador-paralelismo/SKILL.md +75 -0
- package/vendor/theus-arsenal/skills/optimizador-prompts/SKILL.md +374 -0
- package/vendor/theus-arsenal/skills/orq-agregar-funcionalidad/SKILL.md +37 -0
- package/vendor/theus-arsenal/skills/orq-cambiar-funcionalidad/SKILL.md +36 -0
- package/vendor/theus-arsenal/skills/orq-construir-mvp/SKILL.md +38 -0
- package/vendor/theus-arsenal/skills/orq-corregir-defecto/SKILL.md +36 -0
- package/vendor/theus-arsenal/skills/orq-pipeline/SKILL.md +134 -0
- package/vendor/theus-arsenal/skills/orq-refinar-codigo/SKILL.md +49 -0
- package/vendor/theus-arsenal/skills/orquestacion-equipos-agentes/SKILL.md +117 -0
- package/vendor/theus-arsenal/skills/pagos-agentes-x402/SKILL.md +237 -0
- package/vendor/theus-arsenal/skills/patrones-angular/SKILL.md +153 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/angular-animations.md +160 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/angular-aria.md +410 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/cli.md +86 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/component-harnesses.md +59 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/component-styling.md +91 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/components.md +117 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/creating-services.md +97 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/data-resolvers.md +69 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/define-routes.md +67 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/defining-providers.md +72 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/di-fundamentals.md +120 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/e2e-testing.md +56 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/effects.md +83 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/hierarchical-injectors.md +43 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/host-elements.md +80 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/injection-context.md +63 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/inputs.md +101 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/linked-signal.md +59 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/loading-strategies.md +61 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/mcp.md +67 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/navigate-to-routes.md +69 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/outputs.md +86 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/reactive-forms.md +122 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/rendering-strategies.md +44 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/resource.md +77 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/route-animations.md +56 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/route-guards.md +52 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/router-lifecycle.md +45 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/router-testing.md +87 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/show-routes-with-outlets.md +68 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/signal-forms.md +795 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/signals-overview.md +94 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/tailwind-css.md +69 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/template-driven-forms.md +114 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/testing-fundamentals.md +65 -0
- package/vendor/theus-arsenal/skills/patrones-animacion/SKILL.md +432 -0
- package/vendor/theus-arsenal/skills/patrones-backend/SKILL.md +560 -0
- package/vendor/theus-arsenal/skills/patrones-cdss-clinico/SKILL.md +249 -0
- package/vendor/theus-arsenal/skills/patrones-cisco-ios/SKILL.md +148 -0
- package/vendor/theus-arsenal/skills/patrones-clickhouse/SKILL.md +443 -0
- package/vendor/theus-arsenal/skills/patrones-compose-multiplatform/SKILL.md +298 -0
- package/vendor/theus-arsenal/skills/patrones-dart-flutter/SKILL.md +566 -0
- package/vendor/theus-arsenal/skills/patrones-despliegue/SKILL.md +426 -0
- package/vendor/theus-arsenal/skills/patrones-django/SKILL.md +739 -0
- package/vendor/theus-arsenal/skills/patrones-django-celery/SKILL.md +456 -0
- package/vendor/theus-arsenal/skills/patrones-docker/SKILL.md +363 -0
- package/vendor/theus-arsenal/skills/patrones-dotnet/SKILL.md +321 -0
- package/vendor/theus-arsenal/skills/patrones-emr-clinico/SKILL.md +168 -0
- package/vendor/theus-arsenal/skills/patrones-fastapi/SKILL.md +513 -0
- package/vendor/theus-arsenal/skills/patrones-frontend/SKILL.md +655 -0
- package/vendor/theus-arsenal/skills/patrones-go/SKILL.md +674 -0
- package/vendor/theus-arsenal/skills/patrones-jpa/SKILL.md +156 -0
- package/vendor/theus-arsenal/skills/patrones-kotlin/SKILL.md +717 -0
- package/vendor/theus-arsenal/skills/patrones-kotlin-exposed/SKILL.md +724 -0
- package/vendor/theus-arsenal/skills/patrones-kotlin-ktor/SKILL.md +694 -0
- package/vendor/theus-arsenal/skills/patrones-kubernetes/SKILL.md +754 -0
- package/vendor/theus-arsenal/skills/patrones-laravel/SKILL.md +414 -0
- package/vendor/theus-arsenal/skills/patrones-mcp/SKILL.md +66 -0
- package/vendor/theus-arsenal/skills/patrones-mysql/SKILL.md +420 -0
- package/vendor/theus-arsenal/skills/patrones-nestjs/SKILL.md +229 -0
- package/vendor/theus-arsenal/skills/patrones-nextjs/SKILL.md +56 -0
- package/vendor/theus-arsenal/skills/patrones-nuxt4/SKILL.md +99 -0
- package/vendor/theus-arsenal/skills/patrones-perl/SKILL.md +508 -0
- package/vendor/theus-arsenal/skills/patrones-postgres/SKILL.md +141 -0
- package/vendor/theus-arsenal/skills/patrones-prisma/SKILL.md +399 -0
- package/vendor/theus-arsenal/skills/patrones-python/SKILL.md +750 -0
- package/vendor/theus-arsenal/skills/patrones-pytorch/SKILL.md +400 -0
- package/vendor/theus-arsenal/skills/patrones-quarkus/SKILL.md +729 -0
- package/vendor/theus-arsenal/skills/patrones-react/SKILL.md +339 -0
- package/vendor/theus-arsenal/skills/patrones-react-native/SKILL.md +325 -0
- package/vendor/theus-arsenal/skills/patrones-redis/SKILL.md +401 -0
- package/vendor/theus-arsenal/skills/patrones-rust/SKILL.md +504 -0
- package/vendor/theus-arsenal/skills/patrones-springboot/SKILL.md +314 -0
- package/vendor/theus-arsenal/skills/patrones-swiftui/SKILL.md +261 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/SKILL.md +281 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/architecture.md +90 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/data-handling.md +60 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/database.md +99 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/routing.md +64 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/system-usage.md +97 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/testing.md +72 -0
- package/vendor/theus-arsenal/skills/patrones-vite/SKILL.md +449 -0
- package/vendor/theus-arsenal/skills/patrones-vue/SKILL.md +469 -0
- package/vendor/theus-arsenal/skills/persistencia-actores-swift/SKILL.md +148 -0
- package/vendor/theus-arsenal/skills/pipeline-opensource/SKILL.md +254 -0
- package/vendor/theus-arsenal/skills/planificacion-demanda-inventario/SKILL.md +236 -0
- package/vendor/theus-arsenal/skills/planificador-trades-prediccion/SKILL.md +60 -0
- package/vendor/theus-arsenal/skills/plano-tecnico/SKILL.md +102 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/SKILL.md +189 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/STYLE_PRESETS.md +330 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/animation-patterns.md +122 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/html-template.md +419 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/scripts/export-pdf.sh +418 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/scripts/extract-pptx.py +96 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/viewport-base.css +153 -0
- package/vendor/theus-arsenal/skills/presupuesto-contexto/SKILL.md +263 -0
- package/vendor/theus-arsenal/skills/procesamiento-documentos-nutrient/SKILL.md +168 -0
- package/vendor/theus-arsenal/skills/programacion-produccion/SKILL.md +220 -0
- package/vendor/theus-arsenal/skills/publicacion-cruzada/SKILL.md +117 -0
- package/vendor/theus-arsenal/skills/publicador-social/SKILL.md +121 -0
- package/vendor/theus-arsenal/skills/puerta-de-entrega/SKILL.md +164 -0
- package/vendor/theus-arsenal/skills/puerta-de-entrega/hooks/puerta-entrega.py +242 -0
- package/vendor/theus-arsenal/skills/pulir-interfaces/SKILL.md +126 -0
- package/vendor/theus-arsenal/skills/qa-navegador/SKILL.md +103 -0
- package/vendor/theus-arsenal/skills/ranking-grafo-social/SKILL.md +153 -0
- package/vendor/theus-arsenal/skills/recuperacion-iterativa/SKILL.md +236 -0
- package/vendor/theus-arsenal/skills/redaccion-articulos/SKILL.md +81 -0
- package/vendor/theus-arsenal/skills/regex-vs-llm/SKILL.md +221 -0
- package/vendor/theus-arsenal/skills/regresion-codigo-ia/SKILL.md +388 -0
- package/vendor/theus-arsenal/skills/rendimiento-react/SKILL.md +567 -0
- package/vendor/theus-arsenal/skills/revision-codigo-flutter-dart/SKILL.md +442 -0
- package/vendor/theus-arsenal/skills/revision-literatura-cientifica/SKILL.md +191 -0
- package/vendor/theus-arsenal/skills/revision-multiperspectiva/SKILL.md +302 -0
- package/vendor/theus-arsenal/skills/revision-riesgo-prediccion/SKILL.md +56 -0
- package/vendor/theus-arsenal/skills/revision-seguridad/SKILL.md +505 -0
- package/vendor/theus-arsenal/skills/revision-seguridad/cloud-infrastructure-security.md +361 -0
- package/vendor/theus-arsenal/skills/runtime-bun/SKILL.md +83 -0
- package/vendor/theus-arsenal/skills/salud-codigo-codescene/SKILL.md +163 -0
- package/vendor/theus-arsenal/skills/salud-interfaces-red/SKILL.md +143 -0
- package/vendor/theus-arsenal/skills/seguimiento-costos/SKILL.md +122 -0
- package/vendor/theus-arsenal/skills/seguridad-agentes-trading/SKILL.md +145 -0
- package/vendor/theus-arsenal/skills/seguridad-amm-defi/SKILL.md +166 -0
- package/vendor/theus-arsenal/skills/seguridad-django/SKILL.md +648 -0
- package/vendor/theus-arsenal/skills/seguridad-laravel/SKILL.md +945 -0
- package/vendor/theus-arsenal/skills/seguridad-perl/SKILL.md +507 -0
- package/vendor/theus-arsenal/skills/seguridad-quarkus/SKILL.md +474 -0
- package/vendor/theus-arsenal/skills/seguridad-springboot/SKILL.md +279 -0
- package/vendor/theus-arsenal/skills/seo/SKILL.md +166 -0
- package/vendor/theus-arsenal/skills/sistema-diseno/SKILL.md +81 -0
- package/vendor/theus-arsenal/skills/sistema-operativo-agentico/SKILL.md +375 -0
- package/vendor/theus-arsenal/skills/sistemas-latencia-critica/SKILL.md +65 -0
- package/vendor/theus-arsenal/skills/tdd-django/SKILL.md +735 -0
- package/vendor/theus-arsenal/skills/tdd-laravel/SKILL.md +673 -0
- package/vendor/theus-arsenal/skills/tdd-quarkus/SKILL.md +817 -0
- package/vendor/theus-arsenal/skills/tdd-springboot/SKILL.md +165 -0
- package/vendor/theus-arsenal/skills/testing-cpp/SKILL.md +328 -0
- package/vendor/theus-arsenal/skills/testing-csharp/SKILL.md +321 -0
- package/vendor/theus-arsenal/skills/testing-e2e/SKILL.md +325 -0
- package/vendor/theus-arsenal/skills/testing-go/SKILL.md +719 -0
- package/vendor/theus-arsenal/skills/testing-kotlin/SKILL.md +829 -0
- package/vendor/theus-arsenal/skills/testing-perl/SKILL.md +479 -0
- package/vendor/theus-arsenal/skills/testing-protocolos-di-swift/SKILL.md +196 -0
- package/vendor/theus-arsenal/skills/testing-python/SKILL.md +815 -0
- package/vendor/theus-arsenal/skills/testing-react/SKILL.md +421 -0
- package/vendor/theus-arsenal/skills/testing-rust/SKILL.md +506 -0
- package/vendor/theus-arsenal/skills/tours-de-codigo/SKILL.md +252 -0
- package/vendor/theus-arsenal/skills/traduccion-documentos-visado/SKILL.md +121 -0
- package/vendor/theus-arsenal/skills/ui-a-vue/SKILL.md +141 -0
- package/vendor/theus-arsenal/skills/validacion-config-red/SKILL.md +211 -0
- package/vendor/theus-arsenal/skills/verificacion-django/SKILL.md +470 -0
- package/vendor/theus-arsenal/skills/verificacion-factual/SKILL.md +142 -0
- package/vendor/theus-arsenal/skills/verificacion-laravel/SKILL.md +184 -0
- package/vendor/theus-arsenal/skills/verificacion-quarkus/SKILL.md +485 -0
- package/vendor/theus-arsenal/skills/verificacion-springboot/SKILL.md +237 -0
- package/vendor/theus-arsenal/skills/videodb/SKILL.md +374 -0
- package/vendor/theus-arsenal/skills/videodb/reference/api-reference.md +550 -0
- package/vendor/theus-arsenal/skills/videodb/reference/capture-reference.md +407 -0
- package/vendor/theus-arsenal/skills/videodb/reference/capture.md +101 -0
- package/vendor/theus-arsenal/skills/videodb/reference/editor.md +443 -0
- package/vendor/theus-arsenal/skills/videodb/reference/generative.md +331 -0
- package/vendor/theus-arsenal/skills/videodb/reference/rtstream-reference.md +564 -0
- package/vendor/theus-arsenal/skills/videodb/reference/rtstream.md +65 -0
- package/vendor/theus-arsenal/skills/videodb/reference/search.md +230 -0
- package/vendor/theus-arsenal/skills/videodb/reference/streaming.md +406 -0
- package/vendor/theus-arsenal/skills/videodb/reference/use-cases.md +118 -0
- package/vendor/theus-arsenal/skills/videodb/scripts/ws_listener.py +279 -0
- package/vendor/theus-arsenal/skills/videos-manim/SKILL.md +91 -0
- package/vendor/theus-arsenal/skills/videos-manim/assets/network_graph_scene.py +52 -0
- package/vendor/theus-arsenal/skills/vigilancia-canary/SKILL.md +108 -0
- package/vendor/theus-arsenal/skills/voz-de-marca/SKILL.md +106 -0
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Aprendizaje continuo v2 - Bucle en segundo plano del observador
|
|
3
|
+
#
|
|
4
|
+
# Incluye guarda de reentrada, regulación con cooldown y muestreo por cola
|
|
5
|
+
# para evitar la explosión de memoria por procesos de análisis paralelos
|
|
6
|
+
# descontrolados.
|
|
7
|
+
|
|
8
|
+
set +e
|
|
9
|
+
unset THEUSCODE
|
|
10
|
+
|
|
11
|
+
SLEEP_PID=""
|
|
12
|
+
USR1_FIRED=0
|
|
13
|
+
PENDING_ANALYSIS=0
|
|
14
|
+
ANALYZING=0
|
|
15
|
+
LAST_ANALYSIS_EPOCH=0
|
|
16
|
+
# Segundos mínimos entre análisis (evita re-disparos rápidos)
|
|
17
|
+
ANALYSIS_COOLDOWN="${THEUS_OBSERVER_ANALYSIS_COOLDOWN:-60}"
|
|
18
|
+
IDLE_TIMEOUT_SECONDS="${THEUS_OBSERVER_IDLE_TIMEOUT_SECONDS:-1800}"
|
|
19
|
+
SESSION_LEASE_DIR="${PROJECT_DIR}/.observer-sessions"
|
|
20
|
+
ACTIVITY_FILE="${PROJECT_DIR}/.observer-last-activity"
|
|
21
|
+
|
|
22
|
+
# Resolver el directorio propio de este script para que los scripts hermanos
|
|
23
|
+
# (session-guardian.sh) y los helpers relativos (../scripts/instinct-cli.py)
|
|
24
|
+
# se resuelvan bien tanto si el archivo se ejecuta como si se carga con source.
|
|
25
|
+
# $0 es el *llamador* cuando se hace source, así que se prefiere
|
|
26
|
+
# ${BASH_SOURCE[0]}, que siempre apunta a este archivo.
|
|
27
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
28
|
+
|
|
29
|
+
cleanup() {
|
|
30
|
+
[ -n "$SLEEP_PID" ] && kill "$SLEEP_PID" 2>/dev/null
|
|
31
|
+
if [ -f "$PID_FILE" ] && [ "$(cat "$PID_FILE" 2>/dev/null)" = "$$" ]; then
|
|
32
|
+
rm -f "$PID_FILE"
|
|
33
|
+
fi
|
|
34
|
+
exit 0
|
|
35
|
+
}
|
|
36
|
+
trap cleanup TERM INT
|
|
37
|
+
|
|
38
|
+
file_mtime_epoch() {
|
|
39
|
+
local file="$1"
|
|
40
|
+
if [ ! -f "$file" ]; then
|
|
41
|
+
printf '0\n'
|
|
42
|
+
return
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
if stat -c %Y "$file" >/dev/null 2>&1; then
|
|
46
|
+
stat -c %Y "$file" 2>/dev/null || printf '0\n'
|
|
47
|
+
return
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
if stat -f %m "$file" >/dev/null 2>&1; then
|
|
51
|
+
stat -f %m "$file" 2>/dev/null || printf '0\n'
|
|
52
|
+
return
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
printf '0\n'
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
has_active_session_leases() {
|
|
59
|
+
if [ ! -d "$SESSION_LEASE_DIR" ]; then
|
|
60
|
+
return 1
|
|
61
|
+
fi
|
|
62
|
+
|
|
63
|
+
find "$SESSION_LEASE_DIR" -type f -name '*.json' -print -quit 2>/dev/null | grep -q .
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
latest_activity_epoch() {
|
|
67
|
+
local observations_epoch activity_epoch
|
|
68
|
+
observations_epoch="$(file_mtime_epoch "$OBSERVATIONS_FILE")"
|
|
69
|
+
activity_epoch="$(file_mtime_epoch "$ACTIVITY_FILE")"
|
|
70
|
+
|
|
71
|
+
if [ "$activity_epoch" -gt "$observations_epoch" ] 2>/dev/null; then
|
|
72
|
+
printf '%s\n' "$activity_epoch"
|
|
73
|
+
else
|
|
74
|
+
printf '%s\n' "$observations_epoch"
|
|
75
|
+
fi
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
exit_if_idle_without_sessions() {
|
|
79
|
+
if has_active_session_leases; then
|
|
80
|
+
return
|
|
81
|
+
fi
|
|
82
|
+
|
|
83
|
+
local last_activity now_epoch idle_for
|
|
84
|
+
last_activity="$(latest_activity_epoch)"
|
|
85
|
+
now_epoch="$(date +%s)"
|
|
86
|
+
idle_for=$(( now_epoch - last_activity ))
|
|
87
|
+
|
|
88
|
+
if [ "$last_activity" -eq 0 ] || [ "$idle_for" -ge "$IDLE_TIMEOUT_SECONDS" ]; then
|
|
89
|
+
echo "[$(date)] Observador inactivo sin leases de sesión activos durante ${idle_for}s; saliendo" >> "$LOG_FILE"
|
|
90
|
+
cleanup
|
|
91
|
+
fi
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
wait_for_agent_analysis() {
|
|
95
|
+
local child_pid="$1"
|
|
96
|
+
local wait_status=0
|
|
97
|
+
|
|
98
|
+
while true; do
|
|
99
|
+
wait "$child_pid"
|
|
100
|
+
wait_status=$?
|
|
101
|
+
|
|
102
|
+
if [ "$wait_status" -eq 0 ]; then
|
|
103
|
+
return 0
|
|
104
|
+
fi
|
|
105
|
+
|
|
106
|
+
# SIGUSR1 puede interrumpir wait mientras el proceso hijo del análisis
|
|
107
|
+
# sigue corriendo. En ese caso se vuelve a esperar para no registrar una
|
|
108
|
+
# señal como un falso fallo del hijo.
|
|
109
|
+
if kill -0 "$child_pid" 2>/dev/null; then
|
|
110
|
+
continue
|
|
111
|
+
fi
|
|
112
|
+
|
|
113
|
+
return "$wait_status"
|
|
114
|
+
done
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
analyze_observations() {
|
|
118
|
+
if [ ! -f "$OBSERVATIONS_FILE" ]; then
|
|
119
|
+
return
|
|
120
|
+
fi
|
|
121
|
+
|
|
122
|
+
obs_count=$(wc -l < "$OBSERVATIONS_FILE" 2>/dev/null || echo 0)
|
|
123
|
+
if [ "$obs_count" -lt "$MIN_OBSERVATIONS" ]; then
|
|
124
|
+
return
|
|
125
|
+
fi
|
|
126
|
+
|
|
127
|
+
echo "[$(date)] Analizando $obs_count observaciones del proyecto ${PROJECT_NAME}..." >> "$LOG_FILE"
|
|
128
|
+
|
|
129
|
+
if [ "${ACV2_IS_WINDOWS:-false}" = "true" ] && [ "${THEUS_OBSERVER_ALLOW_WINDOWS:-false}" != "true" ]; then
|
|
130
|
+
echo "[$(date)] Se omite el análisis en Windows por un problema conocido de cuelgue no interactivo. Define THEUS_OBSERVER_ALLOW_WINDOWS=true para forzarlo." >> "$LOG_FILE"
|
|
131
|
+
return
|
|
132
|
+
fi
|
|
133
|
+
|
|
134
|
+
if ! command -v theus >/dev/null 2>&1; then
|
|
135
|
+
echo "[$(date)] No se encontró el CLI de theus; se omite el análisis" >> "$LOG_FILE"
|
|
136
|
+
return
|
|
137
|
+
fi
|
|
138
|
+
|
|
139
|
+
# session-guardian: regula el ciclo del observador (horas activas, cooldown, detección de inactividad)
|
|
140
|
+
if ! bash "${SCRIPT_DIR}/session-guardian.sh"; then
|
|
141
|
+
echo "[$(date)] Ciclo del observador omitido por session-guardian" >> "$LOG_FILE"
|
|
142
|
+
return
|
|
143
|
+
fi
|
|
144
|
+
|
|
145
|
+
# Muestrear las observaciones recientes en lugar de cargar el archivo entero.
|
|
146
|
+
# Esto evita pasar payloads de varios MB al modelo.
|
|
147
|
+
MAX_ANALYSIS_LINES="${THEUS_OBSERVER_MAX_ANALYSIS_LINES:-500}"
|
|
148
|
+
observer_tmp_dir="${PROJECT_DIR}/.observer-tmp"
|
|
149
|
+
mkdir -p "$observer_tmp_dir"
|
|
150
|
+
# Mantener la corrida XXXXXX al final de la plantilla: el mktemp de BSD/macOS
|
|
151
|
+
# solo sustituye una corrida final de X, así que un sufijo después (p. ej.
|
|
152
|
+
# `.jsonl`) produce un nombre literal no aleatorio que atasca todos los ciclos
|
|
153
|
+
# posteriores con "File exists".
|
|
154
|
+
analysis_file="$(mktemp "${observer_tmp_dir}/arsenal-observer-analysis.jsonl.XXXXXX")"
|
|
155
|
+
tail -n "$MAX_ANALYSIS_LINES" "$OBSERVATIONS_FILE" > "$analysis_file"
|
|
156
|
+
analysis_count=$(wc -l < "$analysis_file" 2>/dev/null || echo 0)
|
|
157
|
+
echo "[$(date)] Se usan las últimas $analysis_count de $obs_count observaciones para el análisis" >> "$LOG_FILE"
|
|
158
|
+
|
|
159
|
+
# Usar una ruta relativa a PROJECT_DIR por compatibilidad multiplataforma.
|
|
160
|
+
# En Windows (Git Bash/MSYS2), las rutas absolutas de mktemp pueden usar
|
|
161
|
+
# prefijos estilo MSYS (p. ej. /c/Users/...) que el subproceso del agente
|
|
162
|
+
# no puede resolver.
|
|
163
|
+
analysis_relpath=".observer-tmp/$(basename "$analysis_file")"
|
|
164
|
+
|
|
165
|
+
prompt_file="$(mktemp "${observer_tmp_dir}/arsenal-observer-prompt.XXXXXX")"
|
|
166
|
+
cat > "$prompt_file" <<PROMPT
|
|
167
|
+
IMPORTANTE: Estás corriendo en modo --print no interactivo. DEBES usar la herramienta Write directamente para crear archivos. NO pidas permiso, NO pidas confirmación, NO devuelvas resúmenes en lugar de escribir. Solo lee, analiza y escribe.
|
|
168
|
+
|
|
169
|
+
Lee ${analysis_relpath} e identifica patrones para el proyecto ${PROJECT_NAME} (correcciones del usuario, resoluciones de errores, flujos repetidos, preferencias de herramientas).
|
|
170
|
+
Si encuentras 3+ ocurrencias del mismo patrón, DEBES escribir un archivo de instinto directamente en ${INSTINCTS_DIR}/<id>.md usando la herramienta Write.
|
|
171
|
+
NO pidas permiso para escribir archivos, NO describas lo que escribirías y NO te quedes en el análisis cuando exista un patrón que califica.
|
|
172
|
+
|
|
173
|
+
CRÍTICO: Todo archivo de instinto DEBE usar exactamente este formato:
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
id: nombre-en-kebab-case
|
|
177
|
+
trigger: cuando <condición específica>
|
|
178
|
+
confidence: <0.3-0.85 según frecuencia: 3-5 veces=0.5, 6-10=0.7, 11+=0.85>
|
|
179
|
+
domain: <uno de: code-style, testing, git, debugging, workflow, file-patterns>
|
|
180
|
+
source: session-observation
|
|
181
|
+
scope: project
|
|
182
|
+
project_id: ${PROJECT_ID}
|
|
183
|
+
project_name: ${PROJECT_NAME}
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
# Título
|
|
187
|
+
|
|
188
|
+
## Action
|
|
189
|
+
<qué hacer, en una frase clara>
|
|
190
|
+
|
|
191
|
+
## Evidence
|
|
192
|
+
- Observado N veces en la sesión <id>
|
|
193
|
+
- Patrón: <descripción>
|
|
194
|
+
- Última observación: <fecha>
|
|
195
|
+
|
|
196
|
+
Reglas:
|
|
197
|
+
- Sé conservador: solo patrones claros con 3+ observaciones
|
|
198
|
+
- Usa disparadores estrechos y específicos
|
|
199
|
+
- Nunca incluyas fragmentos de código reales; describe solo los patrones
|
|
200
|
+
- Cuando exista un patrón que califica, escribe o actualiza el archivo de instinto en esta ejecución en lugar de pedir confirmación
|
|
201
|
+
- Si ya existe un instinto similar en ${INSTINCTS_DIR}/, actualízalo en lugar de crear un duplicado
|
|
202
|
+
- El frontmatter YAML (entre marcadores ---) con el campo id es OBLIGATORIO
|
|
203
|
+
- Si un patrón parece universal (no específico del proyecto), usa scope global en vez de project
|
|
204
|
+
- Ejemplos de patrones globales: validar siempre la entrada del usuario, preferir manejo de errores explícito
|
|
205
|
+
- Ejemplos de patrones de proyecto: usar componentes funcionales de React, seguir las convenciones de Django REST framework
|
|
206
|
+
PROMPT
|
|
207
|
+
|
|
208
|
+
# Leer el prompt a memoria antes de lanzar el subproceso del agente.
|
|
209
|
+
# En Windows/MSYS2, la ruta de mktemp puede diferir de la resolución de rutas
|
|
210
|
+
# posterior del shell, así que apoyarse en cat "$prompt_file" dentro de la
|
|
211
|
+
# invocación puede fallar aunque el archivo se haya creado bien.
|
|
212
|
+
prompt_content="$(cat "$prompt_file" 2>/dev/null || true)"
|
|
213
|
+
rm -f "$prompt_file"
|
|
214
|
+
if [ -z "$prompt_content" ]; then
|
|
215
|
+
echo "[$(date)] No se pudo cargar el contenido del prompt del observador; se omite el análisis" >> "$LOG_FILE"
|
|
216
|
+
rm -f "$analysis_file"
|
|
217
|
+
return
|
|
218
|
+
fi
|
|
219
|
+
|
|
220
|
+
timeout_seconds="${THEUS_OBSERVER_TIMEOUT_SECONDS:-120}"
|
|
221
|
+
# Autoescalar max_turns en proporción al tamaño del lote cuando no se define
|
|
222
|
+
# explícitamente. Un valor fijo de 20 es insuficiente para el valor por
|
|
223
|
+
# defecto de 500 líneas de MAX_ANALYSIS_LINES: el agente agota --max-turns
|
|
224
|
+
# antes de poder escribir todos los archivos de instinto descubiertos.
|
|
225
|
+
# Fórmula: 1 turno por cada 10 líneas de análisis, mínimo 20, tope 100.
|
|
226
|
+
if [ -n "${THEUS_OBSERVER_MAX_TURNS:-}" ]; then
|
|
227
|
+
max_turns="${THEUS_OBSERVER_MAX_TURNS}"
|
|
228
|
+
else
|
|
229
|
+
max_turns=$(( analysis_count / 10 ))
|
|
230
|
+
if [ "$max_turns" -lt 20 ]; then max_turns=20; fi
|
|
231
|
+
if [ "$max_turns" -gt 100 ]; then max_turns=100; fi
|
|
232
|
+
fi
|
|
233
|
+
exit_code=0
|
|
234
|
+
|
|
235
|
+
# Sanear max_turns. La ruta autoescalada de arriba siempre da un valor válido
|
|
236
|
+
# >=20, pero un override explícito de THEUS_OBSERVER_MAX_TURNS puede ser no
|
|
237
|
+
# numérico, vacío o demasiado pequeño; aquí se protege y se cae al valor
|
|
238
|
+
# seguro de 20.
|
|
239
|
+
case "$max_turns" in
|
|
240
|
+
''|*[!0-9]*)
|
|
241
|
+
max_turns=20
|
|
242
|
+
;;
|
|
243
|
+
esac
|
|
244
|
+
|
|
245
|
+
if [ "$max_turns" -lt 4 ]; then
|
|
246
|
+
max_turns=20
|
|
247
|
+
fi
|
|
248
|
+
|
|
249
|
+
# Asegurar que el CWD sea PROJECT_DIR para que la ruta relativa
|
|
250
|
+
# analysis_relpath se resuelva bien en todas las plataformas, no solo cuando
|
|
251
|
+
# el observador se lanzó desde la raíz del proyecto.
|
|
252
|
+
cd "$PROJECT_DIR" || { echo "[$(date)] No se pudo hacer cd a PROJECT_DIR ($PROJECT_DIR); se omite el análisis" >> "$LOG_FILE"; rm -f "$analysis_file"; return; }
|
|
253
|
+
|
|
254
|
+
# Evitar que observe.sh registre esta sesión automatizada del observador
|
|
255
|
+
# como observaciones. El prompt se pasa con -p en lugar de redirigir stdin,
|
|
256
|
+
# por compatibilidad con Windows. prompt_content ya está en memoria, así que
|
|
257
|
+
# esto no depende de que la ruta absoluta de mktemp siga resolviéndose tras
|
|
258
|
+
# cambiar de cwd.
|
|
259
|
+
# El modelo es configurable vía THEUS_OBSERVER_MODEL; si no se define, el CLI
|
|
260
|
+
# usa su modelo por defecto. Los modelos más pesados son más lentos —
|
|
261
|
+
# considera subir THEUS_OBSERVER_TIMEOUT_SECONDS (120 s por defecto) para que
|
|
262
|
+
# el watchdog no mate el análisis a medias.
|
|
263
|
+
observer_model_args=()
|
|
264
|
+
if [ -n "${THEUS_OBSERVER_MODEL:-}" ]; then
|
|
265
|
+
observer_model_args=(--model "${THEUS_OBSERVER_MODEL}")
|
|
266
|
+
fi
|
|
267
|
+
THEUS_SKIP_OBSERVE=1 THEUS_HOOK_PROFILE=minimal theus "${observer_model_args[@]}" --max-turns "$max_turns" --print \
|
|
268
|
+
--allowedTools "Read,Write" \
|
|
269
|
+
-p "$prompt_content" >> "$LOG_FILE" 2>&1 &
|
|
270
|
+
agent_pid=$!
|
|
271
|
+
|
|
272
|
+
(
|
|
273
|
+
sleep "$timeout_seconds"
|
|
274
|
+
if kill -0 "$agent_pid" 2>/dev/null; then
|
|
275
|
+
echo "[$(date)] El análisis del agente superó los ${timeout_seconds}s; terminando el proceso" >> "$LOG_FILE"
|
|
276
|
+
kill "$agent_pid" 2>/dev/null || true
|
|
277
|
+
fi
|
|
278
|
+
) &
|
|
279
|
+
watchdog_pid=$!
|
|
280
|
+
|
|
281
|
+
wait_for_agent_analysis "$agent_pid"
|
|
282
|
+
exit_code=$?
|
|
283
|
+
kill "$watchdog_pid" 2>/dev/null || true
|
|
284
|
+
rm -f "$analysis_file"
|
|
285
|
+
|
|
286
|
+
if [ "$exit_code" -ne 0 ]; then
|
|
287
|
+
echo "[$(date)] El análisis del agente falló (exit $exit_code); se conservan las observaciones para reintentar" >> "$LOG_FILE"
|
|
288
|
+
return
|
|
289
|
+
fi
|
|
290
|
+
|
|
291
|
+
# Archivar las observaciones solo tras un análisis exitoso. Un fallo
|
|
292
|
+
# transitorio (timeout, salida distinta de cero, límite de tasa) no debe
|
|
293
|
+
# descartar el lote antes de convertirse en instintos, ya que el analizador
|
|
294
|
+
# solo lee el archivo de observaciones vivo.
|
|
295
|
+
if [ -f "$OBSERVATIONS_FILE" ]; then
|
|
296
|
+
archive_dir="${PROJECT_DIR}/observations.archive"
|
|
297
|
+
mkdir -p "$archive_dir"
|
|
298
|
+
mv "$OBSERVATIONS_FILE" "$archive_dir/processed-$(date +%Y%m%d-%H%M%S)-$$.jsonl" 2>/dev/null || true
|
|
299
|
+
fi
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
on_usr1() {
|
|
303
|
+
[ -n "$SLEEP_PID" ] && kill "$SLEEP_PID" 2>/dev/null
|
|
304
|
+
SLEEP_PID=""
|
|
305
|
+
|
|
306
|
+
# Guarda de reentrada: diferir el aviso para que el bucle principal ejecute
|
|
307
|
+
# un análisis de seguimiento justo al terminar el análisis en curso.
|
|
308
|
+
if [ "$ANALYZING" -eq 1 ]; then
|
|
309
|
+
PENDING_ANALYSIS=1
|
|
310
|
+
echo "[$(date)] Análisis ya en curso; se difiere la señal" >> "$LOG_FILE"
|
|
311
|
+
return
|
|
312
|
+
fi
|
|
313
|
+
|
|
314
|
+
USR1_FIRED=1
|
|
315
|
+
|
|
316
|
+
# Cooldown: omitir si el último análisis fue demasiado reciente
|
|
317
|
+
now_epoch=$(date +%s)
|
|
318
|
+
elapsed=$(( now_epoch - LAST_ANALYSIS_EPOCH ))
|
|
319
|
+
if [ "$elapsed" -lt "$ANALYSIS_COOLDOWN" ]; then
|
|
320
|
+
echo "[$(date)] Cooldown de análisis activo (${elapsed}s < ${ANALYSIS_COOLDOWN}s); se omite" >> "$LOG_FILE"
|
|
321
|
+
return
|
|
322
|
+
fi
|
|
323
|
+
|
|
324
|
+
ANALYZING=1
|
|
325
|
+
analyze_observations
|
|
326
|
+
LAST_ANALYSIS_EPOCH=$(date +%s)
|
|
327
|
+
ANALYZING=0
|
|
328
|
+
}
|
|
329
|
+
trap on_usr1 USR1
|
|
330
|
+
|
|
331
|
+
# Cuando este archivo se carga con source (p. ej. desde tests) en lugar de
|
|
332
|
+
# ejecutarse, se detiene aquí para que quien llama pueda invocar funciones
|
|
333
|
+
# individuales como analyze_observations sin iniciar el bucle del observador.
|
|
334
|
+
# El único llamador de producción (start-observer.sh) ejecuta el script, así
|
|
335
|
+
# que allí $0 es igual a BASH_SOURCE[0] y esta guarda no hace nada.
|
|
336
|
+
if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
|
|
337
|
+
return 0 2>/dev/null || true
|
|
338
|
+
fi
|
|
339
|
+
|
|
340
|
+
echo "$$" > "$PID_FILE"
|
|
341
|
+
echo "[$(date)] Observador iniciado para ${PROJECT_NAME} (PID: $$)" >> "$LOG_FILE"
|
|
342
|
+
|
|
343
|
+
# Podar los instintos pendientes caducados antes del análisis (SCRIPT_DIR se
|
|
344
|
+
# resolvió arriba con ${BASH_SOURCE[0]}, correcto tanto en ejecución como en source).
|
|
345
|
+
"${ACV2_PYTHON_CMD:-python3}" "${SCRIPT_DIR}/../scripts/instinct-cli.py" prune --quiet >> "$LOG_FILE" 2>&1 || echo "[$(date)] Aviso: falló la poda de instintos (no fatal)" >> "$LOG_FILE"
|
|
346
|
+
|
|
347
|
+
while true; do
|
|
348
|
+
exit_if_idle_without_sessions
|
|
349
|
+
|
|
350
|
+
if [ "$PENDING_ANALYSIS" -eq 1 ]; then
|
|
351
|
+
PENDING_ANALYSIS=0
|
|
352
|
+
USR1_FIRED=0
|
|
353
|
+
ANALYZING=1
|
|
354
|
+
analyze_observations
|
|
355
|
+
LAST_ANALYSIS_EPOCH=$(date +%s)
|
|
356
|
+
ANALYZING=0
|
|
357
|
+
continue
|
|
358
|
+
fi
|
|
359
|
+
|
|
360
|
+
sleep "$OBSERVER_INTERVAL_SECONDS" &
|
|
361
|
+
SLEEP_PID=$!
|
|
362
|
+
wait "$SLEEP_PID" 2>/dev/null
|
|
363
|
+
SLEEP_PID=""
|
|
364
|
+
|
|
365
|
+
exit_if_idle_without_sessions
|
|
366
|
+
if [ "$USR1_FIRED" -eq 1 ]; then
|
|
367
|
+
USR1_FIRED=0
|
|
368
|
+
else
|
|
369
|
+
ANALYZING=1
|
|
370
|
+
analyze_observations
|
|
371
|
+
LAST_ANALYSIS_EPOCH=$(date +%s)
|
|
372
|
+
ANALYZING=0
|
|
373
|
+
fi
|
|
374
|
+
done
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: observer
|
|
3
|
+
description: Agente en segundo plano que analiza las observaciones de sesión para detectar patrones y crear instintos. Usa un modelo económico para reducir costos. La v2.1 añade instintos con ámbito de proyecto.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Agente observador
|
|
7
|
+
|
|
8
|
+
Un agente en segundo plano que analiza las observaciones de las sesiones del CLI para detectar patrones y crear instintos.
|
|
9
|
+
|
|
10
|
+
## Cuándo se ejecuta
|
|
11
|
+
|
|
12
|
+
- Cuando se acumulan suficientes observaciones (configurable, por defecto 20)
|
|
13
|
+
- En un intervalo programado (configurable, por defecto 5 minutos)
|
|
14
|
+
- Bajo demanda, mediante SIGUSR1 al proceso observador
|
|
15
|
+
|
|
16
|
+
## Entrada
|
|
17
|
+
|
|
18
|
+
Lee las observaciones del archivo de observaciones **con ámbito de proyecto**:
|
|
19
|
+
- Proyecto: `~/.theus/arsenal/projects/<hash-proyecto>/observations.jsonl`
|
|
20
|
+
- Fallback global: `~/.theus/arsenal/observations.jsonl`
|
|
21
|
+
|
|
22
|
+
```jsonl
|
|
23
|
+
{"timestamp":"2025-01-22T10:30:00Z","event":"tool_start","session":"abc123","tool":"Edit","input":"...","project_id":"a1b2c3d4e5f6","project_name":"mi-app-react"}
|
|
24
|
+
{"timestamp":"2025-01-22T10:30:01Z","event":"tool_complete","session":"abc123","tool":"Edit","output":"...","project_id":"a1b2c3d4e5f6","project_name":"mi-app-react"}
|
|
25
|
+
{"timestamp":"2025-01-22T10:30:05Z","event":"tool_start","session":"abc123","tool":"Bash","input":"npm test","project_id":"a1b2c3d4e5f6","project_name":"mi-app-react"}
|
|
26
|
+
{"timestamp":"2025-01-22T10:30:10Z","event":"tool_complete","session":"abc123","tool":"Bash","output":"Todos los tests pasan","project_id":"a1b2c3d4e5f6","project_name":"mi-app-react"}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Detección de patrones
|
|
30
|
+
|
|
31
|
+
Busca estos patrones en las observaciones:
|
|
32
|
+
|
|
33
|
+
### 1. Correcciones del usuario
|
|
34
|
+
Cuando un mensaje posterior del usuario corrige la acción previa del agente:
|
|
35
|
+
- "No, usa X en vez de Y"
|
|
36
|
+
- "En realidad quería decir…"
|
|
37
|
+
- Patrones inmediatos de deshacer/rehacer
|
|
38
|
+
|
|
39
|
+
→ Crear instinto: "Al hacer X, prefiere Y"
|
|
40
|
+
|
|
41
|
+
### 2. Resoluciones de errores
|
|
42
|
+
Cuando a un error le sigue una corrección:
|
|
43
|
+
- La salida de la herramienta contiene un error
|
|
44
|
+
- Las siguientes llamadas a herramientas lo arreglan
|
|
45
|
+
- El mismo tipo de error se resuelve igual varias veces
|
|
46
|
+
|
|
47
|
+
→ Crear instinto: "Al encontrar el error X, prueba Y"
|
|
48
|
+
|
|
49
|
+
### 3. Flujos de trabajo repetidos
|
|
50
|
+
Cuando la misma secuencia de herramientas se usa varias veces:
|
|
51
|
+
- Misma secuencia de herramientas con entradas similares
|
|
52
|
+
- Patrones de archivos que cambian juntos
|
|
53
|
+
- Operaciones agrupadas en el tiempo
|
|
54
|
+
|
|
55
|
+
→ Crear instinto de flujo: "Al hacer X, sigue los pasos Y, Z, W"
|
|
56
|
+
|
|
57
|
+
### 4. Preferencias de herramientas
|
|
58
|
+
Cuando ciertas herramientas se prefieren de forma consistente:
|
|
59
|
+
- Siempre usa Grep antes de Edit
|
|
60
|
+
- Prefiere Read a `cat` en Bash
|
|
61
|
+
- Usa comandos Bash específicos para ciertas tareas
|
|
62
|
+
|
|
63
|
+
→ Crear instinto: "Al necesitar X, usa la herramienta Y"
|
|
64
|
+
|
|
65
|
+
## Salida
|
|
66
|
+
|
|
67
|
+
Crea/actualiza instintos en el directorio de instintos **con ámbito de proyecto**:
|
|
68
|
+
- Proyecto: `~/.theus/arsenal/projects/<hash-proyecto>/instincts/personal/`
|
|
69
|
+
- Global: `~/.theus/arsenal/instincts/personal/` (para patrones universales)
|
|
70
|
+
|
|
71
|
+
### Instinto con ámbito de proyecto (por defecto)
|
|
72
|
+
|
|
73
|
+
```yaml
|
|
74
|
+
---
|
|
75
|
+
id: use-react-hooks-pattern
|
|
76
|
+
trigger: "al crear componentes React"
|
|
77
|
+
confidence: 0.65
|
|
78
|
+
domain: "code-style"
|
|
79
|
+
source: "session-observation"
|
|
80
|
+
scope: project
|
|
81
|
+
project_id: "a1b2c3d4e5f6"
|
|
82
|
+
project_name: "mi-app-react"
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
# Usar el patrón de hooks de React
|
|
86
|
+
|
|
87
|
+
## Action
|
|
88
|
+
Usar siempre componentes funcionales con hooks en lugar de componentes de clase.
|
|
89
|
+
|
|
90
|
+
## Evidence
|
|
91
|
+
- Observado 8 veces en la sesión abc123
|
|
92
|
+
- Patrón: todos los componentes nuevos usan useState/useEffect
|
|
93
|
+
- Última observación: 2025-01-22
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Instinto global (patrones universales)
|
|
97
|
+
|
|
98
|
+
```yaml
|
|
99
|
+
---
|
|
100
|
+
id: always-validate-user-input
|
|
101
|
+
trigger: "al manejar entrada del usuario"
|
|
102
|
+
confidence: 0.75
|
|
103
|
+
domain: "security"
|
|
104
|
+
source: "session-observation"
|
|
105
|
+
scope: global
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
# Validar siempre la entrada del usuario
|
|
109
|
+
|
|
110
|
+
## Action
|
|
111
|
+
Validar y sanear toda entrada del usuario antes de procesarla.
|
|
112
|
+
|
|
113
|
+
## Evidence
|
|
114
|
+
- Observado en 3 proyectos distintos
|
|
115
|
+
- Patrón: el usuario añade validación de entrada de forma consistente
|
|
116
|
+
- Última observación: 2025-01-22
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Guía de decisión de ámbito
|
|
120
|
+
|
|
121
|
+
Al crear instintos, determina el ámbito según estas heurísticas:
|
|
122
|
+
|
|
123
|
+
> **Guía de decisión de ámbito** — consulta la tabla canónica bajo el encabezado "Guía de decisión de ámbito" en el `SKILL.md` de `aprendizaje-continuo-v2`.
|
|
124
|
+
|
|
125
|
+
**Ante la duda, usa `scope: project` por defecto** — es más seguro ser específico del proyecto y promover después que contaminar el espacio global.
|
|
126
|
+
|
|
127
|
+
## Cálculo de confianza
|
|
128
|
+
|
|
129
|
+
Confianza inicial según la frecuencia de observación:
|
|
130
|
+
- 1-2 observaciones: 0.3 (tentativo)
|
|
131
|
+
- 3-5 observaciones: 0.5 (moderado)
|
|
132
|
+
- 6-10 observaciones: 0.7 (fuerte)
|
|
133
|
+
- 11+ observaciones: 0.85 (muy fuerte)
|
|
134
|
+
|
|
135
|
+
La confianza se ajusta con el tiempo:
|
|
136
|
+
- +0.05 por cada observación que confirma
|
|
137
|
+
- -0.1 por cada observación que contradice
|
|
138
|
+
- -0.02 por semana sin observaciones (decaimiento)
|
|
139
|
+
|
|
140
|
+
## Promoción de instintos (proyecto → global)
|
|
141
|
+
|
|
142
|
+
Un instinto debe promoverse de ámbito de proyecto a global cuando:
|
|
143
|
+
1. El **mismo patrón** (por id o disparador similar) existe en **2+ proyectos distintos**
|
|
144
|
+
2. La confianza media entre instancias es **>= 0.8**
|
|
145
|
+
3. El dominio está en la lista apta para global (security, general-best-practices, workflow)
|
|
146
|
+
|
|
147
|
+
La promoción la gestiona el comando `instinct-cli.py promote` o el análisis de `/evolucionar`.
|
|
148
|
+
|
|
149
|
+
## Directrices importantes
|
|
150
|
+
|
|
151
|
+
1. **Sé conservador**: crea instintos solo para patrones claros (3+ observaciones)
|
|
152
|
+
2. **Sé específico**: los disparadores estrechos son mejores que los amplios
|
|
153
|
+
3. **Registra la evidencia**: incluye siempre qué observaciones originaron el instinto
|
|
154
|
+
4. **Respeta la privacidad**: nunca incluyas fragmentos de código reales, solo patrones
|
|
155
|
+
5. **Fusiona lo similar**: si un instinto nuevo se parece a uno existente, actualízalo en vez de duplicarlo
|
|
156
|
+
6. **Ámbito de proyecto por defecto**: salvo que el patrón sea claramente universal, hazlo de ámbito de proyecto
|
|
157
|
+
7. **Incluye el contexto del proyecto**: define siempre `project_id` y `project_name` en los instintos de proyecto
|
|
158
|
+
|
|
159
|
+
## Sesión de análisis de ejemplo
|
|
160
|
+
|
|
161
|
+
Dadas las observaciones:
|
|
162
|
+
```jsonl
|
|
163
|
+
{"event":"tool_start","tool":"Grep","input":"pattern: useState","project_id":"a1b2c3","project_name":"mi-app"}
|
|
164
|
+
{"event":"tool_complete","tool":"Grep","output":"Encontrado en 3 archivos","project_id":"a1b2c3","project_name":"mi-app"}
|
|
165
|
+
{"event":"tool_start","tool":"Read","input":"src/hooks/useAuth.ts","project_id":"a1b2c3","project_name":"mi-app"}
|
|
166
|
+
{"event":"tool_complete","tool":"Read","output":"[contenido del archivo]","project_id":"a1b2c3","project_name":"mi-app"}
|
|
167
|
+
{"event":"tool_start","tool":"Edit","input":"src/hooks/useAuth.ts...","project_id":"a1b2c3","project_name":"mi-app"}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Análisis:
|
|
171
|
+
- Flujo detectado: Grep → Read → Edit
|
|
172
|
+
- Frecuencia: visto 5 veces en esta sesión
|
|
173
|
+
- **Decisión de ámbito**: es un patrón de flujo general (no específico del proyecto) → **global**
|
|
174
|
+
- Crear instinto:
|
|
175
|
+
- trigger: "al modificar código"
|
|
176
|
+
- action: "Buscar con Grep, confirmar con Read y después Edit"
|
|
177
|
+
- confidence: 0.6
|
|
178
|
+
- domain: "workflow"
|
|
179
|
+
- scope: "global"
|
|
180
|
+
|
|
181
|
+
## Integración con el generador de skills
|
|
182
|
+
|
|
183
|
+
Cuando los instintos se importan desde un análisis de repositorio, traen:
|
|
184
|
+
- `source: "repo-analysis"`
|
|
185
|
+
- `source_repo: "https://..."`
|
|
186
|
+
- `scope: "project"` (porque provienen de un repo concreto)
|
|
187
|
+
|
|
188
|
+
Deben tratarse como convenciones de equipo/proyecto con confianza inicial más alta (0.7+).
|