theus-cli-linux-x64 1.2.2 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -11
- package/RELEASE.json +6 -6
- package/bin/theus +0 -0
- package/package.json +1 -1
- package/vendor/higiene-motor/PARCHES.md +244 -0
- package/vendor/higiene-motor/audit_dir.py +166 -0
- package/vendor/higiene-motor/audit_lib.py +333 -0
- package/vendor/higiene-motor/audit_website.py +635 -0
- package/vendor/higiene-motor/av_meta.py +498 -0
- package/vendor/higiene-motor/check_staged.py +71 -0
- package/vendor/higiene-motor/clean_ctrlregen.py +212 -0
- package/vendor/higiene-motor/clean_file.py +237 -0
- package/vendor/higiene-motor/clean_image.py +218 -0
- package/vendor/higiene-motor/clean_staged.py +143 -0
- package/vendor/higiene-motor/clean_text.py +108 -0
- package/vendor/higiene-motor/common.py +486 -0
- package/vendor/higiene-motor/container_meta.py +2522 -0
- package/vendor/higiene-motor/detect_gumbel.py +308 -0
- package/vendor/higiene-motor/detect_text_watermark.py +613 -0
- package/vendor/higiene-motor/format_dispatch.py +157 -0
- package/vendor/higiene-motor/hook_written_file.py +253 -0
- package/vendor/higiene-motor/image_meta.py +2171 -0
- package/vendor/higiene-motor/inspect_file.py +138 -0
- package/vendor/higiene-motor/inspect_image.py +72 -0
- package/vendor/higiene-motor/inspect_text.py +86 -0
- package/vendor/higiene-motor/markdiffusion_harness.py +533 -0
- package/vendor/higiene-motor/rewrite_text.py +737 -0
- package/vendor/higiene-motor/score_stylometry.py +460 -0
- package/vendor/higiene-motor/score_synthid.py +165 -0
- package/vendor/higiene-motor/server.py +1059 -0
- package/vendor/higiene-motor/synthid_score_server.py +176 -0
- package/vendor/higiene-motor/text_detectors.py +433 -0
- package/vendor/higiene-motor/text_unicode.py +730 -0
- package/vendor/theus-arsenal/.arsenal-nombres-ola2.json +0 -6
- package/vendor/theus-arsenal/.arsenal-nombres-ola3.json +0 -72
- package/vendor/theus-arsenal/.mailmap +0 -2
- package/vendor/theus-arsenal/.theus-plugin/marketplace.json +0 -25
- package/vendor/theus-arsenal/.theus-plugin/plugin.json +0 -20
- package/vendor/theus-arsenal/AUTHORS.md +0 -8
- package/vendor/theus-arsenal/CLEANROOM_REPLACEMENT_PLAN.md +0 -11
- package/vendor/theus-arsenal/LICENSE +0 -26
- package/vendor/theus-arsenal/PROVENANCE.md +0 -9
- package/vendor/theus-arsenal/README.md +0 -41
- package/vendor/theus-arsenal/THIRD_PARTY.md +0 -80
- package/vendor/theus-arsenal/agents/actualizador-docs.md +0 -123
- package/vendor/theus-arsenal/agents/analista-comentarios.md +0 -53
- package/vendor/theus-arsenal/agents/analista-conversaciones.md +0 -60
- package/vendor/theus-arsenal/agents/analista-tests-pr.md +0 -53
- package/vendor/theus-arsenal/agents/analista-tipos.md +0 -49
- package/vendor/theus-arsenal/agents/arquitecto-accesibilidad.md +0 -148
- package/vendor/theus-arsenal/agents/arquitecto-codigo.md +0 -79
- package/vendor/theus-arsenal/agents/arquitecto-homelab.md +0 -90
- package/vendor/theus-arsenal/agents/arquitecto-redes.md +0 -116
- package/vendor/theus-arsenal/agents/arquitecto-sistemas.md +0 -219
- package/vendor/theus-arsenal/agents/bifurcador-opensource.md +0 -206
- package/vendor/theus-arsenal/agents/cazador-fallos-silenciosos.md +0 -58
- package/vendor/theus-arsenal/agents/consultor-documentacion.md +0 -76
- package/vendor/theus-arsenal/agents/diagnosticador-redes.md +0 -135
- package/vendor/theus-arsenal/agents/ejecutor-e2e.md +0 -96
- package/vendor/theus-arsenal/agents/empaquetador-opensource.md +0 -257
- package/vendor/theus-arsenal/agents/escaner-secretos.md +0 -196
- package/vendor/theus-arsenal/agents/especialista-seo.md +0 -70
- package/vendor/theus-arsenal/agents/estratega-marketing.md +0 -158
- package/vendor/theus-arsenal/agents/evaluador-agentes.md +0 -214
- package/vendor/theus-arsenal/agents/evaluador-harness.md +0 -217
- package/vendor/theus-arsenal/agents/explorador-codigo.md +0 -79
- package/vendor/theus-arsenal/agents/extractor-specs.md +0 -214
- package/vendor/theus-arsenal/agents/generador-harness.md +0 -139
- package/vendor/theus-arsenal/agents/guia-tdd.md +0 -99
- package/vendor/theus-arsenal/agents/jefe-de-gabinete.md +0 -162
- package/vendor/theus-arsenal/agents/limpiador-refactors.md +0 -93
- package/vendor/theus-arsenal/agents/optimizador-rendimiento.md +0 -454
- package/vendor/theus-arsenal/agents/planificador-harness.md +0 -107
- package/vendor/theus-arsenal/agents/planificador.md +0 -221
- package/vendor/theus-arsenal/agents/resolutor-apps-harmonyos.md +0 -181
- package/vendor/theus-arsenal/agents/resolutor-builds-cpp.md +0 -98
- package/vendor/theus-arsenal/agents/resolutor-builds-dart.md +0 -209
- package/vendor/theus-arsenal/agents/resolutor-builds-django.md +0 -253
- package/vendor/theus-arsenal/agents/resolutor-builds-go.md +0 -102
- package/vendor/theus-arsenal/agents/resolutor-builds-java.md +0 -274
- package/vendor/theus-arsenal/agents/resolutor-builds-kotlin.md +0 -128
- package/vendor/theus-arsenal/agents/resolutor-builds-pytorch.md +0 -128
- package/vendor/theus-arsenal/agents/resolutor-builds-react.md +0 -214
- package/vendor/theus-arsenal/agents/resolutor-builds-rust.md +0 -156
- package/vendor/theus-arsenal/agents/resolutor-builds-swift.md +0 -169
- package/vendor/theus-arsenal/agents/resolutor-builds.md +0 -122
- package/vendor/theus-arsenal/agents/revisor-bd.md +0 -97
- package/vendor/theus-arsenal/agents/revisor-codigo.md +0 -291
- package/vendor/theus-arsenal/agents/revisor-config-red.md +0 -116
- package/vendor/theus-arsenal/agents/revisor-cpp.md +0 -80
- package/vendor/theus-arsenal/agents/revisor-csharp.md +0 -109
- package/vendor/theus-arsenal/agents/revisor-django.md +0 -168
- package/vendor/theus-arsenal/agents/revisor-fastapi.md +0 -82
- package/vendor/theus-arsenal/agents/revisor-flutter.md +0 -251
- package/vendor/theus-arsenal/agents/revisor-go.md +0 -84
- package/vendor/theus-arsenal/agents/revisor-java.md +0 -192
- package/vendor/theus-arsenal/agents/revisor-kotlin.md +0 -171
- package/vendor/theus-arsenal/agents/revisor-ml.md +0 -159
- package/vendor/theus-arsenal/agents/revisor-php.md +0 -108
- package/vendor/theus-arsenal/agents/revisor-python.md +0 -106
- package/vendor/theus-arsenal/agents/revisor-react.md +0 -166
- package/vendor/theus-arsenal/agents/revisor-rust.md +0 -102
- package/vendor/theus-arsenal/agents/revisor-seguridad.md +0 -116
- package/vendor/theus-arsenal/agents/revisor-software-clinico.md +0 -95
- package/vendor/theus-arsenal/agents/revisor-swift.md +0 -115
- package/vendor/theus-arsenal/agents/revisor-typescript.md +0 -123
- package/vendor/theus-arsenal/agents/revisor-vue.md +0 -205
- package/vendor/theus-arsenal/agents/simplificador-codigo.md +0 -55
- package/vendor/theus-arsenal/commands/actualizar-docs.md +0 -88
- package/vendor/theus-arsenal/commands/actualizar-mapas-codigo.md +0 -78
- package/vendor/theus-arsenal/commands/aprender-evaluar.md +0 -109
- package/vendor/theus-arsenal/commands/aprender.md +0 -74
- package/vendor/theus-arsenal/commands/arreglar-build.md +0 -66
- package/vendor/theus-arsenal/commands/bucle-multiperspectiva.md +0 -153
- package/vendor/theus-arsenal/commands/build-cpp.md +0 -173
- package/vendor/theus-arsenal/commands/build-flutter.md +0 -164
- package/vendor/theus-arsenal/commands/build-go.md +0 -183
- package/vendor/theus-arsenal/commands/build-gradle.md +0 -75
- package/vendor/theus-arsenal/commands/build-kotlin.md +0 -176
- package/vendor/theus-arsenal/commands/build-react.md +0 -187
- package/vendor/theus-arsenal/commands/build-rust.md +0 -187
- package/vendor/theus-arsenal/commands/campana-marketing.md +0 -125
- package/vendor/theus-arsenal/commands/checkpoint.md +0 -78
- package/vendor/theus-arsenal/commands/cobertura-tests.md +0 -73
- package/vendor/theus-arsenal/commands/configurar-gestor-paquetes.md +0 -86
- package/vendor/theus-arsenal/commands/consulta.md +0 -164
- package/vendor/theus-arsenal/commands/control-calidad.md +0 -50
- package/vendor/theus-arsenal/commands/crear-skill.md +0 -77
- package/vendor/theus-arsenal/commands/enrutar-modelo.md +0 -30
- package/vendor/theus-arsenal/commands/epica-desbloquear.md +0 -17
- package/vendor/theus-arsenal/commands/epica-descomponer.md +0 -22
- package/vendor/theus-arsenal/commands/epica-publicar.md +0 -21
- package/vendor/theus-arsenal/commands/epica-reclamar.md +0 -25
- package/vendor/theus-arsenal/commands/epica-revisar.md +0 -22
- package/vendor/theus-arsenal/commands/epica-sincronizar.md +0 -21
- package/vendor/theus-arsenal/commands/epica-validar.md +0 -21
- package/vendor/theus-arsenal/commands/evolucionar.md +0 -176
- package/vendor/theus-arsenal/commands/funcionalidad.md +0 -49
- package/vendor/theus-arsenal/commands/guardar-sesion.md +0 -278
- package/vendor/theus-arsenal/commands/harness-build.md +0 -111
- package/vendor/theus-arsenal/commands/harness-diseno.md +0 -46
- package/vendor/theus-arsenal/commands/informe-costos.md +0 -90
- package/vendor/theus-arsenal/commands/iniciar-bucle.md +0 -36
- package/vendor/theus-arsenal/commands/instintos-estado.md +0 -53
- package/vendor/theus-arsenal/commands/instintos-exportar.md +0 -69
- package/vendor/theus-arsenal/commands/instintos-importar.md +0 -120
- package/vendor/theus-arsenal/commands/lienzo-planes.md +0 -48
- package/vendor/theus-arsenal/commands/limpiar-refactor.md +0 -84
- package/vendor/theus-arsenal/commands/modo-seguro.md +0 -96
- package/vendor/theus-arsenal/commands/orq-agregar-funcionalidad.md +0 -36
- package/vendor/theus-arsenal/commands/orq-cambiar-funcionalidad.md +0 -38
- package/vendor/theus-arsenal/commands/orq-construir-mvp.md +0 -36
- package/vendor/theus-arsenal/commands/orq-corregir-defecto.md +0 -40
- package/vendor/theus-arsenal/commands/orq-refinar-codigo.md +0 -44
- package/vendor/theus-arsenal/commands/orq-revisar.md +0 -135
- package/vendor/theus-arsenal/commands/plan-prd.md +0 -160
- package/vendor/theus-arsenal/commands/plan.md +0 -198
- package/vendor/theus-arsenal/commands/podar.md +0 -31
- package/vendor/theus-arsenal/commands/pr.md +0 -181
- package/vendor/theus-arsenal/commands/promover.md +0 -41
- package/vendor/theus-arsenal/commands/proyectos.md +0 -33
- package/vendor/theus-arsenal/commands/prp-commit.md +0 -112
- package/vendor/theus-arsenal/commands/prp-implementar.md +0 -385
- package/vendor/theus-arsenal/commands/prp-planificar.md +0 -501
- package/vendor/theus-arsenal/commands/reanudar-sesion.md +0 -160
- package/vendor/theus-arsenal/commands/revisar-codigo.md +0 -289
- package/vendor/theus-arsenal/commands/revisar-cpp.md +0 -132
- package/vendor/theus-arsenal/commands/revisar-fastapi.md +0 -39
- package/vendor/theus-arsenal/commands/revisar-flutter.md +0 -115
- package/vendor/theus-arsenal/commands/revisar-go.md +0 -148
- package/vendor/theus-arsenal/commands/revisar-kotlin.md +0 -140
- package/vendor/theus-arsenal/commands/revisar-pr.md +0 -37
- package/vendor/theus-arsenal/commands/revisar-python.md +0 -297
- package/vendor/theus-arsenal/commands/revisar-react.md +0 -170
- package/vendor/theus-arsenal/commands/revisar-rust.md +0 -142
- package/vendor/theus-arsenal/commands/revisar-vue.md +0 -174
- package/vendor/theus-arsenal/commands/salud-skills.md +0 -52
- package/vendor/theus-arsenal/commands/sesiones.md +0 -345
- package/vendor/theus-arsenal/commands/test-cpp.md +0 -252
- package/vendor/theus-arsenal/commands/test-flutter.md +0 -143
- package/vendor/theus-arsenal/commands/test-go.md +0 -268
- package/vendor/theus-arsenal/commands/test-kotlin.md +0 -312
- package/vendor/theus-arsenal/commands/test-react.md +0 -265
- package/vendor/theus-arsenal/commands/test-rust.md +0 -309
- package/vendor/theus-arsenal/commands/vigilancia-canary.md +0 -43
- package/vendor/theus-arsenal/hooks/hooks.json +0 -274
- package/vendor/theus-arsenal/package.json +0 -6
- package/vendor/theus-arsenal/rules/angular/coding-style.md +0 -182
- package/vendor/theus-arsenal/rules/angular/hooks.md +0 -25
- package/vendor/theus-arsenal/rules/angular/patterns.md +0 -249
- package/vendor/theus-arsenal/rules/angular/security.md +0 -87
- package/vendor/theus-arsenal/rules/angular/testing.md +0 -164
- package/vendor/theus-arsenal/rules/arkts/coding-style.md +0 -153
- package/vendor/theus-arsenal/rules/arkts/hooks.md +0 -80
- package/vendor/theus-arsenal/rules/arkts/patterns.md +0 -236
- package/vendor/theus-arsenal/rules/arkts/security.md +0 -141
- package/vendor/theus-arsenal/rules/arkts/testing.md +0 -126
- package/vendor/theus-arsenal/rules/common/agents.md +0 -49
- package/vendor/theus-arsenal/rules/common/code-review.md +0 -123
- package/vendor/theus-arsenal/rules/common/coding-style.md +0 -90
- package/vendor/theus-arsenal/rules/common/development-workflow.md +0 -44
- package/vendor/theus-arsenal/rules/common/git-workflow.md +0 -24
- package/vendor/theus-arsenal/rules/common/hooks.md +0 -32
- package/vendor/theus-arsenal/rules/common/patterns.md +0 -31
- package/vendor/theus-arsenal/rules/common/performance.md +0 -53
- package/vendor/theus-arsenal/rules/common/security.md +0 -29
- package/vendor/theus-arsenal/rules/common/testing.md +0 -57
- package/vendor/theus-arsenal/rules/cpp/coding-style.md +0 -44
- package/vendor/theus-arsenal/rules/cpp/hooks.md +0 -39
- package/vendor/theus-arsenal/rules/cpp/patterns.md +0 -51
- package/vendor/theus-arsenal/rules/cpp/security.md +0 -51
- package/vendor/theus-arsenal/rules/cpp/testing.md +0 -44
- package/vendor/theus-arsenal/rules/csharp/coding-style.md +0 -72
- package/vendor/theus-arsenal/rules/csharp/hooks.md +0 -25
- package/vendor/theus-arsenal/rules/csharp/patterns.md +0 -50
- package/vendor/theus-arsenal/rules/csharp/security.md +0 -58
- package/vendor/theus-arsenal/rules/csharp/testing.md +0 -50
- package/vendor/theus-arsenal/rules/dart/coding-style.md +0 -159
- package/vendor/theus-arsenal/rules/dart/hooks.md +0 -68
- package/vendor/theus-arsenal/rules/dart/patterns.md +0 -261
- package/vendor/theus-arsenal/rules/dart/security.md +0 -135
- package/vendor/theus-arsenal/rules/dart/testing.md +0 -215
- package/vendor/theus-arsenal/rules/fsharp/coding-style.md +0 -112
- package/vendor/theus-arsenal/rules/fsharp/hooks.md +0 -26
- package/vendor/theus-arsenal/rules/fsharp/patterns.md +0 -111
- package/vendor/theus-arsenal/rules/fsharp/security.md +0 -76
- package/vendor/theus-arsenal/rules/fsharp/testing.md +0 -62
- package/vendor/theus-arsenal/rules/golang/coding-style.md +0 -32
- package/vendor/theus-arsenal/rules/golang/hooks.md +0 -17
- package/vendor/theus-arsenal/rules/golang/patterns.md +0 -45
- package/vendor/theus-arsenal/rules/golang/security.md +0 -34
- package/vendor/theus-arsenal/rules/golang/testing.md +0 -31
- package/vendor/theus-arsenal/rules/java/coding-style.md +0 -114
- package/vendor/theus-arsenal/rules/java/hooks.md +0 -18
- package/vendor/theus-arsenal/rules/java/patterns.md +0 -147
- package/vendor/theus-arsenal/rules/java/security.md +0 -101
- package/vendor/theus-arsenal/rules/java/testing.md +0 -133
- package/vendor/theus-arsenal/rules/kotlin/coding-style.md +0 -86
- package/vendor/theus-arsenal/rules/kotlin/hooks.md +0 -17
- package/vendor/theus-arsenal/rules/kotlin/patterns.md +0 -146
- package/vendor/theus-arsenal/rules/kotlin/security.md +0 -82
- package/vendor/theus-arsenal/rules/kotlin/testing.md +0 -128
- package/vendor/theus-arsenal/rules/nuxt/coding-style.md +0 -47
- package/vendor/theus-arsenal/rules/nuxt/hooks.md +0 -39
- package/vendor/theus-arsenal/rules/nuxt/patterns.md +0 -54
- package/vendor/theus-arsenal/rules/nuxt/security.md +0 -48
- package/vendor/theus-arsenal/rules/nuxt/testing.md +0 -49
- package/vendor/theus-arsenal/rules/php/coding-style.md +0 -40
- package/vendor/theus-arsenal/rules/php/hooks.md +0 -24
- package/vendor/theus-arsenal/rules/php/patterns.md +0 -33
- package/vendor/theus-arsenal/rules/php/security.md +0 -37
- package/vendor/theus-arsenal/rules/php/testing.md +0 -38
- package/vendor/theus-arsenal/rules/python/coding-style.md +0 -42
- package/vendor/theus-arsenal/rules/python/fastapi.md +0 -58
- package/vendor/theus-arsenal/rules/python/hooks.md +0 -19
- package/vendor/theus-arsenal/rules/python/patterns.md +0 -39
- package/vendor/theus-arsenal/rules/python/security.md +0 -30
- package/vendor/theus-arsenal/rules/python/testing.md +0 -38
- package/vendor/theus-arsenal/rules/react/coding-style.md +0 -109
- package/vendor/theus-arsenal/rules/react/hooks.md +0 -187
- package/vendor/theus-arsenal/rules/react/patterns.md +0 -194
- package/vendor/theus-arsenal/rules/react/security.md +0 -180
- package/vendor/theus-arsenal/rules/react/testing.md +0 -208
- package/vendor/theus-arsenal/rules/react-native/accessibility.md +0 -55
- package/vendor/theus-arsenal/rules/react-native/coding-style.md +0 -71
- package/vendor/theus-arsenal/rules/react-native/hooks.md +0 -28
- package/vendor/theus-arsenal/rules/react-native/patterns.md +0 -88
- package/vendor/theus-arsenal/rules/react-native/performance.md +0 -45
- package/vendor/theus-arsenal/rules/react-native/production-readiness.md +0 -51
- package/vendor/theus-arsenal/rules/react-native/security.md +0 -43
- package/vendor/theus-arsenal/rules/react-native/testing.md +0 -52
- package/vendor/theus-arsenal/rules/ruby/coding-style.md +0 -46
- package/vendor/theus-arsenal/rules/ruby/hooks.md +0 -37
- package/vendor/theus-arsenal/rules/ruby/patterns.md +0 -44
- package/vendor/theus-arsenal/rules/ruby/security.md +0 -51
- package/vendor/theus-arsenal/rules/ruby/testing.md +0 -51
- package/vendor/theus-arsenal/rules/rust/coding-style.md +0 -151
- package/vendor/theus-arsenal/rules/rust/hooks.md +0 -16
- package/vendor/theus-arsenal/rules/rust/patterns.md +0 -168
- package/vendor/theus-arsenal/rules/rust/security.md +0 -141
- package/vendor/theus-arsenal/rules/rust/testing.md +0 -154
- package/vendor/theus-arsenal/rules/swift/coding-style.md +0 -47
- package/vendor/theus-arsenal/rules/swift/hooks.md +0 -20
- package/vendor/theus-arsenal/rules/swift/patterns.md +0 -66
- package/vendor/theus-arsenal/rules/swift/security.md +0 -33
- package/vendor/theus-arsenal/rules/swift/testing.md +0 -45
- package/vendor/theus-arsenal/rules/typescript/coding-style.md +0 -199
- package/vendor/theus-arsenal/rules/typescript/hooks.md +0 -22
- package/vendor/theus-arsenal/rules/typescript/patterns.md +0 -52
- package/vendor/theus-arsenal/rules/typescript/security.md +0 -28
- package/vendor/theus-arsenal/rules/typescript/testing.md +0 -18
- package/vendor/theus-arsenal/rules/vue/coding-style.md +0 -54
- package/vendor/theus-arsenal/rules/vue/hooks.md +0 -45
- package/vendor/theus-arsenal/rules/vue/patterns.md +0 -56
- package/vendor/theus-arsenal/rules/vue/security.md +0 -46
- package/vendor/theus-arsenal/rules/vue/testing.md +0 -53
- package/vendor/theus-arsenal/rules/web/coding-style.md +0 -108
- package/vendor/theus-arsenal/rules/web/design-quality.md +0 -75
- package/vendor/theus-arsenal/rules/web/hooks.md +0 -141
- package/vendor/theus-arsenal/rules/web/patterns.md +0 -91
- package/vendor/theus-arsenal/rules/web/performance.md +0 -76
- package/vendor/theus-arsenal/rules/web/security.md +0 -69
- package/vendor/theus-arsenal/rules/web/testing.md +0 -67
- package/vendor/theus-arsenal/scripts/hooks/bash-hook-dispatcher.js +0 -192
- package/vendor/theus-arsenal/scripts/hooks/block-no-verify.js +0 -556
- package/vendor/theus-arsenal/scripts/hooks/check-console-log.js +0 -92
- package/vendor/theus-arsenal/scripts/hooks/check-hook-enabled.js +0 -16
- package/vendor/theus-arsenal/scripts/hooks/config-protection.js +0 -171
- package/vendor/theus-arsenal/scripts/hooks/design-quality-check.js +0 -132
- package/vendor/theus-arsenal/scripts/hooks/doc-file-warning.js +0 -110
- package/vendor/theus-arsenal/scripts/hooks/modo-seguro.js +0 -158
- package/vendor/theus-arsenal/scripts/hooks/notificacion-escritorio.js +0 -208
- package/vendor/theus-arsenal/scripts/hooks/plugin-hook-bootstrap.js +0 -280
- package/vendor/theus-arsenal/scripts/hooks/post-bash-command-log.js +0 -87
- package/vendor/theus-arsenal/scripts/hooks/post-bash-dispatcher.js +0 -24
- package/vendor/theus-arsenal/scripts/hooks/post-bash-pr-created.js +0 -60
- package/vendor/theus-arsenal/scripts/hooks/post-edit-accumulator.js +0 -94
- package/vendor/theus-arsenal/scripts/hooks/post-edit-console-warn.js +0 -54
- package/vendor/theus-arsenal/scripts/hooks/post-edit-format.js +0 -110
- package/vendor/theus-arsenal/scripts/hooks/post-edit-typecheck.js +0 -98
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-commit-quality.js +0 -447
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-dev-server-block.js +0 -232
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-dispatcher.js +0 -27
- package/vendor/theus-arsenal/scripts/hooks/pre-compact.js +0 -101
- package/vendor/theus-arsenal/scripts/hooks/pretooluse-visible-output.js +0 -49
- package/vendor/theus-arsenal/scripts/hooks/quality-gate.js +0 -168
- package/vendor/theus-arsenal/scripts/hooks/run-with-flags.js +0 -271
- package/vendor/theus-arsenal/scripts/hooks/salud-mcp.js +0 -749
- package/vendor/theus-arsenal/scripts/hooks/seguimiento-costos.js +0 -161
- package/vendor/theus-arsenal/scripts/hooks/session-end.js +0 -340
- package/vendor/theus-arsenal/scripts/hooks/session-start.js +0 -906
- package/vendor/theus-arsenal/scripts/hooks/stop-format-typecheck.js +0 -263
- package/vendor/theus-arsenal/scripts/hooks/suggest-compact.js +0 -286
- package/vendor/theus-arsenal/scripts/hooks/theus-context-monitor.js +0 -289
- package/vendor/theus-arsenal/scripts/hooks/verificacion-factual.js +0 -1278
- package/vendor/theus-arsenal/scripts/lib/agent-data-home.js +0 -96
- package/vendor/theus-arsenal/scripts/lib/cost-estimate.js +0 -66
- package/vendor/theus-arsenal/scripts/lib/hook-flags.js +0 -79
- package/vendor/theus-arsenal/scripts/lib/llm-summary.js +0 -185
- package/vendor/theus-arsenal/scripts/lib/loopback-guard.js +0 -54
- package/vendor/theus-arsenal/scripts/lib/observer-sessions.js +0 -237
- package/vendor/theus-arsenal/scripts/lib/package-manager.d.ts +0 -120
- package/vendor/theus-arsenal/scripts/lib/package-manager.js +0 -434
- package/vendor/theus-arsenal/scripts/lib/path-safety.js +0 -86
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/markdown.js +0 -285
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/sdk.js +0 -238
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/server.js +0 -534
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/sessions.js +0 -274
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/ui.js +0 -546
- package/vendor/theus-arsenal/scripts/lib/project-detect.js +0 -451
- package/vendor/theus-arsenal/scripts/lib/resolve-formatter.js +0 -193
- package/vendor/theus-arsenal/scripts/lib/resolve-theus-root.js +0 -101
- package/vendor/theus-arsenal/scripts/lib/session-aliases.d.ts +0 -138
- package/vendor/theus-arsenal/scripts/lib/session-aliases.js +0 -483
- package/vendor/theus-arsenal/scripts/lib/session-bridge.js +0 -155
- package/vendor/theus-arsenal/scripts/lib/session-manager.d.ts +0 -137
- package/vendor/theus-arsenal/scripts/lib/session-manager.js +0 -555
- package/vendor/theus-arsenal/scripts/lib/shell-split.js +0 -86
- package/vendor/theus-arsenal/scripts/lib/shell-substitution.js +0 -501
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/dashboard.js +0 -414
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/health.js +0 -285
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/index.js +0 -22
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/provenance.js +0 -200
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/tracker.js +0 -157
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/versioning.js +0 -246
- package/vendor/theus-arsenal/scripts/lib/transcript-context.js +0 -232
- package/vendor/theus-arsenal/scripts/lib/utils.d.ts +0 -205
- package/vendor/theus-arsenal/scripts/lib/utils.js +0 -658
- package/vendor/theus-arsenal/scripts/plan-canvas.js +0 -341
- package/vendor/theus-arsenal/scripts/setup-package-manager.js +0 -46
- package/vendor/theus-arsenal/scripts/skills-health.js +0 -143
- package/vendor/theus-arsenal/skills/a11y-frontend/SKILL.md +0 -444
- package/vendor/theus-arsenal/skills/accesibilidad/SKILL.md +0 -144
- package/vendor/theus-arsenal/skills/acelerador-throughput-datos/SKILL.md +0 -72
- package/vendor/theus-arsenal/skills/agente-scraper-datos/SKILL.md +0 -771
- package/vendor/theus-arsenal/skills/analisis-plataformas-competencia/SKILL.md +0 -137
- package/vendor/theus-arsenal/skills/api-x/SKILL.md +0 -233
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/SKILL.md +0 -335
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer-loop.sh +0 -374
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer.md +0 -188
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/session-guardian.sh +0 -153
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/start-observer.sh +0 -253
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/config.json +0 -8
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/hooks/observe.sh +0 -594
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/detect-project.sh +0 -325
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/instinct-cli.py +0 -1918
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/lib/arsenal-dir.sh +0 -23
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/test_parse_instinct.py +0 -1420
- package/vendor/theus-arsenal/skills/arquitectura-hexagonal/SKILL.md +0 -275
- package/vendor/theus-arsenal/skills/arquitectura-limpia-android/SKILL.md +0 -340
- package/vendor/theus-arsenal/skills/arquitectura-pipelines-recomendacion/SKILL.md +0 -112
- package/vendor/theus-arsenal/skills/atlas-datos-prediccion/SKILL.md +0 -53
- package/vendor/theus-arsenal/skills/auditoria-arquitectura-agentes/SKILL.md +0 -257
- package/vendor/theus-arsenal/skills/auditoria-produccion/SKILL.md +0 -180
- package/vendor/theus-arsenal/skills/auditoria-rutas-clic/SKILL.md +0 -243
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/SKILL.md +0 -180
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/high-score-example.md +0 -89
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/low-score-example.md +0 -87
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/evaluation-criteria.md +0 -71
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/hook-integration.md +0 -90
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/scripts/evaluate.py +0 -409
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/templates/evaluation-report.md +0 -86
- package/vendor/theus-arsenal/skills/automatizacion-ssh-netmiko/SKILL.md +0 -176
- package/vendor/theus-arsenal/skills/base-datos-pubmed/SKILL.md +0 -174
- package/vendor/theus-arsenal/skills/base-datos-uspto/SKILL.md +0 -173
- package/vendor/theus-arsenal/skills/benchmark/SKILL.md +0 -92
- package/vendor/theus-arsenal/skills/bitacora-crecimiento/SKILL.md +0 -120
- package/vendor/theus-arsenal/skills/bucle-verificacion/SKILL.md +0 -125
- package/vendor/theus-arsenal/skills/buscar-primero/SKILL.md +0 -184
- package/vendor/theus-arsenal/skills/busqueda-exa/SKILL.md +0 -111
- package/vendor/theus-arsenal/skills/cache-por-hash/SKILL.md +0 -160
- package/vendor/theus-arsenal/skills/campana-marketing/SKILL.md +0 -118
- package/vendor/theus-arsenal/skills/capacidad-producto/SKILL.md +0 -138
- package/vendor/theus-arsenal/skills/cazador-vulnerabilidades/SKILL.md +0 -104
- package/vendor/theus-arsenal/skills/compactacion-estrategica/SKILL.md +0 -115
- package/vendor/theus-arsenal/skills/comparador-baskets-prediccion/SKILL.md +0 -69
- package/vendor/theus-arsenal/skills/compras-energia/SKILL.md +0 -206
- package/vendor/theus-arsenal/skills/concurrencia-swift-6-2/SKILL.md +0 -224
- package/vendor/theus-arsenal/skills/consejo/SKILL.md +0 -201
- package/vendor/theus-arsenal/skills/construccion-harness-agentes/SKILL.md +0 -78
- package/vendor/theus-arsenal/skills/constructor-conectores/SKILL.md +0 -119
- package/vendor/theus-arsenal/skills/constructor-equipos/SKILL.md +0 -169
- package/vendor/theus-arsenal/skills/consulta-documentacion/SKILL.md +0 -92
- package/vendor/theus-arsenal/skills/consultas-genomicas-gget/SKILL.md +0 -170
- package/vendor/theus-arsenal/skills/contacto-inversores/SKILL.md +0 -95
- package/vendor/theus-arsenal/skills/corrutinas-flows-kotlin/SKILL.md +0 -284
- package/vendor/theus-arsenal/skills/creacion-video-remotion/SKILL.md +0 -46
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/3d.md +0 -86
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/animations.md +0 -29
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/charts-bar-chart.tsx +0 -173
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-typewriter.tsx +0 -100
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-word-highlight.tsx +0 -108
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets.md +0 -78
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/audio.md +0 -172
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/calculate-metadata.md +0 -104
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/can-decode.md +0 -75
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/charts.md +0 -58
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/compositions.md +0 -146
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/display-captions.md +0 -126
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/extract-frames.md +0 -229
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/fonts.md +0 -152
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-audio-duration.md +0 -58
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-dimensions.md +0 -68
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-duration.md +0 -58
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/gifs.md +0 -138
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/images.md +0 -130
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/import-srt-captions.md +0 -67
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/lottie.md +0 -67
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-dom-nodes.md +0 -34
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-text.md +0 -143
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/sequencing.md +0 -106
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/tailwind.md +0 -11
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/text-animations.md +0 -20
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/timing.md +0 -179
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transcribe-captions.md +0 -19
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transitions.md +0 -122
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/trimming.md +0 -52
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/videos.md +0 -171
- package/vendor/theus-arsenal/skills/cumplimiento-aduanero/SKILL.md +0 -270
- package/vendor/theus-arsenal/skills/cumplimiento-hipaa/SKILL.md +0 -78
- package/vendor/theus-arsenal/skills/datos-sensibles-salud/SKILL.md +0 -149
- package/vendor/theus-arsenal/skills/decimales-tokens-evm/SKILL.md +0 -128
- package/vendor/theus-arsenal/skills/decisiones-arquitectura/SKILL.md +0 -206
- package/vendor/theus-arsenal/skills/demos-ui/SKILL.md +0 -469
- package/vendor/theus-arsenal/skills/desarrollo-por-intencion/SKILL.md +0 -369
- package/vendor/theus-arsenal/skills/descubrimiento-marca/SKILL.md +0 -149
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/10_proposito-porque.md +0 -42
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/20_posicionamiento.md +0 -47
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/30_audiencia-nicho.md +0 -53
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/40_personalidad-arquetipo.md +0 -61
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/50_voz-tono.md +0 -62
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/60_narrativa-historia.md +0 -54
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/70_tension-fundador.md +0 -50
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/90_SINTESIS.md +0 -133
- package/vendor/theus-arsenal/skills/descubrimiento-plugins-laravel/SKILL.md +0 -230
- package/vendor/theus-arsenal/skills/destilado-reglas/SKILL.md +0 -263
- package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-rules.sh +0 -58
- package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-skills.sh +0 -129
- package/vendor/theus-arsenal/skills/diagnostico-bgp/SKILL.md +0 -170
- package/vendor/theus-arsenal/skills/direccion-estetica/SKILL.md +0 -220
- package/vendor/theus-arsenal/skills/direccion-estetica/references/taxonomia-generos.md +0 -89
- package/vendor/theus-arsenal/skills/diseno-api/SKILL.md +0 -522
- package/vendor/theus-arsenal/skills/diseno-liquid-glass/SKILL.md +0 -282
- package/vendor/theus-arsenal/skills/e2e-escritorio-windows/SKILL.md +0 -879
- package/vendor/theus-arsenal/skills/edicion-video/SKILL.md +0 -289
- package/vendor/theus-arsenal/skills/enfoque-producto/SKILL.md +0 -91
- package/vendor/theus-arsenal/skills/entornos-flox/SKILL.md +0 -493
- package/vendor/theus-arsenal/skills/estandares-codigo/SKILL.md +0 -548
- package/vendor/theus-arsenal/skills/estandares-cpp/SKILL.md +0 -727
- package/vendor/theus-arsenal/skills/estandares-java/SKILL.md +0 -389
- package/vendor/theus-arsenal/skills/estilo-legado/SKILL.md +0 -149
- package/vendor/theus-arsenal/skills/estructura-informes-competencia/SKILL.md +0 -95
- package/vendor/theus-arsenal/skills/evaluacion-academica/SKILL.md +0 -165
- package/vendor/theus-arsenal/skills/explorador-skills/SKILL.md +0 -129
- package/vendor/theus-arsenal/skills/flujo-git/SKILL.md +0 -714
- package/vendor/theus-arsenal/skills/flujo-ingenieria-ml/SKILL.md +0 -343
- package/vendor/theus-arsenal/skills/flujo-tdd/SKILL.md +0 -584
- package/vendor/theus-arsenal/skills/forja-personas/SKILL.md +0 -298
- package/vendor/theus-arsenal/skills/forja-personas/gacha.py +0 -224
- package/vendor/theus-arsenal/skills/forja-personas/gacha.sh +0 -5
- package/vendor/theus-arsenal/skills/forja-personas/references/avatar-style.md +0 -123
- package/vendor/theus-arsenal/skills/forja-personas/references/boundary-rules.md +0 -53
- package/vendor/theus-arsenal/skills/forja-personas/references/error-handling.md +0 -53
- package/vendor/theus-arsenal/skills/forja-personas/references/identity-tension.md +0 -48
- package/vendor/theus-arsenal/skills/forja-personas/references/naming-system.md +0 -39
- package/vendor/theus-arsenal/skills/forja-personas/references/output-template.md +0 -166
- package/vendor/theus-arsenal/skills/fundamentos-animacion/SKILL.md +0 -296
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/SKILL.md +0 -156
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/generate_icons.swift +0 -258
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/iconify_gen.sh +0 -235
- package/vendor/theus-arsenal/skills/gestion-excepciones-logisticas/SKILL.md +0 -208
- package/vendor/theus-arsenal/skills/gestion-transportistas/SKILL.md +0 -204
- package/vendor/theus-arsenal/skills/guia-adopcion-ml/SKILL.md +0 -64
- package/vendor/theus-arsenal/skills/harness-agente-autonomo/SKILL.md +0 -252
- package/vendor/theus-arsenal/skills/harness-eval-clinico/SKILL.md +0 -212
- package/vendor/theus-arsenal/skills/harness-evaluacion/SKILL.md +0 -296
- package/vendor/theus-arsenal/skills/harness-generador-evaluador/SKILL.md +0 -254
- package/vendor/theus-arsenal/skills/homelab-diseno-red/SKILL.md +0 -120
- package/vendor/theus-arsenal/skills/homelab-dns-pihole/SKILL.md +0 -264
- package/vendor/theus-arsenal/skills/homelab-preparacion-red/SKILL.md +0 -144
- package/vendor/theus-arsenal/skills/homelab-segmentacion-vlan/SKILL.md +0 -307
- package/vendor/theus-arsenal/skills/homelab-vpn-wireguard/SKILL.md +0 -299
- package/vendor/theus-arsenal/skills/ingenieria-agentica/SKILL.md +0 -96
- package/vendor/theus-arsenal/skills/inspeccion-animaciones-blender/SKILL.md +0 -164
- package/vendor/theus-arsenal/skills/instaladores-python/SKILL.md +0 -820
- package/vendor/theus-arsenal/skills/integracion-jira/SKILL.md +0 -307
- package/vendor/theus-arsenal/skills/inteligencia-leads/SKILL.md +0 -312
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/agente-enriquecimiento.md +0 -87
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/mapeador-mutuos.md +0 -76
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/puntuador-senales.md +0 -60
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/redactor-outreach.md +0 -102
- package/vendor/theus-arsenal/skills/inteligencia-mercados-prediccion/SKILL.md +0 -53
- package/vendor/theus-arsenal/skills/introspeccion-agente/SKILL.md +0 -150
- package/vendor/theus-arsenal/skills/inventario-skills/SKILL.md +0 -194
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/quick-diff.sh +0 -87
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/save-results.sh +0 -57
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/scan.sh +0 -170
- package/vendor/theus-arsenal/skills/investigacion-mercado/SKILL.md +0 -87
- package/vendor/theus-arsenal/skills/investigacion-oraculos-prediccion/SKILL.md +0 -59
- package/vendor/theus-arsenal/skills/investigacion-profunda/SKILL.md +0 -161
- package/vendor/theus-arsenal/skills/keccak256-nodejs/SKILL.md +0 -100
- package/vendor/theus-arsenal/skills/libro-decisiones-recursivo/SKILL.md +0 -82
- package/vendor/theus-arsenal/skills/lienzo-planes/SKILL.md +0 -111
- package/vendor/theus-arsenal/skills/limpieza-configuracion/SKILL.md +0 -116
- package/vendor/theus-arsenal/skills/logistica-inversa-devoluciones/SKILL.md +0 -241
- package/vendor/theus-arsenal/skills/manejo-errores/SKILL.md +0 -375
- package/vendor/theus-arsenal/skills/materiales-inversores/SKILL.md +0 -101
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/SKILL.md +0 -170
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/forget.mjs +0 -44
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/info.mjs +0 -24
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/init.mjs +0 -152
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/list.mjs +0 -40
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/migrate.mjs +0 -214
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/resume.mjs +0 -36
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/save.mjs +0 -210
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/shared.mjs +0 -402
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/hooks/session-start.mjs +0 -238
- package/vendor/theus-arsenal/skills/metodologia-benchmarks/SKILL.md +0 -131
- package/vendor/theus-arsenal/skills/migraciones-bd/SKILL.md +0 -430
- package/vendor/theus-arsenal/skills/modelos-fundacionales-en-dispositivo/SKILL.md +0 -244
- package/vendor/theus-arsenal/skills/modo-seguro/SKILL.md +0 -86
- package/vendor/theus-arsenal/skills/motion-avanzado/SKILL.md +0 -592
- package/vendor/theus-arsenal/skills/motor-de-contenido/SKILL.md +0 -136
- package/vendor/theus-arsenal/skills/no-conformidades-calidad/SKILL.md +0 -249
- package/vendor/theus-arsenal/skills/onboarding-codigo/SKILL.md +0 -244
- package/vendor/theus-arsenal/skills/operaciones-agentes-empresariales/SKILL.md +0 -51
- package/vendor/theus-arsenal/skills/operaciones-conocimiento/SKILL.md +0 -159
- package/vendor/theus-arsenal/skills/operaciones-correo/SKILL.md +0 -123
- package/vendor/theus-arsenal/skills/operaciones-facturacion/SKILL.md +0 -142
- package/vendor/theus-arsenal/skills/operaciones-flujo-proyectos/SKILL.md +0 -110
- package/vendor/theus-arsenal/skills/operaciones-github/SKILL.md +0 -143
- package/vendor/theus-arsenal/skills/operaciones-google-workspace/SKILL.md +0 -100
- package/vendor/theus-arsenal/skills/operaciones-investigacion/SKILL.md +0 -124
- package/vendor/theus-arsenal/skills/operaciones-mensajes/SKILL.md +0 -103
- package/vendor/theus-arsenal/skills/operaciones-terminal/SKILL.md +0 -110
- package/vendor/theus-arsenal/skills/optimizacion-benchmark/SKILL.md +0 -70
- package/vendor/theus-arsenal/skills/optimizacion-costos-llm/SKILL.md +0 -182
- package/vendor/theus-arsenal/skills/optimizador-conexiones/SKILL.md +0 -191
- package/vendor/theus-arsenal/skills/optimizador-paralelismo/SKILL.md +0 -75
- package/vendor/theus-arsenal/skills/optimizador-prompts/SKILL.md +0 -374
- package/vendor/theus-arsenal/skills/orq-agregar-funcionalidad/SKILL.md +0 -37
- package/vendor/theus-arsenal/skills/orq-cambiar-funcionalidad/SKILL.md +0 -36
- package/vendor/theus-arsenal/skills/orq-construir-mvp/SKILL.md +0 -38
- package/vendor/theus-arsenal/skills/orq-corregir-defecto/SKILL.md +0 -36
- package/vendor/theus-arsenal/skills/orq-pipeline/SKILL.md +0 -134
- package/vendor/theus-arsenal/skills/orq-refinar-codigo/SKILL.md +0 -49
- package/vendor/theus-arsenal/skills/orquestacion-equipos-agentes/SKILL.md +0 -117
- package/vendor/theus-arsenal/skills/pagos-agentes-x402/SKILL.md +0 -237
- package/vendor/theus-arsenal/skills/patrones-angular/SKILL.md +0 -153
- package/vendor/theus-arsenal/skills/patrones-angular/references/angular-animations.md +0 -160
- package/vendor/theus-arsenal/skills/patrones-angular/references/angular-aria.md +0 -410
- package/vendor/theus-arsenal/skills/patrones-angular/references/cli.md +0 -86
- package/vendor/theus-arsenal/skills/patrones-angular/references/component-harnesses.md +0 -59
- package/vendor/theus-arsenal/skills/patrones-angular/references/component-styling.md +0 -91
- package/vendor/theus-arsenal/skills/patrones-angular/references/components.md +0 -117
- package/vendor/theus-arsenal/skills/patrones-angular/references/creating-services.md +0 -97
- package/vendor/theus-arsenal/skills/patrones-angular/references/data-resolvers.md +0 -69
- package/vendor/theus-arsenal/skills/patrones-angular/references/define-routes.md +0 -67
- package/vendor/theus-arsenal/skills/patrones-angular/references/defining-providers.md +0 -72
- package/vendor/theus-arsenal/skills/patrones-angular/references/di-fundamentals.md +0 -120
- package/vendor/theus-arsenal/skills/patrones-angular/references/e2e-testing.md +0 -56
- package/vendor/theus-arsenal/skills/patrones-angular/references/effects.md +0 -83
- package/vendor/theus-arsenal/skills/patrones-angular/references/hierarchical-injectors.md +0 -43
- package/vendor/theus-arsenal/skills/patrones-angular/references/host-elements.md +0 -80
- package/vendor/theus-arsenal/skills/patrones-angular/references/injection-context.md +0 -63
- package/vendor/theus-arsenal/skills/patrones-angular/references/inputs.md +0 -101
- package/vendor/theus-arsenal/skills/patrones-angular/references/linked-signal.md +0 -59
- package/vendor/theus-arsenal/skills/patrones-angular/references/loading-strategies.md +0 -61
- package/vendor/theus-arsenal/skills/patrones-angular/references/mcp.md +0 -67
- package/vendor/theus-arsenal/skills/patrones-angular/references/navigate-to-routes.md +0 -69
- package/vendor/theus-arsenal/skills/patrones-angular/references/outputs.md +0 -86
- package/vendor/theus-arsenal/skills/patrones-angular/references/reactive-forms.md +0 -122
- package/vendor/theus-arsenal/skills/patrones-angular/references/rendering-strategies.md +0 -44
- package/vendor/theus-arsenal/skills/patrones-angular/references/resource.md +0 -77
- package/vendor/theus-arsenal/skills/patrones-angular/references/route-animations.md +0 -56
- package/vendor/theus-arsenal/skills/patrones-angular/references/route-guards.md +0 -52
- package/vendor/theus-arsenal/skills/patrones-angular/references/router-lifecycle.md +0 -45
- package/vendor/theus-arsenal/skills/patrones-angular/references/router-testing.md +0 -87
- package/vendor/theus-arsenal/skills/patrones-angular/references/show-routes-with-outlets.md +0 -68
- package/vendor/theus-arsenal/skills/patrones-angular/references/signal-forms.md +0 -795
- package/vendor/theus-arsenal/skills/patrones-angular/references/signals-overview.md +0 -94
- package/vendor/theus-arsenal/skills/patrones-angular/references/tailwind-css.md +0 -69
- package/vendor/theus-arsenal/skills/patrones-angular/references/template-driven-forms.md +0 -114
- package/vendor/theus-arsenal/skills/patrones-angular/references/testing-fundamentals.md +0 -65
- package/vendor/theus-arsenal/skills/patrones-animacion/SKILL.md +0 -432
- package/vendor/theus-arsenal/skills/patrones-backend/SKILL.md +0 -560
- package/vendor/theus-arsenal/skills/patrones-cdss-clinico/SKILL.md +0 -249
- package/vendor/theus-arsenal/skills/patrones-cisco-ios/SKILL.md +0 -148
- package/vendor/theus-arsenal/skills/patrones-clickhouse/SKILL.md +0 -443
- package/vendor/theus-arsenal/skills/patrones-compose-multiplatform/SKILL.md +0 -298
- package/vendor/theus-arsenal/skills/patrones-dart-flutter/SKILL.md +0 -566
- package/vendor/theus-arsenal/skills/patrones-despliegue/SKILL.md +0 -426
- package/vendor/theus-arsenal/skills/patrones-django/SKILL.md +0 -739
- package/vendor/theus-arsenal/skills/patrones-django-celery/SKILL.md +0 -456
- package/vendor/theus-arsenal/skills/patrones-docker/SKILL.md +0 -363
- package/vendor/theus-arsenal/skills/patrones-dotnet/SKILL.md +0 -321
- package/vendor/theus-arsenal/skills/patrones-emr-clinico/SKILL.md +0 -168
- package/vendor/theus-arsenal/skills/patrones-fastapi/SKILL.md +0 -513
- package/vendor/theus-arsenal/skills/patrones-frontend/SKILL.md +0 -655
- package/vendor/theus-arsenal/skills/patrones-go/SKILL.md +0 -674
- package/vendor/theus-arsenal/skills/patrones-jpa/SKILL.md +0 -156
- package/vendor/theus-arsenal/skills/patrones-kotlin/SKILL.md +0 -717
- package/vendor/theus-arsenal/skills/patrones-kotlin-exposed/SKILL.md +0 -724
- package/vendor/theus-arsenal/skills/patrones-kotlin-ktor/SKILL.md +0 -694
- package/vendor/theus-arsenal/skills/patrones-kubernetes/SKILL.md +0 -754
- package/vendor/theus-arsenal/skills/patrones-laravel/SKILL.md +0 -414
- package/vendor/theus-arsenal/skills/patrones-mcp/SKILL.md +0 -66
- package/vendor/theus-arsenal/skills/patrones-mysql/SKILL.md +0 -420
- package/vendor/theus-arsenal/skills/patrones-nestjs/SKILL.md +0 -229
- package/vendor/theus-arsenal/skills/patrones-nextjs/SKILL.md +0 -56
- package/vendor/theus-arsenal/skills/patrones-nuxt4/SKILL.md +0 -99
- package/vendor/theus-arsenal/skills/patrones-perl/SKILL.md +0 -508
- package/vendor/theus-arsenal/skills/patrones-postgres/SKILL.md +0 -141
- package/vendor/theus-arsenal/skills/patrones-prisma/SKILL.md +0 -399
- package/vendor/theus-arsenal/skills/patrones-python/SKILL.md +0 -750
- package/vendor/theus-arsenal/skills/patrones-pytorch/SKILL.md +0 -400
- package/vendor/theus-arsenal/skills/patrones-quarkus/SKILL.md +0 -729
- package/vendor/theus-arsenal/skills/patrones-react/SKILL.md +0 -339
- package/vendor/theus-arsenal/skills/patrones-react-native/SKILL.md +0 -325
- package/vendor/theus-arsenal/skills/patrones-redis/SKILL.md +0 -401
- package/vendor/theus-arsenal/skills/patrones-rust/SKILL.md +0 -504
- package/vendor/theus-arsenal/skills/patrones-springboot/SKILL.md +0 -314
- package/vendor/theus-arsenal/skills/patrones-swiftui/SKILL.md +0 -261
- package/vendor/theus-arsenal/skills/patrones-tinystruct/SKILL.md +0 -281
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/architecture.md +0 -90
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/data-handling.md +0 -60
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/database.md +0 -99
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/routing.md +0 -64
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/system-usage.md +0 -97
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/testing.md +0 -72
- package/vendor/theus-arsenal/skills/patrones-vite/SKILL.md +0 -449
- package/vendor/theus-arsenal/skills/patrones-vue/SKILL.md +0 -469
- package/vendor/theus-arsenal/skills/persistencia-actores-swift/SKILL.md +0 -148
- package/vendor/theus-arsenal/skills/pipeline-opensource/SKILL.md +0 -254
- package/vendor/theus-arsenal/skills/planificacion-demanda-inventario/SKILL.md +0 -236
- package/vendor/theus-arsenal/skills/planificador-trades-prediccion/SKILL.md +0 -60
- package/vendor/theus-arsenal/skills/plano-tecnico/SKILL.md +0 -102
- package/vendor/theus-arsenal/skills/presentaciones-html/SKILL.md +0 -189
- package/vendor/theus-arsenal/skills/presentaciones-html/STYLE_PRESETS.md +0 -330
- package/vendor/theus-arsenal/skills/presentaciones-html/animation-patterns.md +0 -122
- package/vendor/theus-arsenal/skills/presentaciones-html/html-template.md +0 -419
- package/vendor/theus-arsenal/skills/presentaciones-html/scripts/export-pdf.sh +0 -418
- package/vendor/theus-arsenal/skills/presentaciones-html/scripts/extract-pptx.py +0 -96
- package/vendor/theus-arsenal/skills/presentaciones-html/viewport-base.css +0 -153
- package/vendor/theus-arsenal/skills/presupuesto-contexto/SKILL.md +0 -263
- package/vendor/theus-arsenal/skills/procesamiento-documentos-nutrient/SKILL.md +0 -168
- package/vendor/theus-arsenal/skills/programacion-produccion/SKILL.md +0 -220
- package/vendor/theus-arsenal/skills/publicacion-cruzada/SKILL.md +0 -117
- package/vendor/theus-arsenal/skills/publicador-social/SKILL.md +0 -121
- package/vendor/theus-arsenal/skills/puerta-de-entrega/SKILL.md +0 -164
- package/vendor/theus-arsenal/skills/puerta-de-entrega/hooks/puerta-entrega.py +0 -242
- package/vendor/theus-arsenal/skills/pulir-interfaces/SKILL.md +0 -126
- package/vendor/theus-arsenal/skills/qa-navegador/SKILL.md +0 -103
- package/vendor/theus-arsenal/skills/ranking-grafo-social/SKILL.md +0 -153
- package/vendor/theus-arsenal/skills/recuperacion-iterativa/SKILL.md +0 -236
- package/vendor/theus-arsenal/skills/redaccion-articulos/SKILL.md +0 -81
- package/vendor/theus-arsenal/skills/regex-vs-llm/SKILL.md +0 -221
- package/vendor/theus-arsenal/skills/regresion-codigo-ia/SKILL.md +0 -388
- package/vendor/theus-arsenal/skills/rendimiento-react/SKILL.md +0 -567
- package/vendor/theus-arsenal/skills/revision-codigo-flutter-dart/SKILL.md +0 -442
- package/vendor/theus-arsenal/skills/revision-literatura-cientifica/SKILL.md +0 -191
- package/vendor/theus-arsenal/skills/revision-multiperspectiva/SKILL.md +0 -302
- package/vendor/theus-arsenal/skills/revision-riesgo-prediccion/SKILL.md +0 -56
- package/vendor/theus-arsenal/skills/revision-seguridad/SKILL.md +0 -505
- package/vendor/theus-arsenal/skills/revision-seguridad/cloud-infrastructure-security.md +0 -361
- package/vendor/theus-arsenal/skills/runtime-bun/SKILL.md +0 -83
- package/vendor/theus-arsenal/skills/salud-codigo-codescene/SKILL.md +0 -163
- package/vendor/theus-arsenal/skills/salud-interfaces-red/SKILL.md +0 -143
- package/vendor/theus-arsenal/skills/seguimiento-costos/SKILL.md +0 -122
- package/vendor/theus-arsenal/skills/seguridad-agentes-trading/SKILL.md +0 -145
- package/vendor/theus-arsenal/skills/seguridad-amm-defi/SKILL.md +0 -166
- package/vendor/theus-arsenal/skills/seguridad-django/SKILL.md +0 -648
- package/vendor/theus-arsenal/skills/seguridad-laravel/SKILL.md +0 -945
- package/vendor/theus-arsenal/skills/seguridad-perl/SKILL.md +0 -507
- package/vendor/theus-arsenal/skills/seguridad-quarkus/SKILL.md +0 -474
- package/vendor/theus-arsenal/skills/seguridad-springboot/SKILL.md +0 -279
- package/vendor/theus-arsenal/skills/seo/SKILL.md +0 -166
- package/vendor/theus-arsenal/skills/sistema-diseno/SKILL.md +0 -81
- package/vendor/theus-arsenal/skills/sistema-operativo-agentico/SKILL.md +0 -375
- package/vendor/theus-arsenal/skills/sistemas-latencia-critica/SKILL.md +0 -65
- package/vendor/theus-arsenal/skills/tdd-django/SKILL.md +0 -735
- package/vendor/theus-arsenal/skills/tdd-laravel/SKILL.md +0 -673
- package/vendor/theus-arsenal/skills/tdd-quarkus/SKILL.md +0 -817
- package/vendor/theus-arsenal/skills/tdd-springboot/SKILL.md +0 -165
- package/vendor/theus-arsenal/skills/testing-cpp/SKILL.md +0 -328
- package/vendor/theus-arsenal/skills/testing-csharp/SKILL.md +0 -321
- package/vendor/theus-arsenal/skills/testing-e2e/SKILL.md +0 -325
- package/vendor/theus-arsenal/skills/testing-go/SKILL.md +0 -719
- package/vendor/theus-arsenal/skills/testing-kotlin/SKILL.md +0 -829
- package/vendor/theus-arsenal/skills/testing-perl/SKILL.md +0 -479
- package/vendor/theus-arsenal/skills/testing-protocolos-di-swift/SKILL.md +0 -196
- package/vendor/theus-arsenal/skills/testing-python/SKILL.md +0 -815
- package/vendor/theus-arsenal/skills/testing-react/SKILL.md +0 -421
- package/vendor/theus-arsenal/skills/testing-rust/SKILL.md +0 -506
- package/vendor/theus-arsenal/skills/tours-de-codigo/SKILL.md +0 -252
- package/vendor/theus-arsenal/skills/traduccion-documentos-visado/SKILL.md +0 -121
- package/vendor/theus-arsenal/skills/ui-a-vue/SKILL.md +0 -141
- package/vendor/theus-arsenal/skills/validacion-config-red/SKILL.md +0 -211
- package/vendor/theus-arsenal/skills/verificacion-django/SKILL.md +0 -470
- package/vendor/theus-arsenal/skills/verificacion-factual/SKILL.md +0 -142
- package/vendor/theus-arsenal/skills/verificacion-laravel/SKILL.md +0 -184
- package/vendor/theus-arsenal/skills/verificacion-quarkus/SKILL.md +0 -485
- package/vendor/theus-arsenal/skills/verificacion-springboot/SKILL.md +0 -237
- package/vendor/theus-arsenal/skills/videodb/SKILL.md +0 -374
- package/vendor/theus-arsenal/skills/videodb/reference/api-reference.md +0 -550
- package/vendor/theus-arsenal/skills/videodb/reference/capture-reference.md +0 -407
- package/vendor/theus-arsenal/skills/videodb/reference/capture.md +0 -101
- package/vendor/theus-arsenal/skills/videodb/reference/editor.md +0 -443
- package/vendor/theus-arsenal/skills/videodb/reference/generative.md +0 -331
- package/vendor/theus-arsenal/skills/videodb/reference/rtstream-reference.md +0 -564
- package/vendor/theus-arsenal/skills/videodb/reference/rtstream.md +0 -65
- package/vendor/theus-arsenal/skills/videodb/reference/search.md +0 -230
- package/vendor/theus-arsenal/skills/videodb/reference/streaming.md +0 -406
- package/vendor/theus-arsenal/skills/videodb/reference/use-cases.md +0 -118
- package/vendor/theus-arsenal/skills/videodb/scripts/ws_listener.py +0 -279
- package/vendor/theus-arsenal/skills/videos-manim/SKILL.md +0 -91
- package/vendor/theus-arsenal/skills/videos-manim/assets/network_graph_scene.py +0 -52
- package/vendor/theus-arsenal/skills/vigilancia-canary/SKILL.md +0 -108
- package/vendor/theus-arsenal/skills/voz-de-marca/SKILL.md +0 -106
|
@@ -1,389 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: estandares-java
|
|
3
|
-
description: "Estándares de código Java para servicios Spring Boot y Quarkus: nomenclatura, inmutabilidad, uso de Optional, streams, excepciones, genéricos, CDI, patrones reactivos y estructura de proyecto. Aplica automáticamente las convenciones específicas de cada framework."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Estándares de código Java
|
|
7
|
-
|
|
8
|
-
Estándares para código Java (17+) legible y mantenible en servicios Spring Boot y Quarkus.
|
|
9
|
-
|
|
10
|
-
## Cuándo usarla
|
|
11
|
-
|
|
12
|
-
- Al escribir o revisar código Java en proyectos Spring Boot o Quarkus.
|
|
13
|
-
- Al aplicar convenciones de nomenclatura, inmutabilidad o manejo de excepciones.
|
|
14
|
-
- Al trabajar con records, sealed classes o pattern matching (Java 17+).
|
|
15
|
-
- Al revisar el uso de Optional, streams o genéricos.
|
|
16
|
-
- Al estructurar paquetes y el layout del proyecto.
|
|
17
|
-
- **[QUARKUS]**: al trabajar con scopes de CDI, entidades Panache o pipelines reactivos.
|
|
18
|
-
|
|
19
|
-
## Cómo funciona
|
|
20
|
-
|
|
21
|
-
### Detección del framework
|
|
22
|
-
|
|
23
|
-
Antes de aplicar los estándares, determina el framework a partir del archivo de build:
|
|
24
|
-
|
|
25
|
-
- El archivo de build contiene `quarkus` → aplica las convenciones **[QUARKUS]**
|
|
26
|
-
- El archivo de build contiene `spring-boot` → aplica las convenciones **[SPRING]**
|
|
27
|
-
- Ninguno detectado → aplica solo las convenciones compartidas
|
|
28
|
-
|
|
29
|
-
## Principios centrales
|
|
30
|
-
|
|
31
|
-
- Prefiere la claridad sobre la astucia.
|
|
32
|
-
- Inmutable por defecto; minimiza el estado mutable compartido.
|
|
33
|
-
- Falla rápido con excepciones con significado.
|
|
34
|
-
- Nomenclatura y estructura de paquetes consistentes.
|
|
35
|
-
- **[QUARKUS]**: favorece el procesamiento en tiempo de build sobre el de ejecución; evita la reflexión en runtime cuando sea posible.
|
|
36
|
-
|
|
37
|
-
## Ejemplos
|
|
38
|
-
|
|
39
|
-
Las secciones siguientes muestran ejemplos concretos de Spring Boot, Quarkus y Java
|
|
40
|
-
compartido para nomenclatura, inmutabilidad, inyección de dependencias, código reactivo,
|
|
41
|
-
excepciones, estructura de proyecto, logging, configuración y tests.
|
|
42
|
-
|
|
43
|
-
## Nomenclatura
|
|
44
|
-
|
|
45
|
-
```java
|
|
46
|
-
// BIEN: clases/records: PascalCase
|
|
47
|
-
public class MarketService {}
|
|
48
|
-
public record Money(BigDecimal amount, Currency currency) {}
|
|
49
|
-
|
|
50
|
-
// BIEN: métodos/campos: camelCase
|
|
51
|
-
private final MarketRepository marketRepository;
|
|
52
|
-
public Market findBySlug(String slug) {}
|
|
53
|
-
|
|
54
|
-
// BIEN: constantes: UPPER_SNAKE_CASE
|
|
55
|
-
private static final int MAX_PAGE_SIZE = 100;
|
|
56
|
-
|
|
57
|
-
// BIEN: [QUARKUS] recursos JAX-RS nombrados *Resource, no *Controller
|
|
58
|
-
public class MarketResource {}
|
|
59
|
-
|
|
60
|
-
// BIEN: [SPRING] controladores REST nombrados *Controller
|
|
61
|
-
public class MarketController {}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## Inmutabilidad
|
|
65
|
-
|
|
66
|
-
```java
|
|
67
|
-
// BIEN: favorece records y campos final
|
|
68
|
-
public record MarketDto(Long id, String name, MarketStatus status) {}
|
|
69
|
-
|
|
70
|
-
public class Market {
|
|
71
|
-
private final Long id;
|
|
72
|
-
private final String name;
|
|
73
|
-
// solo getters, sin setters
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// BIEN: [QUARKUS] las entidades active-record de Panache usan campos públicos (convención de Quarkus)
|
|
77
|
-
@Entity
|
|
78
|
-
public class Market extends PanacheEntity {
|
|
79
|
-
public String name;
|
|
80
|
-
public MarketStatus status;
|
|
81
|
-
// Panache genera los accessors en tiempo de build; aquí los campos públicos son idiomáticos
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// BIEN: [QUARKUS] entidades Panache para MongoDB
|
|
85
|
-
@MongoEntity(collection = "markets")
|
|
86
|
-
public class Market extends PanacheMongoEntity {
|
|
87
|
-
public String name;
|
|
88
|
-
public MarketStatus status;
|
|
89
|
-
}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## Uso de Optional
|
|
93
|
-
|
|
94
|
-
```java
|
|
95
|
-
// BIEN: devuelve Optional desde métodos find*
|
|
96
|
-
// [SPRING]
|
|
97
|
-
Optional<Market> market = marketRepository.findBySlug(slug);
|
|
98
|
-
|
|
99
|
-
// [QUARKUS] Panache
|
|
100
|
-
Optional<Market> market = Market.find("slug", slug).firstResultOptional();
|
|
101
|
-
|
|
102
|
-
// BIEN: map/flatMap en lugar de get()
|
|
103
|
-
return market
|
|
104
|
-
.map(MarketResponse::from)
|
|
105
|
-
.orElseThrow(() -> new EntityNotFoundException("Market not found"));
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
## Buenas prácticas con streams
|
|
109
|
-
|
|
110
|
-
```java
|
|
111
|
-
// BIEN: usa streams para transformaciones y mantén los pipelines cortos
|
|
112
|
-
List<String> names = markets.stream()
|
|
113
|
-
.map(Market::name)
|
|
114
|
-
.filter(Objects::nonNull)
|
|
115
|
-
.toList();
|
|
116
|
-
|
|
117
|
-
// MAL: evita streams anidados complejos; prefiere bucles por claridad
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
## Inyección de dependencias
|
|
121
|
-
|
|
122
|
-
```java
|
|
123
|
-
// BIEN: [SPRING] inyección por constructor (preferible a @Autowired en campos)
|
|
124
|
-
@Service
|
|
125
|
-
public class MarketService {
|
|
126
|
-
private final MarketRepository marketRepository;
|
|
127
|
-
|
|
128
|
-
public MarketService(MarketRepository marketRepository) {
|
|
129
|
-
this.marketRepository = marketRepository;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
// BIEN: [QUARKUS] inyección por constructor
|
|
134
|
-
@ApplicationScoped
|
|
135
|
-
public class MarketService {
|
|
136
|
-
private final MarketRepository marketRepository;
|
|
137
|
-
|
|
138
|
-
@Inject
|
|
139
|
-
public MarketService(MarketRepository marketRepository) {
|
|
140
|
-
this.marketRepository = marketRepository;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// BIEN: [QUARKUS] inyección en campo package-private (aceptable en Quarkus — evita problemas de proxies)
|
|
145
|
-
@ApplicationScoped
|
|
146
|
-
public class MarketService {
|
|
147
|
-
@Inject
|
|
148
|
-
MarketRepository marketRepository;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
// MAL: [SPRING] inyección en campo con @Autowired
|
|
152
|
-
@Autowired
|
|
153
|
-
private MarketRepository marketRepository; // usa inyección por constructor
|
|
154
|
-
|
|
155
|
-
// MAL: [QUARKUS] @Singleton cuando se necesita intercepción o inicialización perezosa
|
|
156
|
-
@Singleton // no proxificable — usa @ApplicationScoped en su lugar
|
|
157
|
-
public class MarketService {}
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
## Patrones reactivos [QUARKUS]
|
|
161
|
-
|
|
162
|
-
```java
|
|
163
|
-
// BIEN: devuelve Uni/Multi desde endpoints reactivos
|
|
164
|
-
@GET
|
|
165
|
-
@Path("/{slug}")
|
|
166
|
-
public Uni<Market> findBySlug(@PathParam("slug") String slug) {
|
|
167
|
-
return Market.find("slug", slug)
|
|
168
|
-
.<Market>firstResult()
|
|
169
|
-
.onItem().ifNull().failWith(() -> new MarketNotFoundException(slug));
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
// BIEN: composición de pipelines no bloqueantes
|
|
173
|
-
public Uni<OrderConfirmation> placeOrder(OrderRequest req) {
|
|
174
|
-
return validateOrder(req)
|
|
175
|
-
.chain(valid -> persistOrder(valid))
|
|
176
|
-
.chain(order -> notifyFulfillment(order));
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
// MAL: llamada bloqueante dentro de un pipeline Uni/Multi
|
|
180
|
-
public Uni<Market> find(String slug) {
|
|
181
|
-
Market m = Market.find("slug", slug).firstResult(); // BLOQUEANTE — rompe el event loop
|
|
182
|
-
return Uni.createFrom().item(m);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
// MAL: suscribirse más de una vez a un Uni compartido
|
|
186
|
-
Uni<Market> shared = fetchMarket(slug);
|
|
187
|
-
shared.subscribe().with(m -> log(m));
|
|
188
|
-
shared.subscribe().with(m -> cache(m)); // doble suscripción — usa Uni.memoize()
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
## Excepciones
|
|
192
|
-
|
|
193
|
-
- Usa excepciones no comprobadas (unchecked) para errores de dominio; envuelve las excepciones técnicas con contexto.
|
|
194
|
-
- Crea excepciones específicas del dominio (p. ej., `MarketNotFoundException`).
|
|
195
|
-
- Evita el `catch (Exception ex)` amplio salvo que relances o registres de forma centralizada.
|
|
196
|
-
|
|
197
|
-
```java
|
|
198
|
-
throw new MarketNotFoundException(slug);
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
### Manejo centralizado de excepciones
|
|
202
|
-
|
|
203
|
-
```java
|
|
204
|
-
// [SPRING]
|
|
205
|
-
@RestControllerAdvice
|
|
206
|
-
public class GlobalExceptionHandler {
|
|
207
|
-
@ExceptionHandler(MarketNotFoundException.class)
|
|
208
|
-
public ResponseEntity<ErrorResponse> handle(MarketNotFoundException ex) {
|
|
209
|
-
return ResponseEntity.status(404).body(ErrorResponse.from(ex));
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
// [QUARKUS] Opción A: ExceptionMapper
|
|
214
|
-
@Provider
|
|
215
|
-
public class MarketNotFoundMapper implements ExceptionMapper<MarketNotFoundException> {
|
|
216
|
-
@Override
|
|
217
|
-
public Response toResponse(MarketNotFoundException ex) {
|
|
218
|
-
return Response.status(404).entity(ErrorResponse.from(ex)).build();
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
// [QUARKUS] Opción B: @ServerExceptionMapper (RESTEasy Reactive)
|
|
223
|
-
@ServerExceptionMapper
|
|
224
|
-
public RestResponse<ErrorResponse> handle(MarketNotFoundException ex) {
|
|
225
|
-
return RestResponse.status(Status.NOT_FOUND, ErrorResponse.from(ex));
|
|
226
|
-
}
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
## Genéricos y seguridad de tipos
|
|
230
|
-
|
|
231
|
-
- Evita los raw types; declara los parámetros genéricos.
|
|
232
|
-
- Prefiere genéricos acotados (bounded) para utilidades reutilizables.
|
|
233
|
-
|
|
234
|
-
```java
|
|
235
|
-
public <T extends Identifiable> Map<Long, T> indexById(Collection<T> items) { ... }
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
## Estructura de proyecto
|
|
239
|
-
|
|
240
|
-
### [SPRING] Maven/Gradle
|
|
241
|
-
|
|
242
|
-
```
|
|
243
|
-
src/main/java/com/example/app/
|
|
244
|
-
config/
|
|
245
|
-
controller/
|
|
246
|
-
service/
|
|
247
|
-
repository/
|
|
248
|
-
domain/
|
|
249
|
-
dto/
|
|
250
|
-
util/
|
|
251
|
-
src/main/resources/
|
|
252
|
-
application.yml
|
|
253
|
-
src/test/java/... (espeja main)
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
### [QUARKUS] Maven/Gradle
|
|
257
|
-
|
|
258
|
-
```
|
|
259
|
-
src/main/java/com/example/app/
|
|
260
|
-
config/ # beans @ConfigMapping, @ConfigProperty, Producers
|
|
261
|
-
resource/ # recursos JAX-RS (no "controller")
|
|
262
|
-
service/
|
|
263
|
-
repository/ # implementaciones PanacheRepository (si no se usa active record)
|
|
264
|
-
domain/ # entidades JPA/Panache, entidades MongoDB
|
|
265
|
-
dto/
|
|
266
|
-
util/
|
|
267
|
-
mapper/ # mappers MapStruct (si se usan)
|
|
268
|
-
src/main/resources/
|
|
269
|
-
application.properties # convención de Quarkus (YAML soportado con quarkus-config-yaml)
|
|
270
|
-
import.sql # auto-import de Hibernate para dev/test
|
|
271
|
-
src/test/java/... (espeja main)
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
## Formato y estilo
|
|
275
|
-
|
|
276
|
-
- Usa 2 o 4 espacios de forma consistente (estándar del proyecto).
|
|
277
|
-
- Un solo tipo público de nivel superior por archivo.
|
|
278
|
-
- Mantén los métodos cortos y enfocados; extrae helpers.
|
|
279
|
-
- Ordena los miembros: constantes, campos, constructores, métodos públicos, protegidos, privados.
|
|
280
|
-
|
|
281
|
-
## Malos olores de código a evitar
|
|
282
|
-
|
|
283
|
-
- Listas de parámetros largas → usa DTOs/builders.
|
|
284
|
-
- Anidamiento profundo → retornos tempranos.
|
|
285
|
-
- Números mágicos → constantes con nombre.
|
|
286
|
-
- Estado mutable estático → prefiere inyección de dependencias.
|
|
287
|
-
- Bloques catch silenciosos → registra y actúa, o relanza.
|
|
288
|
-
- **[QUARKUS]**: `@Singleton` donde se pretendía `@ApplicationScoped` — rompe los proxies y la intercepción.
|
|
289
|
-
- **[QUARKUS]**: mezclar `quarkus-resteasy-reactive` y `quarkus-resteasy` (clásico) — elige un solo stack.
|
|
290
|
-
- **[QUARKUS]**: Panache active-record + patrón repository en el mismo bounded context — elige uno.
|
|
291
|
-
|
|
292
|
-
## Logging
|
|
293
|
-
|
|
294
|
-
```java
|
|
295
|
-
// [SPRING] SLF4J
|
|
296
|
-
private static final Logger log = LoggerFactory.getLogger(MarketService.class);
|
|
297
|
-
log.info("fetch_market slug={}", slug);
|
|
298
|
-
log.error("failed_fetch_market slug={}", slug, ex);
|
|
299
|
-
|
|
300
|
-
// [QUARKUS] JBoss Logging (por defecto, costo cero en tiempo de build)
|
|
301
|
-
private static final Logger log = Logger.getLogger(MarketService.class);
|
|
302
|
-
log.infof("fetch_market slug=%s", slug);
|
|
303
|
-
log.errorf(ex, "failed_fetch_market slug=%s", slug);
|
|
304
|
-
|
|
305
|
-
// [QUARKUS] Alternativa: logging simplificado con @Inject
|
|
306
|
-
@Inject
|
|
307
|
-
Logger log; // inyectado por CDI, con alcance de la clase declarante
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
## Manejo de nulos
|
|
311
|
-
|
|
312
|
-
- Acepta `@Nullable` solo cuando sea inevitable; en el resto de casos usa `@NonNull`.
|
|
313
|
-
- Usa Bean Validation (`@NotNull`, `@NotBlank`) en las entradas.
|
|
314
|
-
- **[QUARKUS]**: aplica `@Valid` en parámetros `@BeanParam`, `@RestForm` y en el cuerpo de la petición.
|
|
315
|
-
|
|
316
|
-
## Configuración
|
|
317
|
-
|
|
318
|
-
```java
|
|
319
|
-
// [SPRING] @ConfigurationProperties
|
|
320
|
-
@ConfigurationProperties(prefix = "market")
|
|
321
|
-
public record MarketProperties(int maxPageSize, Duration cacheTtl) {}
|
|
322
|
-
|
|
323
|
-
// [QUARKUS] @ConfigMapping (con tipos seguros, validado en tiempo de build)
|
|
324
|
-
@ConfigMapping(prefix = "market")
|
|
325
|
-
public interface MarketConfig {
|
|
326
|
-
int maxPageSize();
|
|
327
|
-
Duration cacheTtl();
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
// [QUARKUS] Valores simples con @ConfigProperty
|
|
331
|
-
@ConfigProperty(name = "market.max-page-size", defaultValue = "100")
|
|
332
|
-
int maxPageSize;
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
## Expectativas de testing
|
|
336
|
-
|
|
337
|
-
### Compartido
|
|
338
|
-
- JUnit 5 + AssertJ para aserciones fluidas.
|
|
339
|
-
- Mockito para mocks; evita los mocks parciales cuando sea posible.
|
|
340
|
-
- Favorece tests deterministas; sin sleeps ocultos.
|
|
341
|
-
|
|
342
|
-
### [SPRING]
|
|
343
|
-
- `@WebMvcTest` para slices de controladores, `@DataJpaTest` para slices de repositorios.
|
|
344
|
-
- `@SpringBootTest` reservado para tests de integración completos.
|
|
345
|
-
- `@MockBean` para sustituir beans en el contexto de Spring.
|
|
346
|
-
|
|
347
|
-
### [QUARKUS]
|
|
348
|
-
- JUnit 5 plano + Mockito para tests unitarios (sin `@QuarkusTest`).
|
|
349
|
-
- `@QuarkusTest` reservado para tests de integración con CDI.
|
|
350
|
-
- `@InjectMock` para sustituir beans CDI en tests de integración.
|
|
351
|
-
- Dev Services para base de datos/Kafka/Redis — evita configurar Testcontainers a mano cuando Dev Services bastan.
|
|
352
|
-
- `@QuarkusTestResource` para el ciclo de vida de servicios externos personalizados.
|
|
353
|
-
|
|
354
|
-
```java
|
|
355
|
-
// [SPRING] Test de controlador
|
|
356
|
-
@WebMvcTest(MarketController.class)
|
|
357
|
-
class MarketControllerTest {
|
|
358
|
-
@Autowired MockMvc mockMvc;
|
|
359
|
-
@MockBean MarketService marketService;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
// [QUARKUS] Test de integración
|
|
363
|
-
@QuarkusTest
|
|
364
|
-
class MarketResourceTest {
|
|
365
|
-
@InjectMock
|
|
366
|
-
MarketService marketService;
|
|
367
|
-
|
|
368
|
-
@Test
|
|
369
|
-
void should_return_404_when_market_not_found() {
|
|
370
|
-
given().when().get("/markets/unknown").then().statusCode(404);
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
// [QUARKUS] Test unitario (sin CDI, sin @QuarkusTest)
|
|
375
|
-
@ExtendWith(MockitoExtension.class)
|
|
376
|
-
class MarketServiceTest {
|
|
377
|
-
@Mock MarketRepository marketRepository;
|
|
378
|
-
@InjectMocks MarketService marketService;
|
|
379
|
-
}
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
**Recuerda**: mantén el código intencional, tipado y observable. Optimiza para la mantenibilidad por encima de las micro-optimizaciones salvo que se demuestren necesarias.
|
|
383
|
-
|
|
384
|
-
## Skills relacionadas
|
|
385
|
-
|
|
386
|
-
- `patrones-springboot`
|
|
387
|
-
- `patrones-quarkus`
|
|
388
|
-
- `tdd-springboot`
|
|
389
|
-
- `tdd-quarkus`
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: estilo-legado
|
|
3
|
-
description: Skill de herencia de estilo para proyectos legados. Úsala cuando el usuario escriba /estilo-legado, o al incorporar un agente de programación de IA a un proyecto legado escrito a mano y necesites prevenir la "deriva de estilo" (que el modelo imponga sus idiomas mainstream preentrenados sobre el proyecto). Agnóstica de lenguaje y framework — alinea solo la meta-arquitectura, no la sintaxis. Una vez ejecutada, se convierte en una restricción de comportamiento para todas las tareas de código posteriores. NO usar para investigación pura ni preguntas puntuales no relacionadas con la alineación de estilo de código.
|
|
4
|
-
allowed-tools: Read, Glob, Grep, Bash, Edit, Write, AskUserQuestion
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Heredar Estilo Legado
|
|
8
|
-
|
|
9
|
-
Previene la deriva de estilo del código generado por IA en proyectos legados escaneando la base de código en busca de convenciones implícitas en 4 dimensiones de meta-arquitectura, resolviendo los conflictos con el usuario de uno en uno, y cristalizando el consenso en un `.ai-style-rules.md` exigible. Totalmente agnóstica de lenguaje y framework.
|
|
10
|
-
|
|
11
|
-
## Cuándo activarla
|
|
12
|
-
|
|
13
|
-
- El usuario escribe `/estilo-legado`
|
|
14
|
-
- El usuario menciona la incorporación de IA a un proyecto legado escrito a mano
|
|
15
|
-
- El usuario está preocupado porque el código generado por IA "derive" de las convenciones existentes del proyecto
|
|
16
|
-
- El usuario quiere extraer y codificar las reglas de codificación implícitas de su proyecto
|
|
17
|
-
|
|
18
|
-
## Cuándo usarla
|
|
19
|
-
|
|
20
|
-
Usa esta skill cuando necesites preservar el estilo de un proyecto legado y prevenir la deriva de estilo generada por IA. Consulta **Cuándo activarla** arriba para las condiciones de disparo.
|
|
21
|
-
|
|
22
|
-
## Prerrequisitos
|
|
23
|
-
|
|
24
|
-
- Git (recomendado; los proyectos sin Git recurren a las marcas de tiempo de archivos para el modo incremental)
|
|
25
|
-
- Acceso de lectura/escritura a la raíz del proyecto (genera `.ai-style-rules.md` y opcionalmente `THEUS.md`)
|
|
26
|
-
|
|
27
|
-
## Flujo de trabajo
|
|
28
|
-
|
|
29
|
-
### Paso 0 — Autodetectar el modo
|
|
30
|
-
|
|
31
|
-
Comprueba en silencio si existe `.ai-style-rules.md` en la raíz del proyecto:
|
|
32
|
-
|
|
33
|
-
| ¿Existe el archivo? | Modo |
|
|
34
|
-
|---|---|
|
|
35
|
-
| No | **Rama A — Escaneo completo inicial** |
|
|
36
|
-
| Sí | **Rama B — Sondeo incremental** |
|
|
37
|
-
|
|
38
|
-
Anuncia el modo en una línea y continúa — nunca pidas al usuario que elija.
|
|
39
|
-
|
|
40
|
-
### Rama A — Escaneo completo inicial
|
|
41
|
-
|
|
42
|
-
**1. Mide la escala y elige un nivel de escaneo**
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
git ls-files | grep -cE '\.(js|ts|jsx|tsx|vue|py|go|rs|java|kt|rb|php|cs|swift|c|cpp|h)$'
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
| Nivel | Archivos fuente | Estrategia |
|
|
49
|
-
|---|---|---|
|
|
50
|
-
| Pequeño | ≲ 50 | Lectura minuciosa completa de cada fuente |
|
|
51
|
-
| Mediano | 50–500 | Capa de infraestructura = lectura completa; capa de negocio = muestrear 2–3 por dimensión |
|
|
52
|
-
| Grande | ≳ 500 | Muestreo estricto + tope de presupuesto; primero resumen `--stat`, luego lecturas dirigidas |
|
|
53
|
-
|
|
54
|
-
**2. Escanea a lo largo de 4 dimensiones**
|
|
55
|
-
|
|
56
|
-
1. **Anatomía de archivo** — orden de declaración dentro del archivo (imports → tipos → lógica principal → helpers → export)
|
|
57
|
-
2. **Estado y flujo de control** — convenciones de nombres para estado asíncrono, paginación, flags
|
|
58
|
-
3. **Infraestructura** — dónde viven las utilidades transversales (interceptores, formateadores, middleware)
|
|
59
|
-
4. **Manejo de errores** — try/catch vs interceptor global vs retorno Result; hábitos de comprobación de null
|
|
60
|
-
|
|
61
|
-
**3. Aplica reducción de ruido por umbral de señal**
|
|
62
|
-
|
|
63
|
-
Antes de interrumpir al usuario, evalúa la fuerza de la señal:
|
|
64
|
-
|
|
65
|
-
- **Señal débil** → suprimir automáticamente: minoría <5% Y conteo <10 → gana la mayoría, la minoría va a los DONTs
|
|
66
|
-
- **Señal fuerte** → interrogar: división casi pareja, o bifurcación semántica en una dimensión central
|
|
67
|
-
- **Excepción de proyecto pequeño**: fuentes ≲50, un "3 vs 2" NO es mayoría → interrógalo
|
|
68
|
-
|
|
69
|
-
**4. Resuelve los conflictos de uno en uno (Protocolo de interrogatorio)**
|
|
70
|
-
|
|
71
|
-
Para cada conflicto de señal fuerte, presenta exactamente UNA pregunta con 4 opciones:
|
|
72
|
-
|
|
73
|
-
> Evidencia: `rutaA` usa el estilo X, `rutaB` usa el estilo Y
|
|
74
|
-
> ADVERTENCIA: Riesgo: mezclar ambos fractura el estilo del proyecto
|
|
75
|
-
> Elige: `1` seguir X `2` seguir Y `3` esto es evolución, actualiza las reglas `4` tengo una regla nueva
|
|
76
|
-
|
|
77
|
-
Suspende hasta que el usuario responda, luego pasa al siguiente conflicto. Nunca acumules preguntas.
|
|
78
|
-
|
|
79
|
-
**5. Genera `.ai-style-rules.md`** con tres secciones obligatorias:
|
|
80
|
-
- **[Golden Files]** — rutas de archivos ejemplares reales anotadas con lo que demuestran
|
|
81
|
-
- **[Reglas de nombres y estado-control]** — convenciones concretas y verificables
|
|
82
|
-
- **[DONTs]** — antipatrones que no deben propagarse
|
|
83
|
-
|
|
84
|
-
**6. Instala el hook persistente**
|
|
85
|
-
|
|
86
|
-
Pregunta al usuario por la fuerza de aplicación (usa `AskUserQuestion`):
|
|
87
|
-
|
|
88
|
-
| Opción | Mecanismo |
|
|
89
|
-
|---|---|
|
|
90
|
-
| **1** Hook suave (recomendado) | Escribir la referencia `@.ai-style-rules.md` en el `THEUS.md` del proyecto |
|
|
91
|
-
| **2** Hook duro | Hook suave + hook `PreToolUse[Write\|Edit\|MultiEdit]` en `settings.json` |
|
|
92
|
-
| **3** Sin hook | Conservar el archivo de reglas; el usuario lo referencia manualmente |
|
|
93
|
-
|
|
94
|
-
### Rama B — Sondeo incremental
|
|
95
|
-
|
|
96
|
-
1. Lee el `.ai-style-rules.md` existente; si tiene una huella de commit, `git diff <last_hash> HEAD --stat` para localizar el delta
|
|
97
|
-
2. Lee los cambios recientes de Git (`git log -3 --stat` → inspecciona archivos sospechosos bajo demanda)
|
|
98
|
-
3. Para diffs sobredimensionados (>cientos de archivos): solo resumen `--stat` + muestrear los cambios más grandes
|
|
99
|
-
4. Compara el código nuevo con las reglas registradas → los conflictos pasan por el Protocolo de interrogatorio
|
|
100
|
-
5. Añade un registro de evolución al final de `.ai-style-rules.md` (nunca sobrescribas reglas antiguas)
|
|
101
|
-
|
|
102
|
-
### Aplicación por turno
|
|
103
|
-
|
|
104
|
-
Cuando `.ai-style-rules.md` está en contexto (cargado vía THEUS.md), toda tarea de escritura de código debe abrir con una **declaración de cumplimiento** en la cadena de razonamiento, nombrando el ejemplar que se sigue y los DONTs que se evitan.
|
|
105
|
-
|
|
106
|
-
## Cómo funciona
|
|
107
|
-
|
|
108
|
-
Esta skill autodetecta si es una ejecución inicial o incremental según la presencia de `.ai-style-rules.md`:
|
|
109
|
-
|
|
110
|
-
- **Inicial (Rama A)** — Mide la escala del proyecto, escanea la base de código en 4 dimensiones de meta-arquitectura (Anatomía de archivo, Estado y flujo de control, Infraestructura, Manejo de errores), aplica reducción de ruido por umbral de señal para suprimir conflictos débiles, resuelve los conflictos de señal fuerte de uno en uno con el usuario, genera `.ai-style-rules.md` con Golden Files / Reglas de nombres / DONTs, y ofrece hooks de aplicación opcionales.
|
|
111
|
-
- **Incremental (Rama B)** — Lee las reglas existentes, revisa los diffs recientes de Git en busca de patrones nuevos o conflictivos, ejecuta el mismo protocolo de interrogatorio de uno en uno para los conflictos encontrados, y añade registros de evolución sin sobrescribir las reglas existentes.
|
|
112
|
-
- **Aplicación por turno** — Cuando está enganchada vía `THEUS.md`, cada tarea de escritura de código abre con una declaración de cumplimiento que nombra el ejemplar seguido y los DONTs evitados.
|
|
113
|
-
|
|
114
|
-
## Especificación de salida
|
|
115
|
-
|
|
116
|
-
- `.ai-style-rules.md` en la raíz del proyecto (con huella de commit + nivel de escala en el encabezado)
|
|
117
|
-
- Opcionalmente `THEUS.md` con la referencia `@.ai-style-rules.md`
|
|
118
|
-
- Registros de evolución añadidos como entradas `### [YYYY-MM-DD] Registro de evolución de estilo`
|
|
119
|
-
|
|
120
|
-
## Antipatrones
|
|
121
|
-
|
|
122
|
-
- FALLO: NO te saltes el paso de medición de escala — muestrear un proyecto de 30 archivos lo "deja en hambruna"; escanear completo un repo de 5.000 archivos lo hace explotar
|
|
123
|
-
- FALLO: NO acumules varias preguntas de conflicto a la vez — el interrogatorio es estrictamente de uno en uno
|
|
124
|
-
- FALLO: NO sobrescribas reglas antiguas en modo incremental — añade siempre registros de evolución
|
|
125
|
-
- FALLO: NO impongas el "hook duro" por defecto sin preguntar — la fuerza de aplicación la decide el usuario
|
|
126
|
-
- FALLO: NO juzgues la calidad de la sintaxis ni del stack tecnológico — esta skill alinea solo la meta-arquitectura
|
|
127
|
-
- FALLO: NO copies bugs de los archivos ejemplares — reutiliza la estructura, señala los defectos
|
|
128
|
-
|
|
129
|
-
## Buenas prácticas
|
|
130
|
-
|
|
131
|
-
- Anuncia el modo detectado (inicial vs incremental) y el nivel de escala en una línea antes de escanear
|
|
132
|
-
- Para proyectos grandes, lee primero los resúmenes `--stat` y luego haz `Read` dirigido sobre los archivos sospechosos
|
|
133
|
-
- Deja que el umbral de señal maneje el ruido — una división de nombres de 843 contra 8 debe autoresolverse sin interrumpir al usuario
|
|
134
|
-
- Ante la duda sobre la fuerza de la señal, inclínate por preguntar
|
|
135
|
-
- El hook suave en THEUS.md (`@.ai-style-rules.md`) suele ser suficiente; hook duro solo si el usuario quiere aplicación mecánica
|
|
136
|
-
|
|
137
|
-
## Ejemplos
|
|
138
|
-
|
|
139
|
-
1. **Incorporación inicial**
|
|
140
|
-
- Usuario: "Ayúdame a incorporar la IA a esta base de código antigua sin cambiar su estilo."
|
|
141
|
-
- Acción: Ejecutar el escaneo completo de la Rama A → medir escala → escanear las 4 dimensiones → interrogar conflictos → generar `.ai-style-rules.md` → ofrecer fuerza de hook (suave/duro/ninguno).
|
|
142
|
-
|
|
143
|
-
2. **Actualización incremental tras cambios del equipo**
|
|
144
|
-
- Usuario: "Añadimos un módulo nuevo; mantén intactas las reglas de estilo existentes."
|
|
145
|
-
- Acción: Ejecutar el sondeo incremental de la Rama B → comparar los deltas de Git con las reglas registradas → interrogar conflictos nuevos → añadir registro de evolución sin sobrescribir.
|
|
146
|
-
|
|
147
|
-
3. **Aplicar los DONTs vía THEUS.md**
|
|
148
|
-
- Usuario: "Asegúrate de que todo el código nuevo se mantenga consistente con las reglas del proyecto."
|
|
149
|
-
- Acción: Hook suave instalado → `.ai-style-rules.md` se carga automáticamente en cada sesión → cada tarea de escritura de código abre con la declaración de cumplimiento, reutilizando los patrones ejemplares y evitando los DONTs.
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: estructura-informes-competencia
|
|
3
|
-
description: Úsala después de que metodologia-benchmarks haya producido las fichas de competidores puntuadas. Ensambla los hallazgos en un informe apto para decidir — mapa del paisaje, perfiles de competidores, matriz de benchmarking, análisis de espacio en blanco, recomendaciones estratégicas y preguntas detonantes para alinear al equipo. Paso final del pipeline competitivo de tres skills.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Estructura de informes de competencia
|
|
7
|
-
|
|
8
|
-
Usa esta skill para ensamblar las fichas de competidores puntuadas en un informe apto para decidir. El informe debe responder tres preguntas para el cliente: **con quién competimos, cómo competimos y dónde está nuestro espacio en blanco defendible.** Cada sección se gana su lugar acercando esas respuestas — recorta todo lo que no lo haga.
|
|
9
|
-
|
|
10
|
-
## Cuándo activarla
|
|
11
|
-
|
|
12
|
-
- Todas las fichas de competidor de `metodologia-benchmarks` están completas y listas para ensamblar.
|
|
13
|
-
- Hay que presentar los hallazgos competitivos a una persona fundadora, un equipo directivo o un consejo.
|
|
14
|
-
- El informe debe impulsar decisiones (con quién competir, cómo, dónde está el foso) — no solo documentar el paisaje.
|
|
15
|
-
- Se prepara un entregable de cliente que debe ser auditable y defendible.
|
|
16
|
-
|
|
17
|
-
## Brief de posicionamiento del cliente (establécelo primero)
|
|
18
|
-
|
|
19
|
-
Antes de ensamblar el informe, establece el brief de posicionamiento del cliente. Aporta:
|
|
20
|
-
|
|
21
|
-
- **Tensión estratégica** — el par de ejes (p. ej., memorabilidad × contratabilidad) que define el espacio en blanco objetivo. Todos los mapas y la síntesis se resuelven contra esta tensión.
|
|
22
|
-
- **Balance de marca** — la mezcla proporcional intencional de los énfasis estratégicos del cliente (p. ej., 60 % estrategia/evidencia, 25 % distintividad, 15 % oficio). Toda recomendación se contrasta contra este balance; señala las que lo desplazarían.
|
|
23
|
-
- **Diferenciador** — el principio de encuadre para el resumen ejecutivo y la sección de espacio en blanco.
|
|
24
|
-
- **Cuadrante objetivo** — dónde pretende situarse el cliente en el mapa de tensión; confirmar si ese cuadrante está genuinamente libre es la pregunta empírica central del informe.
|
|
25
|
-
|
|
26
|
-
## Principio de encuadre
|
|
27
|
-
|
|
28
|
-
Todo el informe se organiza en torno a la tensión estratégica del cliente y las recomendaciones se resuelven contra su balance de marca deliberado. Las recomendaciones que romperían ese balance deben señalarse explícitamente — "este movimiento desplaza el balance de X/Y/Z hacia A/B/C; confirma la intención."
|
|
29
|
-
|
|
30
|
-
## Secciones del informe
|
|
31
|
-
|
|
32
|
-
### 1. Resumen ejecutivo
|
|
33
|
-
3–5 conclusiones, decisión primero. Enuncia los hallazgos más importantes en lenguaje llano: dónde es fuerte el cliente, dónde está expuesto, quién ocupa su espacio en blanco objetivo y los 2–3 movimientos principales. Escrito para que una persona fundadora o de producto lea solo esto y sepa qué hacer. Sin metodología aquí.
|
|
34
|
-
|
|
35
|
-
### 2. Paisaje de mercado y encuadre de categoría
|
|
36
|
-
Define la categoría y mapéala. Usa un **mapa multieje** — como mínimo un 2×2 (p. ej., *guiado por marca <-> guiado por capacidad* × *boutique <-> escala enterprise*), e idealmente el **plot de tensión del cliente** de `metodologia-benchmarks` como mapa de cabecera. Coloca a cada competidor perfilado y al cliente. El mapa debe hacer visualmente obvia la posición pretendida del cliente y mostrar cuán poblada (o vacía) está.
|
|
37
|
-
|
|
38
|
-
### 3. Tiers de competidores
|
|
39
|
-
Organiza el conjunto en **Directo / Adyacente / Aspiracional** (de `analisis-plataformas-competencia`). Un párrafo corto por tier explicando quién está y por qué importa al cliente. Esto fija las expectativas del lector antes del detalle.
|
|
40
|
-
|
|
41
|
-
### 4. Matriz de benchmarking
|
|
42
|
-
La tabla completa **competidores × dimensiones** — la espina cuantitativa. Filas = competidores (agrupados por tier), columnas = las nueve dimensiones de benchmark (nota: la dimensión 9 — tensión estratégica — tiene dos polos (p. ej., Memorabilidad y Contratabilidad para un cliente estudio de marca; sustituye por el par de ejes propio del cliente); represéntalos como dos subcolumnas separadas, sin promediarlos). Incluye la autoevaluación honesta del cliente como fila de contraste. Usa un **heatmap** (escala de color o de símbolos) para que los patrones de fuerza/debilidad se escaneen de un vistazo. **No** añadas una columna de total combinado — reporta las dimensiones por separado (según los controles de sesgo). Señala las columnas donde el cliente lidera y donde va rezagado.
|
|
43
|
-
|
|
44
|
-
### 5. Análisis en profundidad
|
|
45
|
-
Los 3–5 competidores más instructivos en forma narrativa (a partir de sus fichas). Elígelos por instrucción, no por ranking: el mejor ejemplar de la tensión objetivo (alto en ambos polos), el caso de advertencia "un solo polo", el arquetipo "competente pero olvidable" contra el que el cliente se define, más cualquier amenaza directa. Cada análisis: qué hacen, qué debe aprender el cliente, qué debe evitar.
|
|
46
|
-
|
|
47
|
-
### 6. Espacio en blanco y amenazas
|
|
48
|
-
El corazón estratégico. Dos partes:
|
|
49
|
-
|
|
50
|
-
- **Espacio en blanco:** la posición que el cliente puede apropiarse y los rivales no ocupan — argumentada desde los mapas y la matriz, no asertada. Confirma si el cuadrante objetivo (del brief de posicionamiento) está genuinamente libre.
|
|
51
|
-
- **Amenazas:** quién o qué presiona al cliente — un rival cerrando la brecha, sustitutos (herramientas no-code/IA, equipos internos, freelancers generalistas) o giros de categoría. Sé honesto sobre los riesgos propios del cliente (p. ej., una identidad atrevida que lea como poco seria para compradores adversos al riesgo).
|
|
52
|
-
|
|
53
|
-
### 7. Recomendaciones estratégicas
|
|
54
|
-
Movimientos concretos y priorizados: con quién compite el cliente, cómo se diferencia y dónde invertir (empaquetado de oferta, evidencia/casos de estudio, liderazgo de pensamiento, afilado de marca). **Ata cada recomendación al balance de marca del brief de posicionamiento** y señala las que lo desplazarían. Secuencia por impacto × esfuerzo.
|
|
55
|
-
|
|
56
|
-
### 8. Apéndice de fuentes / metodología
|
|
57
|
-
Las dimensiones, pesos, rúbricas, el conjunto delimitado con sus tiers, enlaces a fuentes por competidor y notas de verificación (afirmado vs probado). Esto es lo que hace el informe auditable y defendible — mantén la disciplina de citación adversarial hasta el final.
|
|
58
|
-
|
|
59
|
-
## Cómo presentar los datos
|
|
60
|
-
|
|
61
|
-
- **Mapas 2×2 / de posicionamiento** — para el paisaje y el plot de tensión. Ábrelos tú; llevan el argumento más rápido que la prosa.
|
|
62
|
-
- **Matriz heatmap** — para la comparación competidores × dimensiones (sección 4).
|
|
63
|
-
- **Fichas de perfil** — la unidad fuente que alimenta los análisis en profundidad (sección 5).
|
|
64
|
-
- **Llamados por cuadrante** — nombra explícitamente quién ocupa cada cuadrante, sobre todo el objetivo del cliente.
|
|
65
|
-
- Mantén las tablas escaneables; empuja la evidencia cruda y los enlaces al apéndice.
|
|
66
|
-
|
|
67
|
-
## Marco de decisión (el informe debe resolverlo)
|
|
68
|
-
|
|
69
|
-
- **¿Con quién competimos?** — Nombra el tier Directo en concreto; esa es la pelea real.
|
|
70
|
-
- **¿Cómo competimos?** — Enuncia el diferenciador del cliente en una frase, anclado en la matriz (qué dimensiones domina el cliente).
|
|
71
|
-
- **¿Dónde son defendibles nuestros diferenciadores?** — Identifica las dimensiones/el cuadrante que los rivales no pueden copiar fácilmente (el foso), frente a lo que es apuesta de mesa.
|
|
72
|
-
|
|
73
|
-
## Preguntas detonantes para la sesión de alineación del equipo
|
|
74
|
-
|
|
75
|
-
Cierra con preguntas que fuercen decisiones, no admiración por el análisis:
|
|
76
|
-
|
|
77
|
-
- ¿El cuadrante objetivo está de verdad libre, o un rival ya se está moviendo hacia él?
|
|
78
|
-
- ¿Qué competidor Directo es la amenaza más afilada en los próximos 12 meses, y cuál es la respuesta?
|
|
79
|
-
- ¿Se sostiene el balance de marca dado el paisaje — debería moverse algún énfasis?
|
|
80
|
-
- ¿Qué dimensión rezagada vale la pena cerrar, y cuál conceder deliberadamente?
|
|
81
|
-
- ¿Cuál es el movimiento único que más amplía la distintividad *sin* costar contratabilidad / credibilidad?
|
|
82
|
-
|
|
83
|
-
## Antipatrones
|
|
84
|
-
|
|
85
|
-
- **Abrir con metodología.** El resumen ejecutivo abre con el hallazgo más importante, no con una explicación de cómo se corrió el benchmark. La metodología va al apéndice.
|
|
86
|
-
- **Presentar puntuaciones sin el plot de tensión.** El mapa de tensión 2×2 es el artefacto de cabecera. Una tabla de números sin el mapa entierra el insight estratégico.
|
|
87
|
-
- **Omitir el marco de decisión.** El informe debe resolver las tres preguntas (con quién competir, cómo, dónde está el foso). Dejarlas sin respuesta lo convierte en una revisión bibliográfica.
|
|
88
|
-
- **Empezar antes de completar todas las fichas.** `metodologia-benchmarks` debe terminar antes de ensamblar. Los datos parciales producen huecos que socavan el heatmap y el análisis de espacio en blanco.
|
|
89
|
-
- **Añadir una columna de total combinado a la matriz.** Excluida explícitamente — crea un compuesto falso que oculta la asimetría sobre la que el cliente debe actuar.
|
|
90
|
-
|
|
91
|
-
## Skills relacionadas
|
|
92
|
-
|
|
93
|
-
- `metodologia-benchmarks` — el prerrequisito; produce las fichas de competidores puntuadas que esta skill ensambla.
|
|
94
|
-
- `analisis-plataformas-competencia` — aporta la estructura de tiers (Directo / Adyacente / Aspiracional) usada en la sección 3.
|
|
95
|
-
- `descubrimiento-marca` — úsala para establecer el brief de posicionamiento del cliente si aún no está definido.
|