theus-cli-linux-x64 0.2.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,123 @@
|
|
|
1
|
+
# Estándares de revisión de código
|
|
2
|
+
|
|
3
|
+
## Propósito
|
|
4
|
+
|
|
5
|
+
La revisión de código garantiza calidad, seguridad y mantenibilidad antes de que el código se fusione. Esta regla define cuándo y cómo realizar revisiones de código.
|
|
6
|
+
|
|
7
|
+
## Cuándo revisar
|
|
8
|
+
|
|
9
|
+
**Disparadores de revisión OBLIGATORIOS:**
|
|
10
|
+
|
|
11
|
+
- Después de escribir o modificar código
|
|
12
|
+
- Antes de cualquier commit a ramas compartidas
|
|
13
|
+
- Cuando se modifica código sensible en seguridad (autenticación, pagos, datos de usuario)
|
|
14
|
+
- Cuando se realizan cambios arquitectónicos
|
|
15
|
+
- Antes de fusionar pull requests
|
|
16
|
+
|
|
17
|
+
**Requisitos previos a la revisión:**
|
|
18
|
+
|
|
19
|
+
Antes de solicitar una revisión, asegúrate de que:
|
|
20
|
+
|
|
21
|
+
- Todas las verificaciones automáticas (CI/CD) están pasando
|
|
22
|
+
- Los conflictos de merge están resueltos
|
|
23
|
+
- La rama está actualizada respecto a la rama de destino
|
|
24
|
+
|
|
25
|
+
## Checklist de revisión
|
|
26
|
+
|
|
27
|
+
Antes de marcar el código como completo:
|
|
28
|
+
|
|
29
|
+
- [ ] El código es legible y tiene buenos nombres
|
|
30
|
+
- [ ] Las funciones están enfocadas (<50 líneas)
|
|
31
|
+
- [ ] Los archivos son cohesivos (<800 líneas)
|
|
32
|
+
- [ ] Sin anidamiento profundo (>4 niveles)
|
|
33
|
+
- [ ] Los errores se manejan explícitamente
|
|
34
|
+
- [ ] Sin secretos ni credenciales hardcodeados
|
|
35
|
+
- [ ] Sin console.log ni sentencias de depuración
|
|
36
|
+
- [ ] Existen tests para la nueva funcionalidad
|
|
37
|
+
- [ ] La cobertura de tests alcanza el mínimo del 80%
|
|
38
|
+
|
|
39
|
+
## Disparadores de revisión de seguridad
|
|
40
|
+
|
|
41
|
+
**DETENTE y usa el agente revisor-seguridad cuando haya:**
|
|
42
|
+
|
|
43
|
+
- Código de autenticación o autorización
|
|
44
|
+
- Manejo de entrada de usuario
|
|
45
|
+
- Consultas a base de datos
|
|
46
|
+
- Operaciones sobre el sistema de archivos
|
|
47
|
+
- Llamadas a APIs externas
|
|
48
|
+
- Operaciones criptográficas
|
|
49
|
+
- Código de pagos o financiero
|
|
50
|
+
|
|
51
|
+
## Niveles de severidad de la revisión
|
|
52
|
+
|
|
53
|
+
| Nivel | Significado | Acción |
|
|
54
|
+
|-------|-------------|--------|
|
|
55
|
+
| CRÍTICO | Vulnerabilidad de seguridad o riesgo de pérdida de datos | **BLOQUEAR** — debe corregirse antes del merge |
|
|
56
|
+
| ALTO | Bug o problema de calidad significativo | **ADVERTIR** — debería corregirse antes del merge |
|
|
57
|
+
| MEDIO | Preocupación de mantenibilidad | **INFO** — considerar corregirlo |
|
|
58
|
+
| BAJO | Estilo o sugerencia menor | **NOTA** — opcional |
|
|
59
|
+
|
|
60
|
+
## Uso de agentes
|
|
61
|
+
|
|
62
|
+
Usa estos agentes para revisar código:
|
|
63
|
+
|
|
64
|
+
| Agente | Propósito |
|
|
65
|
+
|--------|-----------|
|
|
66
|
+
| **revisor-codigo** | Calidad general del código, patrones, buenas prácticas |
|
|
67
|
+
| **revisor-seguridad** | Vulnerabilidades de seguridad, OWASP Top 10 |
|
|
68
|
+
| **revisor-typescript** | Problemas específicos de TypeScript/JavaScript |
|
|
69
|
+
| **revisor-python** | Problemas específicos de Python |
|
|
70
|
+
| **revisor-go** | Problemas específicos de Go |
|
|
71
|
+
|
|
72
|
+
## Flujo de trabajo de revisión
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
1. Ejecuta git diff para entender los cambios
|
|
76
|
+
2. Revisa primero el checklist de seguridad
|
|
77
|
+
3. Revisa el checklist de calidad de código
|
|
78
|
+
4. Ejecuta los tests relevantes
|
|
79
|
+
5. Verifica cobertura >= 80%
|
|
80
|
+
6. Usa el agente apropiado para una revisión detallada
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Problemas comunes a detectar
|
|
84
|
+
|
|
85
|
+
### Seguridad
|
|
86
|
+
|
|
87
|
+
- Credenciales hardcodeadas (API keys, contraseñas, tokens)
|
|
88
|
+
- Inyección SQL (concatenación de strings en consultas)
|
|
89
|
+
- Vulnerabilidades XSS (entrada de usuario sin escapar)
|
|
90
|
+
- Path traversal (rutas de archivo sin sanear)
|
|
91
|
+
- Falta de protección CSRF
|
|
92
|
+
- Bypasses de autenticación
|
|
93
|
+
|
|
94
|
+
### Calidad de código
|
|
95
|
+
|
|
96
|
+
- Funciones grandes (>50 líneas) — dividir en más pequeñas
|
|
97
|
+
- Archivos grandes (>800 líneas) — extraer módulos
|
|
98
|
+
- Anidamiento profundo (>4 niveles) — usar retornos tempranos
|
|
99
|
+
- Manejo de errores ausente — manejar explícitamente
|
|
100
|
+
- Patrones de mutación — preferir operaciones inmutables
|
|
101
|
+
- Falta de tests — añadir cobertura de tests
|
|
102
|
+
|
|
103
|
+
### Rendimiento
|
|
104
|
+
|
|
105
|
+
- Consultas N+1 — usar JOINs o batching
|
|
106
|
+
- Falta de paginación — añadir LIMIT a las consultas
|
|
107
|
+
- Consultas sin límite — añadir restricciones
|
|
108
|
+
- Falta de caché — cachear operaciones costosas
|
|
109
|
+
|
|
110
|
+
## Criterios de aprobación
|
|
111
|
+
|
|
112
|
+
- **Aprobar**: sin problemas CRÍTICOS ni ALTOS
|
|
113
|
+
- **Advertencia**: solo problemas ALTOS (fusionar con precaución)
|
|
114
|
+
- **Bloquear**: se encontraron problemas CRÍTICOS
|
|
115
|
+
|
|
116
|
+
## Integración con otras reglas
|
|
117
|
+
|
|
118
|
+
Esta regla funciona junto con:
|
|
119
|
+
|
|
120
|
+
- [testing.md](testing.md) — requisitos de cobertura de tests
|
|
121
|
+
- [security.md](security.md) — checklist de seguridad
|
|
122
|
+
- [git-workflow.md](git-workflow.md) — estándares de commits
|
|
123
|
+
- [agents.md](agents.md) — delegación a agentes
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Estilo de código
|
|
2
|
+
|
|
3
|
+
## Inmutabilidad (CRÍTICO)
|
|
4
|
+
|
|
5
|
+
Crea SIEMPRE objetos nuevos; NUNCA mutes los existentes:
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
// Pseudocódigo
|
|
9
|
+
MAL: modify(original, field, value) → modifica el original en el sitio
|
|
10
|
+
CORRECTO: update(original, field, value) → devuelve una copia nueva con el cambio
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Justificación: los datos inmutables evitan efectos secundarios ocultos, facilitan la depuración y permiten concurrencia segura.
|
|
14
|
+
|
|
15
|
+
## Principios fundamentales
|
|
16
|
+
|
|
17
|
+
### KISS (Keep It Simple)
|
|
18
|
+
|
|
19
|
+
- Prefiere la solución más simple que realmente funcione
|
|
20
|
+
- Evita la optimización prematura
|
|
21
|
+
- Optimiza para la claridad, no para la astucia
|
|
22
|
+
|
|
23
|
+
### DRY (Don't Repeat Yourself)
|
|
24
|
+
|
|
25
|
+
- Extrae la lógica repetida en funciones o utilidades compartidas
|
|
26
|
+
- Evita la deriva de implementaciones por copiar y pegar
|
|
27
|
+
- Introduce abstracciones cuando la repetición es real, no especulativa
|
|
28
|
+
|
|
29
|
+
### YAGNI (You Aren't Gonna Need It)
|
|
30
|
+
|
|
31
|
+
- No construyas funcionalidades ni abstracciones antes de que se necesiten
|
|
32
|
+
- Evita la generalidad especulativa
|
|
33
|
+
- Empieza simple y refactoriza cuando la presión sea real
|
|
34
|
+
|
|
35
|
+
## Organización de archivos
|
|
36
|
+
|
|
37
|
+
MUCHOS ARCHIVOS PEQUEÑOS > POCOS ARCHIVOS GRANDES:
|
|
38
|
+
- Alta cohesión, bajo acoplamiento
|
|
39
|
+
- 200-400 líneas es lo típico, 800 como máximo
|
|
40
|
+
- Extrae utilidades de los módulos grandes
|
|
41
|
+
- Organiza por funcionalidad/dominio, no por tipo
|
|
42
|
+
|
|
43
|
+
## Manejo de errores
|
|
44
|
+
|
|
45
|
+
Maneja SIEMPRE los errores de forma exhaustiva:
|
|
46
|
+
- Maneja los errores explícitamente en cada nivel
|
|
47
|
+
- Ofrece mensajes de error amigables en el código de cara a la interfaz
|
|
48
|
+
- Registra el contexto detallado del error en el lado del servidor
|
|
49
|
+
- Nunca silencies errores sin más
|
|
50
|
+
|
|
51
|
+
## Validación de entrada
|
|
52
|
+
|
|
53
|
+
Valida SIEMPRE en las fronteras del sistema:
|
|
54
|
+
- Valida toda entrada de usuario antes de procesarla
|
|
55
|
+
- Usa validación basada en esquemas cuando esté disponible
|
|
56
|
+
- Falla rápido con mensajes de error claros
|
|
57
|
+
- Nunca confíes en datos externos (respuestas de API, entrada de usuario, contenido de archivos)
|
|
58
|
+
|
|
59
|
+
## Convenciones de nombres
|
|
60
|
+
|
|
61
|
+
- Variables y funciones: `camelCase` con nombres descriptivos
|
|
62
|
+
- Booleanos: prefiere prefijos `is`, `has`, `should` o `can`
|
|
63
|
+
- Interfaces, tipos y componentes: `PascalCase`
|
|
64
|
+
- Constantes: `UPPER_SNAKE_CASE`
|
|
65
|
+
- Hooks personalizados: `camelCase` con prefijo `use`
|
|
66
|
+
|
|
67
|
+
## Malos olores de código a evitar
|
|
68
|
+
|
|
69
|
+
### Anidamiento profundo
|
|
70
|
+
|
|
71
|
+
Prefiere retornos tempranos sobre condicionales anidados en cuanto la lógica empiece a apilarse.
|
|
72
|
+
|
|
73
|
+
### Números mágicos
|
|
74
|
+
|
|
75
|
+
Usa constantes con nombre para umbrales, retardos y límites con significado.
|
|
76
|
+
|
|
77
|
+
### Funciones largas
|
|
78
|
+
|
|
79
|
+
Divide las funciones grandes en piezas enfocadas con responsabilidades claras.
|
|
80
|
+
|
|
81
|
+
## Checklist de calidad de código
|
|
82
|
+
|
|
83
|
+
Antes de marcar el trabajo como completo:
|
|
84
|
+
- [ ] El código es legible y tiene buenos nombres
|
|
85
|
+
- [ ] Las funciones son pequeñas (<50 líneas)
|
|
86
|
+
- [ ] Los archivos están enfocados (<800 líneas)
|
|
87
|
+
- [ ] Sin anidamiento profundo (>4 niveles)
|
|
88
|
+
- [ ] Manejo de errores adecuado
|
|
89
|
+
- [ ] Sin valores hardcodeados (usa constantes o configuración)
|
|
90
|
+
- [ ] Sin mutación (se usan patrones inmutables)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Flujo de trabajo de desarrollo
|
|
2
|
+
|
|
3
|
+
> Este archivo extiende [common/git-workflow.md](./git-workflow.md) con el proceso completo de desarrollo de funcionalidades que ocurre antes de las operaciones de git.
|
|
4
|
+
|
|
5
|
+
El flujo de implementación de funcionalidades describe la línea de trabajo: investigación, planificación, TDD, revisión de código y, después, el commit a git.
|
|
6
|
+
|
|
7
|
+
## Flujo de implementación de funcionalidades
|
|
8
|
+
|
|
9
|
+
0. **Investigar y reutilizar** _(obligatorio antes de cualquier implementación nueva)_
|
|
10
|
+
- **Primero, búsqueda de código en GitHub:** ejecuta `gh search repos` y `gh search code` para encontrar implementaciones existentes, plantillas y patrones antes de escribir nada nuevo.
|
|
11
|
+
- **Segundo, documentación de librerías:** consulta la documentación oficial del proveedor para confirmar el comportamiento de las APIs, el uso de los paquetes y los detalles específicos de cada versión antes de implementar. Para el código del propio proyecto, apóyate en Ñaupa (`search_graph`, `trace_path`, `get_architecture`).
|
|
12
|
+
- **Búsqueda web nativa solo cuando lo anterior no baste:** usa la búsqueda web nativa de Theus para investigación o descubrimiento más amplios, después de agotar GitHub y la documentación primaria.
|
|
13
|
+
- **Revisa los registros de paquetes:** busca en npm, PyPI, crates.io y otros registros antes de escribir código de utilidad. Prefiere librerías probadas en batalla sobre soluciones artesanales.
|
|
14
|
+
- **Busca implementaciones adaptables:** localiza proyectos open source que resuelvan el 80% o más del problema y puedan bifurcarse, portarse o envolverse.
|
|
15
|
+
- Prefiere adoptar o portar un enfoque probado en lugar de escribir código totalmente nuevo cuando cumpla el requisito.
|
|
16
|
+
|
|
17
|
+
1. **Planificar primero**
|
|
18
|
+
- Usa el agente **planificador** para crear el plan de implementación
|
|
19
|
+
- Genera documentos de planificación antes de programar: PRD, arquitectura, diseño de sistema, documento técnico, lista de tareas
|
|
20
|
+
- Identifica dependencias y riesgos
|
|
21
|
+
- Divide el trabajo en fases
|
|
22
|
+
|
|
23
|
+
2. **Enfoque TDD**
|
|
24
|
+
- Usa el agente **guia-tdd**
|
|
25
|
+
- Escribe los tests primero (ROJO)
|
|
26
|
+
- Implementa para que los tests pasen (VERDE)
|
|
27
|
+
- Refactoriza (MEJORA)
|
|
28
|
+
- Verifica una cobertura del 80% o más
|
|
29
|
+
|
|
30
|
+
3. **Revisión de código**
|
|
31
|
+
- Usa el agente **revisor-codigo** inmediatamente después de escribir código
|
|
32
|
+
- Atiende los problemas CRÍTICOS y ALTOS
|
|
33
|
+
- Corrige los problemas MEDIOS cuando sea posible
|
|
34
|
+
|
|
35
|
+
4. **Commit y push**
|
|
36
|
+
- Mensajes de commit detallados
|
|
37
|
+
- Sigue el formato de conventional commits
|
|
38
|
+
- Consulta [git-workflow.md](./git-workflow.md) para el formato de mensajes de commit y el proceso de PR
|
|
39
|
+
|
|
40
|
+
5. **Verificaciones previas a la revisión**
|
|
41
|
+
- Verifica que todas las comprobaciones automáticas (CI/CD) pasan
|
|
42
|
+
- Resuelve cualquier conflicto de merge
|
|
43
|
+
- Asegúrate de que la rama está actualizada respecto a la rama de destino
|
|
44
|
+
- Solicita la revisión solo después de que estas verificaciones pasen
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Flujo de trabajo de git
|
|
2
|
+
|
|
3
|
+
## Formato de mensajes de commit
|
|
4
|
+
```
|
|
5
|
+
<type>: <description>
|
|
6
|
+
|
|
7
|
+
<cuerpo opcional>
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
Tipos: feat, fix, refactor, docs, test, chore, perf, ci
|
|
11
|
+
|
|
12
|
+
Nota: para desactivar la atribución de coautoría en los commits, establece `"includeCoAuthoredBy": false` en `~/.theus/settings.json` (Theus añade `Co-Authored-By` por defecto; este paquete de reglas no incluye esa configuración de fábrica).
|
|
13
|
+
|
|
14
|
+
## Flujo de trabajo de pull requests
|
|
15
|
+
|
|
16
|
+
Al crear PRs:
|
|
17
|
+
1. Analiza el historial completo de commits (no solo el último commit)
|
|
18
|
+
2. Usa `git diff [rama-base]...HEAD` para ver todos los cambios
|
|
19
|
+
3. Redacta un resumen completo del PR
|
|
20
|
+
4. Incluye un plan de pruebas con TODOs
|
|
21
|
+
5. Haz push con el flag `-u` si la rama es nueva
|
|
22
|
+
|
|
23
|
+
> Para el proceso completo de desarrollo (planificación, TDD, revisión de código) previo a las operaciones de git,
|
|
24
|
+
> consulta [development-workflow.md](./development-workflow.md).
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Sistema de hooks
|
|
2
|
+
|
|
3
|
+
## Tipos de hooks
|
|
4
|
+
|
|
5
|
+
- **PreToolUse**: antes de ejecutar una herramienta (validación, modificación de parámetros)
|
|
6
|
+
- **PostToolUse**: después de ejecutar una herramienta (autoformato, comprobaciones)
|
|
7
|
+
- **Stop**: al finalizar la respuesta de la sesión (verificación final)
|
|
8
|
+
|
|
9
|
+
Theus también soporta los eventos **PostToolUseFailure**, **PreCompact**, **SessionStart** y **SessionEnd**.
|
|
10
|
+
|
|
11
|
+
## Permisos de auto-aceptación
|
|
12
|
+
|
|
13
|
+
Úsalos con precaución:
|
|
14
|
+
- Actívalos para planes confiables y bien definidos
|
|
15
|
+
- Desactívalos para trabajo exploratorio
|
|
16
|
+
- Nunca uses el flag que omite peligrosamente todos los permisos
|
|
17
|
+
- Configura `allowedTools` en `~/.theus.json` en su lugar
|
|
18
|
+
|
|
19
|
+
## Buenas prácticas de TodoWrite
|
|
20
|
+
|
|
21
|
+
Usa la herramienta TodoWrite para:
|
|
22
|
+
- Seguir el progreso en tareas de varios pasos
|
|
23
|
+
- Verificar la comprensión de las instrucciones
|
|
24
|
+
- Permitir corrección de rumbo en tiempo real
|
|
25
|
+
- Mostrar pasos de implementación granulares
|
|
26
|
+
|
|
27
|
+
La lista de tareas revela:
|
|
28
|
+
- Pasos fuera de orden
|
|
29
|
+
- Elementos faltantes
|
|
30
|
+
- Elementos extra innecesarios
|
|
31
|
+
- Granularidad equivocada
|
|
32
|
+
- Requisitos malinterpretados
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Patrones comunes
|
|
2
|
+
|
|
3
|
+
## Proyectos esqueleto
|
|
4
|
+
|
|
5
|
+
Al implementar funcionalidad nueva:
|
|
6
|
+
1. Busca proyectos esqueleto probados en batalla
|
|
7
|
+
2. Usa agentes en paralelo para evaluar las opciones:
|
|
8
|
+
- Evaluación de seguridad
|
|
9
|
+
- Análisis de extensibilidad
|
|
10
|
+
- Puntuación de relevancia
|
|
11
|
+
- Planificación de la implementación
|
|
12
|
+
3. Clona la mejor opción como base
|
|
13
|
+
4. Itera dentro de una estructura probada
|
|
14
|
+
|
|
15
|
+
## Patrones de diseño
|
|
16
|
+
|
|
17
|
+
### Patrón Repository
|
|
18
|
+
|
|
19
|
+
Encapsula el acceso a datos detrás de una interfaz consistente:
|
|
20
|
+
- Define operaciones estándar: findAll, findById, create, update, delete
|
|
21
|
+
- Las implementaciones concretas manejan los detalles de almacenamiento (base de datos, API, archivo, etc.)
|
|
22
|
+
- La lógica de negocio depende de la interfaz abstracta, no del mecanismo de almacenamiento
|
|
23
|
+
- Permite intercambiar fuentes de datos con facilidad y simplifica el testing con mocks
|
|
24
|
+
|
|
25
|
+
### Formato de respuesta de API
|
|
26
|
+
|
|
27
|
+
Usa un envoltorio consistente para todas las respuestas de la API:
|
|
28
|
+
- Incluye un indicador de éxito/estado
|
|
29
|
+
- Incluye la carga de datos (nula en caso de error)
|
|
30
|
+
- Incluye un campo de mensaje de error (nulo en caso de éxito)
|
|
31
|
+
- Incluye metadatos para respuestas paginadas (total, page, limit)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Optimización de rendimiento
|
|
2
|
+
|
|
3
|
+
## Estrategia de selección de modelo
|
|
4
|
+
|
|
5
|
+
**Modelo económico del catálogo Theus** (gran parte de la capacidad del modelo estándar, a una fracción del costo):
|
|
6
|
+
- Agentes ligeros con invocaciones frecuentes
|
|
7
|
+
- Pair programming y generación de código
|
|
8
|
+
- Agentes worker en sistemas multiagente
|
|
9
|
+
|
|
10
|
+
**Modelo estándar del catálogo Theus** (el caballo de batalla para programar):
|
|
11
|
+
- Trabajo de desarrollo principal
|
|
12
|
+
- Orquestación de flujos multiagente
|
|
13
|
+
- Tareas de programación complejas
|
|
14
|
+
|
|
15
|
+
**Modelo premium del catálogo Theus** (razonamiento más profundo):
|
|
16
|
+
- Decisiones arquitectónicas complejas
|
|
17
|
+
- Requisitos de razonamiento máximos
|
|
18
|
+
- Tareas de investigación y análisis
|
|
19
|
+
|
|
20
|
+
## Gestión de la ventana de contexto
|
|
21
|
+
|
|
22
|
+
Evita el último 20% de la ventana de contexto para:
|
|
23
|
+
- Refactorizaciones a gran escala
|
|
24
|
+
- Implementación de funcionalidades que abarcan varios archivos
|
|
25
|
+
- Depuración de interacciones complejas
|
|
26
|
+
|
|
27
|
+
Tareas menos sensibles al contexto:
|
|
28
|
+
- Ediciones de un solo archivo
|
|
29
|
+
- Creación de utilidades independientes
|
|
30
|
+
- Actualizaciones de documentación
|
|
31
|
+
- Corrección de bugs simples
|
|
32
|
+
|
|
33
|
+
## Pensamiento extendido + modo plan
|
|
34
|
+
|
|
35
|
+
El pensamiento extendido reserva presupuesto adicional de tokens para el razonamiento interno del modelo.
|
|
36
|
+
|
|
37
|
+
Controla el pensamiento extendido mediante:
|
|
38
|
+
- **Configuración**: la opción de pensamiento en la configuración de `~/.theus/`
|
|
39
|
+
- **Tope de presupuesto**: `export MAX_THINKING_TOKENS=10000` (bash) o `$env:MAX_THINKING_TOKENS = "10000"` (PowerShell)
|
|
40
|
+
|
|
41
|
+
Para tareas complejas que requieren razonamiento profundo:
|
|
42
|
+
1. Asegúrate de que el pensamiento extendido esté habilitado
|
|
43
|
+
2. Activa el **modo plan** para un enfoque estructurado
|
|
44
|
+
3. Usa varias rondas de crítica para un análisis exhaustivo
|
|
45
|
+
4. Usa subagentes con roles divididos para obtener perspectivas diversas
|
|
46
|
+
|
|
47
|
+
## Solución de problemas de build
|
|
48
|
+
|
|
49
|
+
Si el build falla:
|
|
50
|
+
1. Usa el agente **resolutor-builds**
|
|
51
|
+
2. Analiza los mensajes de error
|
|
52
|
+
3. Corrige de forma incremental
|
|
53
|
+
4. Verifica después de cada corrección
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Directrices de seguridad
|
|
2
|
+
|
|
3
|
+
## Verificaciones de seguridad obligatorias
|
|
4
|
+
|
|
5
|
+
Antes de CUALQUIER commit:
|
|
6
|
+
- [ ] Sin secretos hardcodeados (API keys, contraseñas, tokens)
|
|
7
|
+
- [ ] Todas las entradas de usuario validadas
|
|
8
|
+
- [ ] Prevención de inyección SQL (consultas parametrizadas)
|
|
9
|
+
- [ ] Prevención de XSS (HTML saneado)
|
|
10
|
+
- [ ] Protección CSRF habilitada
|
|
11
|
+
- [ ] Autenticación/autorización verificadas
|
|
12
|
+
- [ ] Rate limiting en todos los endpoints
|
|
13
|
+
- [ ] Los mensajes de error no filtran datos sensibles
|
|
14
|
+
|
|
15
|
+
## Gestión de secretos
|
|
16
|
+
|
|
17
|
+
- NUNCA hardcodees secretos en el código fuente
|
|
18
|
+
- Usa SIEMPRE variables de entorno o un gestor de secretos
|
|
19
|
+
- Valida que los secretos requeridos estén presentes al arrancar
|
|
20
|
+
- Rota cualquier secreto que pudiera haberse expuesto
|
|
21
|
+
|
|
22
|
+
## Protocolo de respuesta ante incidentes de seguridad
|
|
23
|
+
|
|
24
|
+
Si se encuentra un problema de seguridad:
|
|
25
|
+
1. DETENTE de inmediato
|
|
26
|
+
2. Usa el agente **revisor-seguridad**
|
|
27
|
+
3. Corrige los problemas CRÍTICOS antes de continuar
|
|
28
|
+
4. Rota cualquier secreto expuesto
|
|
29
|
+
5. Revisa todo el código en busca de problemas similares
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Requisitos de testing
|
|
2
|
+
|
|
3
|
+
## Cobertura mínima de tests: 80%
|
|
4
|
+
|
|
5
|
+
Tipos de tests (TODOS requeridos):
|
|
6
|
+
1. **Tests unitarios** — funciones individuales, utilidades, componentes
|
|
7
|
+
2. **Tests de integración** — endpoints de API, operaciones de base de datos
|
|
8
|
+
3. **Tests E2E** — flujos de usuario críticos (el framework se elige según el lenguaje)
|
|
9
|
+
|
|
10
|
+
## Desarrollo guiado por tests (TDD)
|
|
11
|
+
|
|
12
|
+
Flujo de trabajo OBLIGATORIO:
|
|
13
|
+
1. Escribe el test primero (ROJO)
|
|
14
|
+
2. Ejecuta el test — debe FALLAR
|
|
15
|
+
3. Escribe la implementación mínima (VERDE)
|
|
16
|
+
4. Ejecuta el test — debe PASAR
|
|
17
|
+
5. Refactoriza (MEJORA)
|
|
18
|
+
6. Verifica la cobertura (80% o más)
|
|
19
|
+
|
|
20
|
+
## Solución de fallos en los tests
|
|
21
|
+
|
|
22
|
+
1. Usa el agente **guia-tdd**
|
|
23
|
+
2. Revisa el aislamiento de los tests
|
|
24
|
+
3. Verifica que los mocks sean correctos
|
|
25
|
+
4. Corrige la implementación, no los tests (salvo que los tests estén mal)
|
|
26
|
+
|
|
27
|
+
## Soporte de agentes
|
|
28
|
+
|
|
29
|
+
- **guia-tdd** — úsalo PROACTIVAMENTE en funcionalidades nuevas; hace cumplir escribir-tests-primero
|
|
30
|
+
|
|
31
|
+
## Estructura de tests (patrón AAA)
|
|
32
|
+
|
|
33
|
+
Prefiere la estructura Arrange-Act-Assert (preparar-actuar-afirmar) en los tests:
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
test('calcula la similitud correctamente', () => {
|
|
37
|
+
// Preparar
|
|
38
|
+
const vector1 = [1, 0, 0]
|
|
39
|
+
const vector2 = [0, 1, 0]
|
|
40
|
+
|
|
41
|
+
// Actuar
|
|
42
|
+
const similarity = calculateCosineSimilarity(vector1, vector2)
|
|
43
|
+
|
|
44
|
+
// Afirmar
|
|
45
|
+
expect(similarity).toBe(0)
|
|
46
|
+
})
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Nombres de tests
|
|
50
|
+
|
|
51
|
+
Usa nombres descriptivos que expliquen el comportamiento bajo prueba:
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
test('devuelve un arreglo vacío cuando ningún mercado coincide con la consulta', () => {})
|
|
55
|
+
test('lanza un error cuando falta la API key', () => {})
|
|
56
|
+
test('recurre a la búsqueda por subcadenas cuando Redis no está disponible', () => {})
|
|
57
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.cpp"
|
|
4
|
+
- "**/*.hpp"
|
|
5
|
+
- "**/*.cc"
|
|
6
|
+
- "**/*.hh"
|
|
7
|
+
- "**/*.cxx"
|
|
8
|
+
- "**/*.h"
|
|
9
|
+
- "**/CMakeLists.txt"
|
|
10
|
+
---
|
|
11
|
+
# Estilo de código C++
|
|
12
|
+
|
|
13
|
+
> Este archivo extiende [common/coding-style.md](../common/coding-style.md) con contenido específico de C++.
|
|
14
|
+
|
|
15
|
+
## C++ moderno (C++17/20/23)
|
|
16
|
+
|
|
17
|
+
- Prefiere las **funcionalidades de C++ moderno** sobre las construcciones estilo C
|
|
18
|
+
- Usa `auto` cuando el tipo es obvio por el contexto
|
|
19
|
+
- Usa `constexpr` para constantes en tiempo de compilación
|
|
20
|
+
- Usa structured bindings: `auto [key, value] = map_entry;`
|
|
21
|
+
|
|
22
|
+
## Gestión de recursos
|
|
23
|
+
|
|
24
|
+
- **RAII en todas partes** — nada de `new`/`delete` manuales
|
|
25
|
+
- Usa `std::unique_ptr` para propiedad exclusiva
|
|
26
|
+
- Usa `std::shared_ptr` solo cuando la propiedad compartida sea realmente necesaria
|
|
27
|
+
- Usa `std::make_unique` / `std::make_shared` en lugar de `new` en crudo
|
|
28
|
+
|
|
29
|
+
## Convenciones de nomenclatura
|
|
30
|
+
|
|
31
|
+
- Tipos/Clases: `PascalCase`
|
|
32
|
+
- Funciones/Métodos: `snake_case` o `camelCase` (sigue la convención del proyecto)
|
|
33
|
+
- Constantes: `kPascalCase` o `UPPER_SNAKE_CASE`
|
|
34
|
+
- Namespaces: `lowercase`
|
|
35
|
+
- Variables miembro: `snake_case_` (guion bajo al final) o prefijo `m_`
|
|
36
|
+
|
|
37
|
+
## Formato
|
|
38
|
+
|
|
39
|
+
- Usa **clang-format** — nada de debates de estilo
|
|
40
|
+
- Ejecuta `clang-format -i <archivo>` antes de commitear
|
|
41
|
+
|
|
42
|
+
## Referencia
|
|
43
|
+
|
|
44
|
+
Consulta la skill `estandares-cpp` para estándares y directrices completos de codificación en C++.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.cpp"
|
|
4
|
+
- "**/*.hpp"
|
|
5
|
+
- "**/*.cc"
|
|
6
|
+
- "**/*.hh"
|
|
7
|
+
- "**/*.cxx"
|
|
8
|
+
- "**/*.h"
|
|
9
|
+
- "**/CMakeLists.txt"
|
|
10
|
+
---
|
|
11
|
+
# Hooks para C++
|
|
12
|
+
|
|
13
|
+
> Este archivo extiende [common/hooks.md](../common/hooks.md) con contenido específico de C++.
|
|
14
|
+
|
|
15
|
+
## Hooks de build
|
|
16
|
+
|
|
17
|
+
Ejecuta estas comprobaciones antes de commitear cambios en C++:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Chequeo de formato
|
|
21
|
+
clang-format --dry-run --Werror src/*.cpp src/*.hpp
|
|
22
|
+
|
|
23
|
+
# Análisis estático
|
|
24
|
+
clang-tidy src/*.cpp -- -std=c++17
|
|
25
|
+
|
|
26
|
+
# Build
|
|
27
|
+
cmake --build build
|
|
28
|
+
|
|
29
|
+
# Tests
|
|
30
|
+
ctest --test-dir build --output-on-failure
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Pipeline de CI recomendado
|
|
34
|
+
|
|
35
|
+
1. **clang-format** — chequeo de formato
|
|
36
|
+
2. **clang-tidy** — análisis estático
|
|
37
|
+
3. **cppcheck** — análisis adicional
|
|
38
|
+
4. **cmake build** — compilación
|
|
39
|
+
5. **ctest** — ejecución de tests con sanitizers
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.cpp"
|
|
4
|
+
- "**/*.hpp"
|
|
5
|
+
- "**/*.cc"
|
|
6
|
+
- "**/*.hh"
|
|
7
|
+
- "**/*.cxx"
|
|
8
|
+
- "**/*.h"
|
|
9
|
+
- "**/CMakeLists.txt"
|
|
10
|
+
---
|
|
11
|
+
# Patrones de C++
|
|
12
|
+
|
|
13
|
+
> Este archivo extiende [common/patterns.md](../common/patterns.md) con contenido específico de C++.
|
|
14
|
+
|
|
15
|
+
## RAII (Resource Acquisition Is Initialization)
|
|
16
|
+
|
|
17
|
+
Ata la vida del recurso a la vida del objeto:
|
|
18
|
+
|
|
19
|
+
```cpp
|
|
20
|
+
class FileHandle {
|
|
21
|
+
public:
|
|
22
|
+
explicit FileHandle(const std::string& path) : file_(std::fopen(path.c_str(), "r")) {}
|
|
23
|
+
~FileHandle() { if (file_) std::fclose(file_); }
|
|
24
|
+
FileHandle(const FileHandle&) = delete;
|
|
25
|
+
FileHandle& operator=(const FileHandle&) = delete;
|
|
26
|
+
private:
|
|
27
|
+
std::FILE* file_;
|
|
28
|
+
};
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Regla de cinco/cero
|
|
32
|
+
|
|
33
|
+
- **Regla de cero**: prefiere clases que no necesiten destructor, constructores de copia/movimiento ni asignaciones personalizados
|
|
34
|
+
- **Regla de cinco**: si defines cualquiera de destructor / constructor de copia / asignación de copia / constructor de movimiento / asignación de movimiento, define los cinco
|
|
35
|
+
|
|
36
|
+
## Semántica de valores
|
|
37
|
+
|
|
38
|
+
- Pasa los tipos pequeños/triviales por valor
|
|
39
|
+
- Pasa los tipos grandes por `const&`
|
|
40
|
+
- Retorna por valor (apóyate en RVO/NRVO)
|
|
41
|
+
- Usa semántica de movimiento para parámetros sink
|
|
42
|
+
|
|
43
|
+
## Manejo de errores
|
|
44
|
+
|
|
45
|
+
- Usa excepciones para condiciones excepcionales
|
|
46
|
+
- Usa `std::optional` para valores que pueden no existir
|
|
47
|
+
- Usa `std::expected` (C++23) o tipos result para fallos esperables
|
|
48
|
+
|
|
49
|
+
## Referencia
|
|
50
|
+
|
|
51
|
+
Consulta la skill `estandares-cpp` para patrones y antipatrones completos de C++.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "**/*.cpp"
|
|
4
|
+
- "**/*.hpp"
|
|
5
|
+
- "**/*.cc"
|
|
6
|
+
- "**/*.hh"
|
|
7
|
+
- "**/*.cxx"
|
|
8
|
+
- "**/*.h"
|
|
9
|
+
- "**/CMakeLists.txt"
|
|
10
|
+
---
|
|
11
|
+
# Seguridad en C++
|
|
12
|
+
|
|
13
|
+
> Este archivo extiende [common/security.md](../common/security.md) con contenido específico de C++.
|
|
14
|
+
|
|
15
|
+
## Seguridad de memoria
|
|
16
|
+
|
|
17
|
+
- Nunca uses `new`/`delete` en crudo — usa punteros inteligentes
|
|
18
|
+
- Nunca uses arreglos estilo C — usa `std::array` o `std::vector`
|
|
19
|
+
- Nunca uses `malloc`/`free` — usa la asignación de C++
|
|
20
|
+
- Evita `reinterpret_cast` salvo que sea absolutamente necesario
|
|
21
|
+
|
|
22
|
+
## Desbordamientos de búfer
|
|
23
|
+
|
|
24
|
+
- Usa `std::string` en lugar de `char*`
|
|
25
|
+
- Usa `.at()` para acceso con verificación de límites cuando la seguridad importe
|
|
26
|
+
- Nunca uses `strcpy`, `strcat`, `sprintf` — usa `std::string` o `fmt::format`
|
|
27
|
+
|
|
28
|
+
## Comportamiento indefinido
|
|
29
|
+
|
|
30
|
+
- Inicializa siempre las variables
|
|
31
|
+
- Evita el desbordamiento de enteros con signo
|
|
32
|
+
- Nunca desreferencies punteros nulos ni colgantes
|
|
33
|
+
- Usa sanitizers en CI:
|
|
34
|
+
```bash
|
|
35
|
+
cmake -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined" ..
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Análisis estático
|
|
39
|
+
|
|
40
|
+
- Usa **clang-tidy** para comprobaciones automatizadas:
|
|
41
|
+
```bash
|
|
42
|
+
clang-tidy --checks='*' src/*.cpp
|
|
43
|
+
```
|
|
44
|
+
- Usa **cppcheck** para análisis adicional:
|
|
45
|
+
```bash
|
|
46
|
+
cppcheck --enable=all src/
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Referencia
|
|
50
|
+
|
|
51
|
+
Consulta la skill `estandares-cpp` para directrices de seguridad detalladas.
|