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,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.ets"
|
|
4
|
+
- "**/*.ts"
|
|
5
|
+
- "**/module.json5"
|
|
6
|
+
- "**/oh-package.json5"
|
|
7
|
+
---
|
|
8
|
+
# Hooks para HarmonyOS / ArkTS
|
|
9
|
+
|
|
10
|
+
> Este archivo extiende [common/hooks.md](../common/hooks.md) con hooks de compilación y validación específicos de HarmonyOS.
|
|
11
|
+
|
|
12
|
+
## Comandos de build
|
|
13
|
+
|
|
14
|
+
### Compilar el paquete HAP
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Compilar el paquete HAP (entorno hvigor global)
|
|
18
|
+
hvigorw assembleHap -p product=default
|
|
19
|
+
|
|
20
|
+
# Compilar un módulo concreto
|
|
21
|
+
hvigorw assembleHap -p module=entry -p product=default
|
|
22
|
+
|
|
23
|
+
# Compilación limpia
|
|
24
|
+
hvigorw clean
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### CLI de DevEco Studio
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Comprobar la estructura del proyecto
|
|
31
|
+
hvigorw --version
|
|
32
|
+
|
|
33
|
+
# Instalar dependencias
|
|
34
|
+
ohpm install
|
|
35
|
+
|
|
36
|
+
# Actualizar dependencias
|
|
37
|
+
ohpm update
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Hooks PostToolUse recomendados
|
|
41
|
+
|
|
42
|
+
Configúralos en `~/.theus/settings.json`:
|
|
43
|
+
|
|
44
|
+
- **Tras editar archivos `.ets`/`.ts`**: ejecuta el build de hvigor para detectar errores de compilación de ArkTS. Comando sugerido (asíncrono, timeout amplio, ~60 s):
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
hvigorw assembleHap -p product=default 2>&1 | tail -20
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
- **Tras editar `module.json5`**: emite un recordatorio para verificar las declaraciones de permisos y abilities, por ejemplo:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
echo '[HarmonyOS] module.json5 modificado - verifica permisos y abilities'
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
- **Tras editar `oh-package.json5`**: reinstala las dependencias (asíncrono, ~30 s):
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
ohpm install 2>&1 | tail -10
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Hooks PreToolUse
|
|
63
|
+
|
|
64
|
+
- **Guardia de decoradores V1**: antes de escribir o editar archivos `.ets`, emite un recordatorio de que los decoradores V1 están prohibidos:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
echo '[HarmonyOS] Recordatorio: usa @ComponentV2 / @Local / @Param - los decoradores V1 (@State, @Prop, @Link) están prohibidos'
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Checklist de validación
|
|
71
|
+
|
|
72
|
+
Después de cada ciclo de implementación, verifica:
|
|
73
|
+
|
|
74
|
+
- [ ] `hvigorw assembleHap` termina sin errores
|
|
75
|
+
- [ ] No hay decoradores V1 en archivos `.ets` nuevos o modificados
|
|
76
|
+
- [ ] No hay imports de `@ohos.router` en archivos nuevos o modificados
|
|
77
|
+
- [ ] Todos los permisos de API están declarados en `module.json5`
|
|
78
|
+
- [ ] Todas las dependencias están listadas en `oh-package.json5`
|
|
79
|
+
- [ ] Las cadenas de recursos están añadidas en todos los directorios de i18n
|
|
80
|
+
- [ ] Los recursos de color nuevos incluyen su variante para tema oscuro
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.ets"
|
|
4
|
+
- "**/*.ts"
|
|
5
|
+
---
|
|
6
|
+
# Patrones de HarmonyOS / ArkTS
|
|
7
|
+
|
|
8
|
+
> Este archivo extiende [common/patterns.md](../common/patterns.md) con patrones específicos de HarmonyOS y ArkTS.
|
|
9
|
+
|
|
10
|
+
## Gestión de estado: solo V2
|
|
11
|
+
|
|
12
|
+
**DEBES usar** ArkUI State Management V2. Los decoradores V1 están obsoletos y no deben usarse.
|
|
13
|
+
|
|
14
|
+
### Decoradores V2
|
|
15
|
+
|
|
16
|
+
| Decorador | Propósito |
|
|
17
|
+
|-----------|-----------|
|
|
18
|
+
| `@ComponentV2` | Marca un struct como componente V2 |
|
|
19
|
+
| `@Local` | Estado local dentro de un componente |
|
|
20
|
+
| `@Param` | Props recibidas del padre (solo lectura) |
|
|
21
|
+
| `@Event` | Eventos callback de hijo a padre |
|
|
22
|
+
| `@Provider` | Provee estado a los componentes descendientes |
|
|
23
|
+
| `@Consumer` | Consume estado de un `@Provider` ancestro |
|
|
24
|
+
| `@Monitor` | Observa cambios de estado (reemplaza al `@Watch` de V1) |
|
|
25
|
+
| `@Computed` | Valores derivados/calculados |
|
|
26
|
+
| `@ObservedV2` | Hace observable una clase para la gestión de estado V2 |
|
|
27
|
+
| `@Trace` | Marca propiedades observables en clases `@ObservedV2` |
|
|
28
|
+
|
|
29
|
+
### Decoradores V1 prohibidos
|
|
30
|
+
|
|
31
|
+
Nunca uses: `@State`, `@Prop`, `@Link`, `@ObjectLink`, `@Observed`, `@Provide`, `@Consume`, `@Watch`, `@Component` (usa `@ComponentV2` en su lugar).
|
|
32
|
+
|
|
33
|
+
### Ejemplo de componente V2
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
@ObservedV2
|
|
37
|
+
class UserModel {
|
|
38
|
+
@Trace name: string = ''
|
|
39
|
+
@Trace age: number = 0
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@ComponentV2
|
|
43
|
+
struct UserCard {
|
|
44
|
+
@Param user: UserModel = new UserModel()
|
|
45
|
+
@Event onDelete: () => void = () => {}
|
|
46
|
+
|
|
47
|
+
build() {
|
|
48
|
+
Column() {
|
|
49
|
+
Text(this.user.name)
|
|
50
|
+
.fontSize($r('app.float.font_size_title'))
|
|
51
|
+
Text(`${this.user.age}`)
|
|
52
|
+
.fontSize($r('app.float.font_size_body'))
|
|
53
|
+
Button($r('app.string.delete'))
|
|
54
|
+
.onClick(() => this.onDelete())
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Sincronización de estado
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
63
|
+
@ComponentV2
|
|
64
|
+
struct ParentPage {
|
|
65
|
+
@Provider('userState') userModel: UserModel = new UserModel()
|
|
66
|
+
|
|
67
|
+
build() {
|
|
68
|
+
Column() {
|
|
69
|
+
ChildComponent() // recibe automáticamente @Consumer('userState')
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@ComponentV2
|
|
75
|
+
struct ChildComponent {
|
|
76
|
+
@Consumer('userState') userModel: UserModel = new UserModel()
|
|
77
|
+
|
|
78
|
+
build() {
|
|
79
|
+
Text(this.userModel.name)
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Enrutamiento: solo Navigation
|
|
85
|
+
|
|
86
|
+
**DEBES usar** el componente `Navigation` con `NavPathStack`. Nunca uses `@ohos.router`.
|
|
87
|
+
|
|
88
|
+
### Configuración de Navigation
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
@ComponentV2
|
|
92
|
+
struct MainPage {
|
|
93
|
+
@Local navPathStack: NavPathStack = new NavPathStack()
|
|
94
|
+
|
|
95
|
+
build() {
|
|
96
|
+
Navigation(this.navPathStack) {
|
|
97
|
+
// Contenido de la pantalla principal
|
|
98
|
+
}
|
|
99
|
+
.navDestination(this.routerMap)
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@Builder
|
|
103
|
+
routerMap(name: string, param: ESObject) {
|
|
104
|
+
if (name === 'detail') {
|
|
105
|
+
DetailPage()
|
|
106
|
+
} else if (name === 'settings') {
|
|
107
|
+
SettingsPage()
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Navegación entre páginas
|
|
114
|
+
|
|
115
|
+
```typescript
|
|
116
|
+
// Apilar una página nueva
|
|
117
|
+
this.navPathStack.pushPath({ name: 'detail', param: { id: '123' } })
|
|
118
|
+
|
|
119
|
+
// Reemplazar la página actual
|
|
120
|
+
this.navPathStack.replacePath({ name: 'settings' })
|
|
121
|
+
|
|
122
|
+
// Volver atrás
|
|
123
|
+
this.navPathStack.pop()
|
|
124
|
+
|
|
125
|
+
// Volver a la raíz
|
|
126
|
+
this.navPathStack.clear()
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Subpágina NavDestination
|
|
130
|
+
|
|
131
|
+
```typescript
|
|
132
|
+
@ComponentV2
|
|
133
|
+
struct DetailPage {
|
|
134
|
+
build() {
|
|
135
|
+
NavDestination() {
|
|
136
|
+
Column() {
|
|
137
|
+
Text($r('app.string.detail_title'))
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
.title($r('app.string.detail_nav_title'))
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Patrón de arquitectura: MVVM
|
|
146
|
+
|
|
147
|
+
Arquitectura recomendada para aplicaciones HarmonyOS:
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
feature/
|
|
151
|
+
|-- model/ # Modelos de datos (clases @ObservedV2)
|
|
152
|
+
|-- viewmodel/ # Lógica de negocio (clases ViewModel)
|
|
153
|
+
|-- view/ # Componentes de UI (structs @ComponentV2)
|
|
154
|
+
|-- service/ # Llamadas a API, acceso a datos
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
- **View**: solo lógica de renderizado; nada de lógica de negocio en `build()`
|
|
158
|
+
- **ViewModel**: toda la lógica de negocio encapsulada aquí
|
|
159
|
+
- **Model**: clases de datos puras con `@ObservedV2` y `@Trace`
|
|
160
|
+
- **Service**: peticiones de red, operaciones de base de datos, E/S de archivos
|
|
161
|
+
|
|
162
|
+
## Patrones de animación en ArkUI
|
|
163
|
+
|
|
164
|
+
### Animación dirigida por estado
|
|
165
|
+
|
|
166
|
+
```typescript
|
|
167
|
+
@ComponentV2
|
|
168
|
+
struct AnimatedCard {
|
|
169
|
+
@Local isExpanded: boolean = false
|
|
170
|
+
@Local cardScale: number = 0.8
|
|
171
|
+
|
|
172
|
+
build() {
|
|
173
|
+
Column() {
|
|
174
|
+
// Contenido
|
|
175
|
+
}
|
|
176
|
+
.scale({ x: this.cardScale, y: this.cardScale })
|
|
177
|
+
.animation({ duration: 300, curve: Curve.EaseInOut })
|
|
178
|
+
.onClick(() => {
|
|
179
|
+
this.isExpanded = !this.isExpanded
|
|
180
|
+
this.cardScale = this.isExpanded ? 1.0 : 0.8
|
|
181
|
+
})
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Reglas de animación
|
|
187
|
+
|
|
188
|
+
- Prefiere las APIs de animación nativas de HarmonyOS y las plantillas avanzadas
|
|
189
|
+
- Usa UI declarativa con animaciones dirigidas por estado (cambia variables de estado para disparar animaciones)
|
|
190
|
+
- Activa `renderGroup(true)` en animaciones de subcomponentes complejas para reducir los lotes de renderizado
|
|
191
|
+
- **NUNCA** cambies con frecuencia `width`, `height`, `padding` o `margin` durante una animación: el impacto en rendimiento es severo
|
|
192
|
+
- Usa `animateTo` para el control explícito de animaciones
|
|
193
|
+
- Prefiere `transform` (translate, scale, rotate) y `opacity` para animaciones con buen rendimiento
|
|
194
|
+
|
|
195
|
+
## Patrones de rendimiento
|
|
196
|
+
|
|
197
|
+
### LazyForEach para listas grandes
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
@ComponentV2
|
|
201
|
+
struct LargeList {
|
|
202
|
+
@Local dataSource: MyDataSource = new MyDataSource()
|
|
203
|
+
|
|
204
|
+
build() {
|
|
205
|
+
List() {
|
|
206
|
+
LazyForEach(this.dataSource, (item: ItemModel) => {
|
|
207
|
+
ListItem() {
|
|
208
|
+
ItemComponent({ item: item })
|
|
209
|
+
}
|
|
210
|
+
}, (item: ItemModel) => item.id)
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Reutilización de componentes
|
|
217
|
+
|
|
218
|
+
- Extrae los componentes reutilizables a archivos separados
|
|
219
|
+
- Usa `@Builder` para fragmentos de UI ligeros dentro de un componente
|
|
220
|
+
- Usa `@Param` para componentes configurables
|
|
221
|
+
|
|
222
|
+
## Referencias a recursos
|
|
223
|
+
|
|
224
|
+
Define siempre las constantes de UI como recursos y referéncialas con `$r()`:
|
|
225
|
+
|
|
226
|
+
```typescript
|
|
227
|
+
// INCORRECTO: valores codificados
|
|
228
|
+
Text('Hola')
|
|
229
|
+
.fontSize(16)
|
|
230
|
+
.fontColor('#333333')
|
|
231
|
+
|
|
232
|
+
// CORRECTO: referencias a recursos
|
|
233
|
+
Text($r('app.string.greeting'))
|
|
234
|
+
.fontSize($r('app.float.font_size_body'))
|
|
235
|
+
.fontColor($r('app.color.text_primary'))
|
|
236
|
+
```
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.ets"
|
|
4
|
+
- "**/*.ts"
|
|
5
|
+
- "**/module.json5"
|
|
6
|
+
---
|
|
7
|
+
# Seguridad en HarmonyOS / ArkTS
|
|
8
|
+
|
|
9
|
+
> Este archivo extiende [common/security.md](../common/security.md) con prácticas de seguridad específicas de HarmonyOS.
|
|
10
|
+
|
|
11
|
+
## Gestión de permisos
|
|
12
|
+
|
|
13
|
+
### Declarar los permisos en module.json5
|
|
14
|
+
|
|
15
|
+
Toda llamada a APIs del sistema que requiera permisos debe declararse:
|
|
16
|
+
|
|
17
|
+
```json5
|
|
18
|
+
{
|
|
19
|
+
"module": {
|
|
20
|
+
"requestPermissions": [
|
|
21
|
+
{
|
|
22
|
+
"name": "ohos.permission.INTERNET",
|
|
23
|
+
"reason": "$string:internet_permission_reason",
|
|
24
|
+
"usedScene": {
|
|
25
|
+
"abilities": ["EntryAbility"],
|
|
26
|
+
"when": "always"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Checklist de permisos
|
|
35
|
+
|
|
36
|
+
Antes de llamar a APIs del sistema, verifica:
|
|
37
|
+
|
|
38
|
+
- [ ] El permiso está declarado en `module.json5`
|
|
39
|
+
- [ ] La cadena con la razón del permiso está definida en los recursos (para permisos visibles al usuario)
|
|
40
|
+
- [ ] La solicitud de permiso en tiempo de ejecución está implementada para permisos sensibles (cámara, ubicación, etc.)
|
|
41
|
+
- [ ] Se comprueba el permiso antes de la llamada a la API, con un fallback controlado si se deniega
|
|
42
|
+
|
|
43
|
+
### Solicitud de permisos en tiempo de ejecución
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
import { abilityAccessCtrl, bundleManager, Permissions } from '@kit.AbilityKit';
|
|
47
|
+
|
|
48
|
+
async function checkAndRequestPermission(permission: Permissions): Promise<boolean> {
|
|
49
|
+
const atManager = abilityAccessCtrl.createAtManager();
|
|
50
|
+
const bundleInfo = await bundleManager.getBundleInfoForSelf(
|
|
51
|
+
bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION
|
|
52
|
+
);
|
|
53
|
+
const tokenId = bundleInfo.appInfo.accessTokenId;
|
|
54
|
+
const grantStatus = await atManager.checkAccessToken(tokenId, permission);
|
|
55
|
+
|
|
56
|
+
if (grantStatus === abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED) {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const result = await atManager.requestPermissionsFromUser(getContext(), [permission]);
|
|
61
|
+
return result.authResults[0] === abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED;
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Gestión de secretos
|
|
66
|
+
|
|
67
|
+
- **NUNCA** codifiques API keys, tokens ni contraseñas en archivos fuente `.ets`/`.ts`
|
|
68
|
+
- Usa la API Preferences de HarmonyOS para configuración no sensible
|
|
69
|
+
- Usa el Keystore de HarmonyOS para credenciales sensibles
|
|
70
|
+
- Gestiona la configuración por entorno mediante build profiles
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
// INCORRECTO: secreto codificado
|
|
74
|
+
const API_KEY: string = 'sk-xxxxxxxxxxxx';
|
|
75
|
+
|
|
76
|
+
// CORRECTO: desde la configuración del build profile (no sensible)
|
|
77
|
+
import { BuildProfile } from 'BuildProfile';
|
|
78
|
+
const endpoint = BuildProfile.API_ENDPOINT;
|
|
79
|
+
|
|
80
|
+
// CORRECTO: usar HUKS para cifrar/descifrar datos sin exponer el material de la clave
|
|
81
|
+
import { huks } from '@kit.UniversalKeystoreKit';
|
|
82
|
+
async function decryptWithKeystore(alias: string, nonce: Uint8Array, aad: Uint8Array, cipherData: Uint8Array): Promise<Uint8Array> {
|
|
83
|
+
const options: huks.HuksOptions = {
|
|
84
|
+
properties: [
|
|
85
|
+
{ tag: huks.HuksTag.HUKS_TAG_ALGORITHM, value: huks.HuksKeyAlg.HUKS_ALG_AES },
|
|
86
|
+
{ tag: huks.HuksTag.HUKS_TAG_PURPOSE, value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_DECRYPT },
|
|
87
|
+
{ tag: huks.HuksTag.HUKS_TAG_BLOCK_MODE, value: huks.HuksCipherMode.HUKS_MODE_GCM },
|
|
88
|
+
{ tag: huks.HuksTag.HUKS_TAG_PADDING, value: huks.HuksKeyPadding.HUKS_PADDING_NONE },
|
|
89
|
+
{ tag: huks.HuksTag.HUKS_TAG_NONCE, value: nonce },
|
|
90
|
+
{ tag: huks.HuksTag.HUKS_TAG_ASSOCIATED_DATA, value: aad }
|
|
91
|
+
],
|
|
92
|
+
inData: cipherData
|
|
93
|
+
};
|
|
94
|
+
const handle = await huks.initSession(alias, options);
|
|
95
|
+
const result = await huks.finishSession(handle.handle, options);
|
|
96
|
+
return result.outData;
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Validación de entrada
|
|
101
|
+
|
|
102
|
+
- Valida toda entrada del usuario antes de procesarla
|
|
103
|
+
- Sanea los datos antes de mostrarlos en la UI para prevenir inyecciones
|
|
104
|
+
- Valida los parámetros de los deep links antes de navegar
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
// Validar antes de navegar
|
|
108
|
+
function handleDeepLink(uri: string): void {
|
|
109
|
+
const allowedPaths: string[] = ['detail', 'settings', 'profile'];
|
|
110
|
+
const parsed = new URL(uri);
|
|
111
|
+
const path = parsed.pathname.replace('/', '');
|
|
112
|
+
|
|
113
|
+
if (!allowedPaths.includes(path)) {
|
|
114
|
+
hilog.warn(0x0000, 'DeepLink', 'Ruta de deep link inválida: %{public}s', path);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
navPathStack.pushPath({ name: path });
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Seguridad de red
|
|
123
|
+
|
|
124
|
+
- Usa siempre HTTPS en las peticiones de red
|
|
125
|
+
- Valida los certificados del servidor
|
|
126
|
+
- Implementa políticas de timeout y reintentos en las peticiones
|
|
127
|
+
- Nunca registres datos sensibles (tokens, credenciales de usuario) en los logs de peticiones/respuestas de red
|
|
128
|
+
|
|
129
|
+
## Seguridad del almacenamiento de datos
|
|
130
|
+
|
|
131
|
+
- Usa preferences cifradas para los datos locales sensibles
|
|
132
|
+
- Borra los datos sensibles de la memoria cuando ya no se necesiten
|
|
133
|
+
- Implementa una gestión adecuada del ciclo de vida de los datos
|
|
134
|
+
- Considera la clasificación de los datos (públicos, internos, confidenciales) al elegir el mecanismo de almacenamiento
|
|
135
|
+
|
|
136
|
+
## Seguridad de dependencias
|
|
137
|
+
|
|
138
|
+
- Usa solo dependencias de fuentes confiables (el registro oficial de ohpm)
|
|
139
|
+
- Verifica las versiones de las dependencias en `oh-package.json5`
|
|
140
|
+
- Revisa con regularidad las vulnerabilidades conocidas de las librerías de terceros
|
|
141
|
+
- Fija (pin) las versiones de las dependencias para evitar actualizaciones inesperadas
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.ets"
|
|
4
|
+
- "**/*.ts"
|
|
5
|
+
- "**/ohosTest/**"
|
|
6
|
+
---
|
|
7
|
+
# Testing en HarmonyOS / ArkTS
|
|
8
|
+
|
|
9
|
+
> Este archivo extiende [common/testing.md](../common/testing.md) con prácticas de testing específicas de HarmonyOS.
|
|
10
|
+
|
|
11
|
+
## Framework de tests
|
|
12
|
+
|
|
13
|
+
HarmonyOS usa el framework de tests integrado con las capacidades de `@ohos.test`:
|
|
14
|
+
|
|
15
|
+
- **Tests unitarios**: ubicados en `src/ohosTest/ets/test/`
|
|
16
|
+
- **Tests de UI**: usa `@ohos.UiTest` para probar componentes
|
|
17
|
+
- **Tests instrumentados**: se ejecutan en dispositivo o emulador
|
|
18
|
+
|
|
19
|
+
## Estructura del directorio de tests
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
module/
|
|
23
|
+
|-- src/
|
|
24
|
+
| |-- main/ets/ # Código de producción
|
|
25
|
+
| |-- ohosTest/ets/ # Código de tests
|
|
26
|
+
| |-- test/
|
|
27
|
+
| | |-- Ability.test.ets
|
|
28
|
+
| | |-- List.test.ets
|
|
29
|
+
| |-- TestAbility.ets
|
|
30
|
+
| |-- TestRunner.ets
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Ejecutar los tests
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Ejecutar todos los tests de un módulo
|
|
37
|
+
hvigorw testHap -p product=default
|
|
38
|
+
|
|
39
|
+
# Ejecutar los tests en un dispositivo conectado
|
|
40
|
+
hdc shell aa test -b com.example.app -m entry_test -s unittest /ets/TestRunner/OpenHarmonyTestRunner
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Ejemplo de test unitario
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
import { describe, it, expect } from '@ohos/hypium';
|
|
47
|
+
|
|
48
|
+
export default function UserViewModelTest() {
|
|
49
|
+
describe('UserViewModel', () => {
|
|
50
|
+
it('debe_inicializarse_con_estado_vacio', 0, () => {
|
|
51
|
+
const vm = new UserViewModel();
|
|
52
|
+
expect(vm.userName).assertEqual('');
|
|
53
|
+
expect(vm.isLoading).assertFalse();
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it('debe_actualizar_el_nombre_de_usuario', 0, () => {
|
|
57
|
+
const vm = new UserViewModel();
|
|
58
|
+
vm.updateUserName('Alice');
|
|
59
|
+
expect(vm.userName).assertEqual('Alice');
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it('debe_manejar_entrada_vacia', 0, () => {
|
|
63
|
+
const vm = new UserViewModel();
|
|
64
|
+
vm.updateUserName('');
|
|
65
|
+
expect(vm.userName).assertEqual('');
|
|
66
|
+
expect(vm.hasError).assertFalse();
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Ejemplo de test de UI
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
import { describe, it, expect } from '@ohos/hypium';
|
|
76
|
+
import { Driver, ON } from '@ohos.UiTest';
|
|
77
|
+
|
|
78
|
+
export default function HomePageUITest() {
|
|
79
|
+
describe('HomePage_UI', () => {
|
|
80
|
+
it('debe_mostrar_el_titulo', 0, async () => {
|
|
81
|
+
const driver = Driver.create();
|
|
82
|
+
await driver.delayMs(1000);
|
|
83
|
+
|
|
84
|
+
const title = await driver.findComponent(ON.text('Home'));
|
|
85
|
+
expect(title !== null).assertTrue();
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
it('debe_navegar_al_detalle_al_hacer_clic', 0, async () => {
|
|
89
|
+
const driver = Driver.create();
|
|
90
|
+
const button = await driver.findComponent(ON.id('detailButton'));
|
|
91
|
+
await button.click();
|
|
92
|
+
await driver.delayMs(500);
|
|
93
|
+
|
|
94
|
+
const detailTitle = await driver.findComponent(ON.text('Detail'));
|
|
95
|
+
expect(detailTitle !== null).assertTrue();
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Flujo TDD para HarmonyOS
|
|
102
|
+
|
|
103
|
+
Sigue el ciclo TDD estándar adaptado a HarmonyOS:
|
|
104
|
+
|
|
105
|
+
1. **ROJO**: escribe un test que falle en `ohosTest/ets/test/`
|
|
106
|
+
2. **VERDE**: implementa el código mínimo en `main/ets/` para que pase
|
|
107
|
+
3. **REFACTOR**: limpia el código manteniendo los tests en verde
|
|
108
|
+
4. **BUILD**: ejecuta `hvigorw assembleHap` para verificar la compilación
|
|
109
|
+
5. **VERIFICA**: ejecuta los tests en dispositivo o emulador
|
|
110
|
+
|
|
111
|
+
## Requisitos de cobertura
|
|
112
|
+
|
|
113
|
+
- Cobertura mínima del 80 % para todo el código crítico de la aplicación (ViewModels, servicios, utilidades)
|
|
114
|
+
- **Tests unitarios**: todas las funciones de utilidad, la lógica de los ViewModels y los modelos de datos
|
|
115
|
+
- **Tests de integración**: llamadas a API, operaciones de base de datos, interacciones entre módulos
|
|
116
|
+
- **Tests E2E / de UI**: los flujos de usuario críticos (inicio de sesión, navegación, envío de datos)
|
|
117
|
+
- Prueba los casos límite: datos vacíos, errores de red, denegación de permisos
|
|
118
|
+
|
|
119
|
+
## Buenas prácticas de testing
|
|
120
|
+
|
|
121
|
+
- Mantén los tests independientes: sin estado mutable compartido entre tests
|
|
122
|
+
- Simula (mock) las llamadas de red y las APIs del sistema en los tests unitarios
|
|
123
|
+
- Usa nombres de test significativos: `debe_[comportamiento_esperado]_cuando_[condicion]`
|
|
124
|
+
- Prueba la reactividad de la gestión de estado V2: verifica que las propiedades `@Trace` disparan actualizaciones de UI
|
|
125
|
+
- Prueba los flujos de Navigation: verifica las operaciones push/pop/replace de `NavPathStack`
|
|
126
|
+
- Evita probar los internos del framework: céntrate en la lógica de negocio y el comportamiento visible para el usuario
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Orquestación de agentes
|
|
2
|
+
|
|
3
|
+
## Agentes disponibles
|
|
4
|
+
|
|
5
|
+
Ubicados en `~/.theus/agents/`:
|
|
6
|
+
|
|
7
|
+
| Agente | Propósito | Cuándo usarlo |
|
|
8
|
+
|--------|-----------|---------------|
|
|
9
|
+
| planificador | Planificación de implementación | Funcionalidades complejas, refactorizaciones |
|
|
10
|
+
| arquitecto-codigo | Diseño de sistemas | Decisiones arquitectónicas |
|
|
11
|
+
| guia-tdd | Desarrollo guiado por tests | Nuevas funcionalidades, corrección de bugs |
|
|
12
|
+
| revisor-codigo | Revisión de código | Después de escribir código |
|
|
13
|
+
| revisor-seguridad | Análisis de seguridad | Antes de hacer commits |
|
|
14
|
+
| resolutor-builds | Corrección de errores de build | Cuando el build falla |
|
|
15
|
+
| ejecutor-e2e | Testing E2E | Flujos de usuario críticos |
|
|
16
|
+
| limpiador-refactors | Limpieza de código muerto | Mantenimiento del código |
|
|
17
|
+
| actualizador-docs | Documentación | Actualización de docs |
|
|
18
|
+
|
|
19
|
+
## Uso inmediato de agentes
|
|
20
|
+
|
|
21
|
+
Sin necesidad de que el usuario lo pida:
|
|
22
|
+
1. Solicitudes de funcionalidades complejas — usa el agente **planificador**
|
|
23
|
+
2. Código recién escrito o modificado — usa el agente **revisor-codigo**
|
|
24
|
+
3. Corrección de bug o nueva funcionalidad — usa el agente **guia-tdd**
|
|
25
|
+
4. Decisión arquitectónica — usa el agente **arquitecto-codigo**
|
|
26
|
+
|
|
27
|
+
## Ejecución de tareas en paralelo
|
|
28
|
+
|
|
29
|
+
Usa SIEMPRE la ejecución de tareas (Task) en paralelo para operaciones independientes:
|
|
30
|
+
|
|
31
|
+
```markdown
|
|
32
|
+
# BIEN: ejecución en paralelo
|
|
33
|
+
Lanza 3 agentes en paralelo:
|
|
34
|
+
1. Agente 1: análisis de seguridad del módulo de autenticación
|
|
35
|
+
2. Agente 2: revisión de rendimiento del sistema de caché
|
|
36
|
+
3. Agente 3: verificación de tipos de las utilidades
|
|
37
|
+
|
|
38
|
+
# MAL: secuencial sin necesidad
|
|
39
|
+
Primero el agente 1, luego el agente 2, luego el agente 3
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Análisis desde múltiples perspectivas
|
|
43
|
+
|
|
44
|
+
Para problemas complejos, usa subagentes con roles divididos:
|
|
45
|
+
- Revisor factual
|
|
46
|
+
- Ingeniero senior
|
|
47
|
+
- Experto en seguridad
|
|
48
|
+
- Revisor de consistencia
|
|
49
|
+
- Verificador de redundancias
|