theus-cli-linux-x64 1.2.1 → 1.3.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 +15 -0
- package/RELEASE.json +6 -6
- package/bin/theus +0 -0
- package/package.json +1 -1
- package/vendor/chrome-extension/README.md +142 -0
- package/vendor/chrome-extension/background.js +540 -0
- package/vendor/chrome-extension/cdp-core.js +400 -0
- package/vendor/chrome-extension/cdp-core.test.ts +321 -0
- package/vendor/chrome-extension/cdp.js +672 -0
- package/vendor/chrome-extension/icons/icon128.png +0 -0
- package/vendor/chrome-extension/icons/icon16.png +0 -0
- package/vendor/chrome-extension/icons/icon32.png +0 -0
- package/vendor/chrome-extension/icons/icon48.png +0 -0
- package/vendor/chrome-extension/manifest.json +36 -0
- package/vendor/chrome-extension/popup.html +78 -0
- package/vendor/chrome-extension/popup.js +47 -0
- package/vendor/chrome-extension/recorder.js +316 -0
- 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,97 +0,0 @@
|
|
|
1
|
-
# Referencia de sistema y uso de tinystruct
|
|
2
|
-
|
|
3
|
-
## Cuándo usarla
|
|
4
|
-
|
|
5
|
-
Usa estos patrones para manejar el estado de la petición, gestionar sesiones web, implementar Server-Sent Events (SSE), manejar subidas de archivos o realizar peticiones HTTP salientes.
|
|
6
|
-
|
|
7
|
-
## Cómo funciona
|
|
8
|
-
|
|
9
|
-
### Context y argumentos de la CLI
|
|
10
|
-
`Context` es el almacén principal de estado específico de la petición. Los flags de la CLI pasados como `--clave valor` se guardan en `Context` como `"--clave"`.
|
|
11
|
-
|
|
12
|
-
### Gestión de sesiones
|
|
13
|
-
Arquitectura conectable. El valor por defecto es `MemorySessionRepository`. Configura Redis en `application.properties`:
|
|
14
|
-
```properties
|
|
15
|
-
default.session.repository=org.tinystruct.http.RedisSessionRepository
|
|
16
|
-
redis.host=127.0.0.1
|
|
17
|
-
redis.port=6379
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
### Server-Sent Events (SSE)
|
|
21
|
-
Soporte integrado para push en tiempo real. El `HttpServer` maneja automáticamente el ciclo de vida SSE cuando detecta la cabecera `Accept: text/event-stream`. Las conexiones se rastrean por ID de sesión en `SSEPushManager`.
|
|
22
|
-
|
|
23
|
-
### Redes salientes
|
|
24
|
-
Usa `URLRequest` y `HTTPHandler` para hacer peticiones HTTP a servicios externos.
|
|
25
|
-
|
|
26
|
-
## Ejemplos
|
|
27
|
-
|
|
28
|
-
### Context y argumentos de la CLI
|
|
29
|
-
```java
|
|
30
|
-
@Action("echo")
|
|
31
|
-
public String echo() {
|
|
32
|
-
// CLI: bin/dispatcher echo --words "Hola mundo"
|
|
33
|
-
Object words = getContext().getAttribute("--words");
|
|
34
|
-
if (words != null) return words.toString();
|
|
35
|
-
return "No se proporcionaron palabras";
|
|
36
|
-
}
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### Gestión de sesiones
|
|
40
|
-
```java
|
|
41
|
-
@Action(value = "login", mode = Mode.HTTP_POST)
|
|
42
|
-
public String login(Request<?, ?> request) {
|
|
43
|
-
request.getSession().setAttribute("userId", "42");
|
|
44
|
-
return "Sesión iniciada";
|
|
45
|
-
}
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### Server-Sent Events (SSE)
|
|
49
|
-
```java
|
|
50
|
-
@Action("sse/connect")
|
|
51
|
-
public String connect() {
|
|
52
|
-
return "{\"type\":\"connect\",\"message\":\"Conectado\"}";
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// En otro método o manejador de eventos:
|
|
56
|
-
String sessionId = getContext().getId();
|
|
57
|
-
SSEPushManager.getInstance().push(sessionId, new Builder().put("msg", "hola"));
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Subida de archivos
|
|
61
|
-
```java
|
|
62
|
-
import org.tinystruct.data.FileEntity;
|
|
63
|
-
|
|
64
|
-
@Action(value = "upload", mode = Mode.HTTP_POST)
|
|
65
|
-
public String upload(Request<?, ?> request) throws ApplicationException {
|
|
66
|
-
List<FileEntity> files = request.getAttachments();
|
|
67
|
-
if (files != null) {
|
|
68
|
-
for (FileEntity file : files) {
|
|
69
|
-
// file.getFilename(), file.getContent()
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return "Subido";
|
|
73
|
-
}
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### HTTP saliente
|
|
77
|
-
```java
|
|
78
|
-
import org.tinystruct.net.URLRequest;
|
|
79
|
-
import org.tinystruct.net.handlers.HTTPHandler;
|
|
80
|
-
|
|
81
|
-
URLRequest request = new URLRequest(new URL("https://api.example.com"));
|
|
82
|
-
request.setMethod("POST").setBody("{\"data\":\"val\"}");
|
|
83
|
-
|
|
84
|
-
HTTPHandler handler = new HTTPHandler();
|
|
85
|
-
var response = handler.handleRequest(request);
|
|
86
|
-
if (response.getStatusCode() == 200) {
|
|
87
|
-
String body = response.getBody();
|
|
88
|
-
}
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Sistema de eventos
|
|
92
|
-
Registra manejadores en `init()` para ejecutar tareas asíncronas.
|
|
93
|
-
```java
|
|
94
|
-
EventDispatcher.getInstance().registerHandler(MyEvent.class, event -> {
|
|
95
|
-
CompletableFuture.runAsync(() -> doHeavyWork(event.getPayload()));
|
|
96
|
-
});
|
|
97
|
-
```
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# Patrones de testing en tinystruct
|
|
2
|
-
|
|
3
|
-
## Cuándo usarla
|
|
4
|
-
|
|
5
|
-
Usa estos patrones al escribir tests unitarios para tus aplicaciones con **JUnit 5**. Esenciales para verificar la lógica de las acciones, el registro de rutas y el comportamiento de los modos HTTP.
|
|
6
|
-
|
|
7
|
-
## Cómo funciona
|
|
8
|
-
|
|
9
|
-
### Tests unitarios de aplicaciones
|
|
10
|
-
`ActionRegistry` es un singleton. Para probar una aplicación:
|
|
11
|
-
1. Instancia la aplicación.
|
|
12
|
-
2. Proporciona un objeto `Settings` (dispara `init()` y el procesamiento de anotaciones).
|
|
13
|
-
3. Usa `app.invoke(path, args)` para probar la lógica directamente.
|
|
14
|
-
|
|
15
|
-
### Tests de integración HTTP
|
|
16
|
-
Para tests que involucren el servidor HTTP integrado:
|
|
17
|
-
1. Arranca `HttpServer` en un hilo en segundo plano.
|
|
18
|
-
2. Usa `ApplicationManager.call("start", context, Action.Mode.CLI)` para iniciarlo.
|
|
19
|
-
3. Espera a que el puerto esté abierto usando un `Socket`.
|
|
20
|
-
4. Usa `URLRequest` y `HTTPHandler` para realizar peticiones reales.
|
|
21
|
-
|
|
22
|
-
## Ejemplos
|
|
23
|
-
|
|
24
|
-
### Test unitario
|
|
25
|
-
```java
|
|
26
|
-
import org.junit.jupiter.api.*;
|
|
27
|
-
import org.tinystruct.system.Settings;
|
|
28
|
-
|
|
29
|
-
class MyAppTest {
|
|
30
|
-
private MyApp app;
|
|
31
|
-
|
|
32
|
-
@BeforeEach
|
|
33
|
-
void setUp() {
|
|
34
|
-
app = new MyApp();
|
|
35
|
-
app.setConfiguration(new Settings());
|
|
36
|
-
app.init(); // dispara el procesamiento de @Action y registra todas las acciones
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
@Test
|
|
40
|
-
void testHello() throws Exception {
|
|
41
|
-
Object result = app.invoke("hello");
|
|
42
|
-
Assertions.assertEquals("Hello!", result);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
@Test
|
|
46
|
-
void testGreet() throws Exception {
|
|
47
|
-
Object result = app.invoke("greet", new Object[]{"James"});
|
|
48
|
-
Assertions.assertEquals("Hello, James!", result);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Test de coincidencia en ActionRegistry
|
|
54
|
-
```java
|
|
55
|
-
@Test
|
|
56
|
-
void testRouting() {
|
|
57
|
-
ActionRegistry registry = ActionRegistry.getInstance();
|
|
58
|
-
Action action = registry.getAction("greet/James");
|
|
59
|
-
Assertions.assertNotNull(action);
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Patrón de integración HTTP
|
|
64
|
-
Referencia: `src/test/java/org/tinystruct/system/HttpServerHttpModeTest.java`
|
|
65
|
-
|
|
66
|
-
```java
|
|
67
|
-
// Patrón:
|
|
68
|
-
// 1. Arranca el servidor en un hilo
|
|
69
|
-
// 2. Sondea la disponibilidad del puerto
|
|
70
|
-
// 3. Envía la petición HTTP vía HTTPHandler
|
|
71
|
-
// 4. Comprueba el cuerpo/estado de la respuesta
|
|
72
|
-
```
|
|
@@ -1,449 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: patrones-vite
|
|
3
|
-
description: Patrones de la herramienta de build Vite, incluyendo configuración, plugins, HMR, variables de entorno, configuración de proxy, SSR, modo librería, pre-bundling de dependencias y optimización del build. Actívala al trabajar con vite.config.ts, plugins de Vite o proyectos basados en Vite.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Patrones de Vite
|
|
7
|
-
|
|
8
|
-
Patrones de herramienta de build y servidor de desarrollo para proyectos con Vite 8+. Cubre configuración, variables de entorno, configuración de proxy, modo librería, pre-bundling de dependencias y errores comunes en producción.
|
|
9
|
-
|
|
10
|
-
## Cuándo usarla
|
|
11
|
-
|
|
12
|
-
- Al configurar `vite.config.ts` o `vite.config.js`
|
|
13
|
-
- Al configurar variables de entorno o archivos `.env`
|
|
14
|
-
- Al configurar el proxy del servidor de desarrollo hacia backends de API
|
|
15
|
-
- Al optimizar la salida del build (chunks, minificación, assets)
|
|
16
|
-
- Al publicar librerías con `build.lib`
|
|
17
|
-
- Al depurar el pre-bundling de dependencias o la interoperabilidad CJS/ESM
|
|
18
|
-
- Al depurar errores de HMR, del servidor de desarrollo o del build
|
|
19
|
-
- Al elegir u ordenar plugins de Vite
|
|
20
|
-
|
|
21
|
-
## Cómo funciona
|
|
22
|
-
|
|
23
|
-
- **El modo dev** sirve los archivos fuente como ESM nativo — sin bundling. Las transformaciones ocurren bajo demanda por cada petición de módulo, y por eso los arranques en frío son rápidos y el HMR es preciso.
|
|
24
|
-
- **El modo build** usa Rolldown (v7+) o Rollup (v5–v6) para empaquetar la aplicación para producción con tree-shaking, code-splitting y minificación basada en Oxc.
|
|
25
|
-
- **El pre-bundling de dependencias** convierte una sola vez las dependencias CJS/UMD a ESM mediante esbuild y cachea el resultado en `node_modules/.vite`, de modo que los arranques siguientes se saltan el trabajo.
|
|
26
|
-
- **Los plugins** comparten una interfaz unificada entre dev y build — el mismo objeto de plugin funciona tanto para las transformaciones bajo demanda del servidor de desarrollo como para la tubería de producción.
|
|
27
|
-
- **Las variables de entorno** se incrustan estáticamente en tiempo de build. Las variables con prefijo `VITE_` se convierten en constantes públicas dentro del bundle; todo lo que no lleve prefijo es invisible para el código del cliente.
|
|
28
|
-
|
|
29
|
-
## Ejemplos
|
|
30
|
-
|
|
31
|
-
### Estructura de la configuración
|
|
32
|
-
|
|
33
|
-
#### Configuración básica
|
|
34
|
-
|
|
35
|
-
```typescript
|
|
36
|
-
// vite.config.ts
|
|
37
|
-
import { defineConfig } from 'vite'
|
|
38
|
-
import react from '@vitejs/plugin-react'
|
|
39
|
-
|
|
40
|
-
export default defineConfig({
|
|
41
|
-
plugins: [react()],
|
|
42
|
-
resolve: {
|
|
43
|
-
alias: { '@': new URL('./src', import.meta.url).pathname },
|
|
44
|
-
},
|
|
45
|
-
})
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
#### Configuración condicional
|
|
49
|
-
|
|
50
|
-
```typescript
|
|
51
|
-
// vite.config.ts
|
|
52
|
-
import { defineConfig, loadEnv } from 'vite'
|
|
53
|
-
import react from '@vitejs/plugin-react'
|
|
54
|
-
|
|
55
|
-
export default defineConfig(({ command, mode }) => {
|
|
56
|
-
const env = loadEnv(mode, process.cwd()) // solo prefijo VITE_ (seguro)
|
|
57
|
-
|
|
58
|
-
return {
|
|
59
|
-
plugins: [react()],
|
|
60
|
-
server: command === 'serve' ? { port: 3000 } : undefined,
|
|
61
|
-
define: {
|
|
62
|
-
__API_URL__: JSON.stringify(env.VITE_API_URL),
|
|
63
|
-
},
|
|
64
|
-
}
|
|
65
|
-
})
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
#### Opciones clave de configuración
|
|
69
|
-
|
|
70
|
-
| Clave | Valor por defecto | Descripción |
|
|
71
|
-
|-----|---------|-------------|
|
|
72
|
-
| `root` | `'.'` | Raíz del proyecto (donde vive `index.html`) |
|
|
73
|
-
| `base` | `'/'` | Ruta base pública de los assets desplegados |
|
|
74
|
-
| `envPrefix` | `'VITE_'` | Prefijo de las variables de entorno expuestas al cliente |
|
|
75
|
-
| `build.outDir` | `'dist'` | Directorio de salida |
|
|
76
|
-
| `build.minify` | `'oxc'` | Minificador (`'oxc'`, `'terser'` o `false`) |
|
|
77
|
-
| `build.sourcemap` | `false` | `true`, `'inline'` u `'hidden'` |
|
|
78
|
-
|
|
79
|
-
### Plugins
|
|
80
|
-
|
|
81
|
-
#### Plugins esenciales
|
|
82
|
-
|
|
83
|
-
La mayoría de necesidades de plugins están cubiertas por un puñado de paquetes bien mantenidos. Recurre a estos antes de escribir el tuyo.
|
|
84
|
-
|
|
85
|
-
| Plugin | Propósito | Cuándo usarlo |
|
|
86
|
-
|--------|---------|-------------|
|
|
87
|
-
| `@vitejs/plugin-react-swc` | HMR de React + Fast Refresh vía SWC | Opción por defecto para apps React (más rápido que la variante Babel) |
|
|
88
|
-
| `@vitejs/plugin-react` | HMR de React + Fast Refresh vía Babel | Solo si necesitas plugins de Babel (emotion, decoradores de MobX) |
|
|
89
|
-
| `@vitejs/plugin-vue` | Soporte de SFC de Vue 3 | Apps Vue |
|
|
90
|
-
| `vite-plugin-checker` | Ejecuta `tsc` + ESLint en un hilo worker con overlay de HMR | **Cualquier app TypeScript** — Vite NO chequea tipos durante `vite build` |
|
|
91
|
-
| `vite-tsconfig-paths` | Respeta los alias `paths` de `tsconfig.json` | Siempre que ya tengas alias en `tsconfig.json` |
|
|
92
|
-
| `vite-plugin-dts` | Emite archivos `.d.ts` en modo librería | Al publicar librerías TypeScript |
|
|
93
|
-
| `vite-plugin-svgr` | Importa SVGs como componentes React | Apps React que usan SVGs como componentes |
|
|
94
|
-
| `rollup-plugin-visualizer` | Reporte treemap/sunburst del bundle | Auditorías periódicas del tamaño del bundle (usa `enforce: 'post'`) |
|
|
95
|
-
| `vite-plugin-pwa` | PWA sin configuración + Workbox | Apps con soporte offline |
|
|
96
|
-
|
|
97
|
-
**Advertencia crítica:** `vite build` transpila pero NO chequea tipos. Los errores de tipos llegan silenciosamente a producción a menos que agregues `vite-plugin-checker` o ejecutes `tsc --noEmit` en CI.
|
|
98
|
-
|
|
99
|
-
#### Creación de plugins propios
|
|
100
|
-
|
|
101
|
-
Escribir plugins propios es poco frecuente — la mayoría de necesidades ya están cubiertas por plugins existentes. Cuando de verdad necesites uno, empieza en línea dentro de `vite.config.ts` y extráelo solo si se reutiliza.
|
|
102
|
-
|
|
103
|
-
```typescript
|
|
104
|
-
// vite.config.ts — plugin mínimo en línea
|
|
105
|
-
function myPlugin(): Plugin {
|
|
106
|
-
return {
|
|
107
|
-
name: 'my-plugin', // obligatorio, debe ser único
|
|
108
|
-
enforce: 'pre', // 'pre' | 'post' (opcional)
|
|
109
|
-
apply: 'build', // 'build' | 'serve' (opcional)
|
|
110
|
-
transform(code, id) {
|
|
111
|
-
if (!id.endsWith('.custom')) return
|
|
112
|
-
return { code: transformCustom(code), map: null }
|
|
113
|
-
},
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
**Hooks clave:** `transform` (modificar el código fuente), `resolveId` + `load` (módulos virtuales), `transformIndexHtml` (inyectar en el HTML), `configureServer` (añadir middleware de dev), `hotUpdate` (HMR personalizado — reemplaza al obsoleto `handleHotUpdate` en v7+).
|
|
119
|
-
|
|
120
|
-
**Los módulos virtuales** usan la convención del prefijo `\0` — `resolveId` devuelve `'\0virtual:my-id'` para que los demás plugins lo omitan. El código de usuario importa `'virtual:my-id'`.
|
|
121
|
-
|
|
122
|
-
Para la API completa de plugins, consulta [vite.dev/guide/api-plugin](https://vite.dev/guide/api-plugin). Usa `vite-plugin-inspect` durante el desarrollo para depurar la tubería de transformación.
|
|
123
|
-
|
|
124
|
-
### API de HMR
|
|
125
|
-
|
|
126
|
-
Los plugins de framework (`@vitejs/plugin-react`, `@vitejs/plugin-vue`, etc.) gestionan el HMR automáticamente. Recurre a `import.meta.hot` directamente solo al construir stores de estado personalizados, herramientas de desarrollo o utilidades agnósticas de framework que necesiten persistir estado entre actualizaciones.
|
|
127
|
-
|
|
128
|
-
```typescript
|
|
129
|
-
// src/store.ts — HMR manual para un módulo vanilla
|
|
130
|
-
if (import.meta.hot) {
|
|
131
|
-
// Persistir estado entre actualizaciones (hay que MUTAR, nunca reasignar .data)
|
|
132
|
-
import.meta.hot.data.count = import.meta.hot.data.count ?? 0
|
|
133
|
-
|
|
134
|
-
// Limpiar efectos secundarios antes de que el módulo sea reemplazado
|
|
135
|
-
import.meta.hot.dispose((data) => clearInterval(data.intervalId))
|
|
136
|
-
|
|
137
|
-
// Aceptar las actualizaciones del propio módulo
|
|
138
|
-
import.meta.hot.accept()
|
|
139
|
-
}
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
Todo el código de `import.meta.hot` se elimina por tree-shaking de los builds de producción — no hace falta retirar los guards.
|
|
143
|
-
|
|
144
|
-
### Variables de entorno
|
|
145
|
-
|
|
146
|
-
Vite carga `.env`, `.env.local`, `.env.[mode]` y `.env.[mode].local` en ese orden (lo posterior sobrescribe lo anterior); los archivos `*.local` están en gitignore y se destinan a secretos locales.
|
|
147
|
-
|
|
148
|
-
#### Acceso desde el cliente
|
|
149
|
-
|
|
150
|
-
Solo las variables con prefijo `VITE_` se exponen al código del cliente:
|
|
151
|
-
|
|
152
|
-
```typescript
|
|
153
|
-
import.meta.env.VITE_API_URL // string
|
|
154
|
-
import.meta.env.MODE // 'development' | 'production' | personalizado
|
|
155
|
-
import.meta.env.BASE_URL // valor de la config base
|
|
156
|
-
import.meta.env.DEV // boolean
|
|
157
|
-
import.meta.env.PROD // boolean
|
|
158
|
-
import.meta.env.SSR // boolean
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
#### Uso de variables de entorno en la configuración
|
|
162
|
-
|
|
163
|
-
```typescript
|
|
164
|
-
// vite.config.ts
|
|
165
|
-
import { defineConfig, loadEnv } from 'vite'
|
|
166
|
-
|
|
167
|
-
export default defineConfig(({ mode }) => {
|
|
168
|
-
const env = loadEnv(mode, process.cwd()) // solo prefijo VITE_ (seguro)
|
|
169
|
-
return {
|
|
170
|
-
define: {
|
|
171
|
-
__API_URL__: JSON.stringify(env.VITE_API_URL),
|
|
172
|
-
},
|
|
173
|
-
}
|
|
174
|
-
})
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### Seguridad
|
|
178
|
-
|
|
179
|
-
#### El prefijo `VITE_` NO es una frontera de seguridad
|
|
180
|
-
|
|
181
|
-
Cualquier variable con prefijo `VITE_` se **incrusta estáticamente en el bundle del cliente en tiempo de build**. La minificación, la codificación base64 y desactivar los source maps NO la ocultan. Un atacante decidido puede extraer cualquier variable `VITE_` del JavaScript publicado.
|
|
182
|
-
|
|
183
|
-
**Regla:** Solo los valores públicos (URLs de API, feature flags, claves públicas) van en variables `VITE_`. Los secretos (tokens de API, URLs de base de datos, claves privadas) DEBEN vivir del lado del servidor detrás de una API o una función serverless.
|
|
184
|
-
|
|
185
|
-
#### La trampa de `loadEnv('')`
|
|
186
|
-
|
|
187
|
-
```typescript
|
|
188
|
-
// MAL: pasar '' como tercer argumento carga TODAS las variables de entorno — incluidos
|
|
189
|
-
// los secretos del servidor — y las deja disponibles para incrustarse en el código
|
|
190
|
-
// del cliente vía `define`.
|
|
191
|
-
const env = loadEnv(mode, process.cwd(), '')
|
|
192
|
-
|
|
193
|
-
// BIEN: lista explícita de prefijos
|
|
194
|
-
const env = loadEnv(mode, process.cwd(), ['VITE_', 'APP_'])
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
#### Source maps en producción
|
|
198
|
-
|
|
199
|
-
Los source maps de producción filtran tu código fuente original. Desactívalos salvo que los subas a un rastreador de errores (Sentry, Bugsnag) y los borres localmente después:
|
|
200
|
-
|
|
201
|
-
```typescript
|
|
202
|
-
build: {
|
|
203
|
-
sourcemap: false, // valor por defecto — mantenlo así
|
|
204
|
-
}
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
#### Checklist de `.gitignore`
|
|
208
|
-
|
|
209
|
-
- `.env.local`, `.env.*.local` — sobrescrituras locales con secretos
|
|
210
|
-
- `dist/` — salida del build
|
|
211
|
-
- `node_modules/.vite` — caché del pre-bundle (las entradas obsoletas causan errores fantasma)
|
|
212
|
-
|
|
213
|
-
### Proxy del servidor
|
|
214
|
-
|
|
215
|
-
```typescript
|
|
216
|
-
// vite.config.ts — server.proxy
|
|
217
|
-
server: {
|
|
218
|
-
proxy: {
|
|
219
|
-
'/foo': 'http://localhost:4567', // atajo con string
|
|
220
|
-
|
|
221
|
-
'/api': {
|
|
222
|
-
target: 'http://localhost:8080',
|
|
223
|
-
changeOrigin: true, // necesario para backends con virtual hosting
|
|
224
|
-
rewrite: (path) => path.replace(/^\/api/, ''),
|
|
225
|
-
},
|
|
226
|
-
},
|
|
227
|
-
}
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
Para hacer proxy de WebSocket, añade `ws: true` a la configuración de la ruta.
|
|
231
|
-
|
|
232
|
-
### Optimización del build
|
|
233
|
-
|
|
234
|
-
#### Chunks manuales
|
|
235
|
-
|
|
236
|
-
```typescript
|
|
237
|
-
// vite.config.ts — build.rolldownOptions
|
|
238
|
-
build: {
|
|
239
|
-
rolldownOptions: {
|
|
240
|
-
output: {
|
|
241
|
-
// Forma de objeto: agrupar paquetes específicos
|
|
242
|
-
manualChunks: {
|
|
243
|
-
'react-vendor': ['react', 'react-dom'],
|
|
244
|
-
'ui-vendor': ['@radix-ui/react-dialog', '@radix-ui/react-popover'],
|
|
245
|
-
},
|
|
246
|
-
},
|
|
247
|
-
},
|
|
248
|
-
}
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
```typescript
|
|
252
|
-
// Forma de función: dividir por heurística
|
|
253
|
-
manualChunks(id) {
|
|
254
|
-
if (id.includes('node_modules/react')) return 'react-vendor'
|
|
255
|
-
if (id.includes('node_modules')) return 'vendor'
|
|
256
|
-
}
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
### Rendimiento
|
|
260
|
-
|
|
261
|
-
#### Evita los barrel files
|
|
262
|
-
|
|
263
|
-
Los barrel files (un `index.ts` que reexporta todo lo de un directorio) obligan a Vite a cargar cada archivo reexportado aunque importes un solo símbolo. Es la causa #1 de lentitud del servidor de desarrollo señalada por la documentación oficial.
|
|
264
|
-
|
|
265
|
-
```typescript
|
|
266
|
-
// MAL — importar una sola utilidad obliga a Vite a cargar el barrel completo
|
|
267
|
-
import { slash } from '@/utils'
|
|
268
|
-
|
|
269
|
-
// BIEN — import directo, solo se carga ese archivo
|
|
270
|
-
import { slash } from '@/utils/slash'
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
#### Sé explícito con las extensiones de import
|
|
274
|
-
|
|
275
|
-
Cada extensión implícita fuerza hasta 6 comprobaciones del sistema de archivos vía `resolve.extensions`. En bases de código grandes, esto se acumula.
|
|
276
|
-
|
|
277
|
-
```typescript
|
|
278
|
-
// MAL
|
|
279
|
-
import Component from './Component'
|
|
280
|
-
|
|
281
|
-
// BIEN
|
|
282
|
-
import Component from './Component.tsx'
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
Acota `allowImportingTsExtensions` en `tsconfig.json` y `resolve.extensions` a solo las extensiones que realmente uses.
|
|
286
|
-
|
|
287
|
-
#### Precalienta las rutas de camino caliente
|
|
288
|
-
|
|
289
|
-
`server.warmup.clientFiles` pre-transforma las entradas calientes conocidas antes de que el navegador las solicite — eliminando la cascada de peticiones de la carga en frío en apps grandes.
|
|
290
|
-
|
|
291
|
-
```typescript
|
|
292
|
-
// vite.config.ts
|
|
293
|
-
server: {
|
|
294
|
-
warmup: {
|
|
295
|
-
clientFiles: ['./src/main.tsx', './src/routes/**/*.tsx'],
|
|
296
|
-
},
|
|
297
|
-
}
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
#### Perfilado de servidores de desarrollo lentos
|
|
301
|
-
|
|
302
|
-
Cuando `vite dev` se siente lento, empieza con `vite --profile`, interactúa con la app y luego pulsa `p+enter` para guardar un `.cpuprofile`. Cárgalo en [Speedscope](https://www.speedscope.app) para encontrar qué plugins consumen el tiempo — normalmente los hooks `buildStart`, `config` o `configResolved` de plugins de la comunidad.
|
|
303
|
-
|
|
304
|
-
### Modo librería
|
|
305
|
-
|
|
306
|
-
Al publicar un paquete npm, usa `build.lib`. Dos trampas importan más que el detalle de la configuración:
|
|
307
|
-
|
|
308
|
-
1. **Los tipos no se emiten** — añade `vite-plugin-dts` o ejecuta `tsc --emitDeclarationOnly` por separado.
|
|
309
|
-
2. **Las peer dependencies DEBEN externalizarse** — las peers no listadas quedan empaquetadas dentro de tu librería, causando errores de runtime duplicado en los consumidores.
|
|
310
|
-
|
|
311
|
-
```typescript
|
|
312
|
-
// vite.config.ts
|
|
313
|
-
build: {
|
|
314
|
-
lib: {
|
|
315
|
-
entry: 'src/index.ts',
|
|
316
|
-
formats: ['es', 'cjs'],
|
|
317
|
-
fileName: (format) => `my-lib.${format}.js`,
|
|
318
|
-
},
|
|
319
|
-
rolldownOptions: {
|
|
320
|
-
external: ['react', 'react-dom', 'react/jsx-runtime'], // cada peer dependency
|
|
321
|
-
},
|
|
322
|
-
}
|
|
323
|
-
```
|
|
324
|
-
|
|
325
|
-
### Externals en SSR
|
|
326
|
-
|
|
327
|
-
Los montajes desnudos con `createServer({ middlewareMode: true })` son territorio de autores de frameworks. La mayoría de apps deberían usar Nuxt, Remix, SvelteKit, Astro o TanStack Start en su lugar. Lo que sí ajustarás como usuario de framework es la configuración de externals cuando alguna dependencia se rompa en SSR:
|
|
328
|
-
|
|
329
|
-
```typescript
|
|
330
|
-
// vite.config.ts — opciones ssr
|
|
331
|
-
ssr: {
|
|
332
|
-
external: ['node-native-package'], // mantener como require() en el bundle SSR
|
|
333
|
-
noExternal: ['esm-only-package'], // forzar su empaquetado en la salida SSR (arregla la mayoría de errores de SSR)
|
|
334
|
-
target: 'node', // 'node' o 'webworker'
|
|
335
|
-
}
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
### Pre-bundling de dependencias
|
|
339
|
-
|
|
340
|
-
Vite pre-empaqueta las dependencias para convertir CJS/UMD a ESM y reducir el número de peticiones.
|
|
341
|
-
|
|
342
|
-
```typescript
|
|
343
|
-
// vite.config.ts — optimizeDeps
|
|
344
|
-
optimizeDeps: {
|
|
345
|
-
include: [
|
|
346
|
-
'lodash-es', // forzar el pre-bundle de dependencias pesadas conocidas
|
|
347
|
-
'cjs-package', // dependencias CJS que causan problemas de interoperabilidad
|
|
348
|
-
'deep-lib/components/**', // glob para imports profundos
|
|
349
|
-
],
|
|
350
|
-
exclude: ['local-esm-package'], // debe ser ESM válido si se excluye
|
|
351
|
-
force: true, // ignorar la caché, re-optimizar (depuración temporal)
|
|
352
|
-
}
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
### Errores comunes
|
|
356
|
-
|
|
357
|
-
#### Dev no coincide con build
|
|
358
|
-
|
|
359
|
-
Dev usa esbuild/Rolldown para las transformaciones; build usa Rolldown para el empaquetado. Las librerías CJS pueden comportarse de forma diferente entre ambos. Verifica siempre con `vite build && vite preview` antes de desplegar.
|
|
360
|
-
|
|
361
|
-
#### Chunks obsoletos tras un despliegue
|
|
362
|
-
|
|
363
|
-
Los builds nuevos producen hashes de chunk nuevos. Los usuarios con sesiones activas piden nombres de archivo antiguos que ya no existen. Vite no tiene solución integrada. Mitigaciones:
|
|
364
|
-
|
|
365
|
-
- Mantén vivos los archivos antiguos de `dist/assets/` durante una ventana de despliegue
|
|
366
|
-
- Captura los errores de import dinámico en tu router y fuerza una recarga de página
|
|
367
|
-
|
|
368
|
-
#### Docker y contenedores
|
|
369
|
-
|
|
370
|
-
Vite se enlaza a `localhost` por defecto, que es inalcanzable desde fuera de un contenedor:
|
|
371
|
-
|
|
372
|
-
```typescript
|
|
373
|
-
// vite.config.ts — configuración para Docker/contenedores
|
|
374
|
-
server: {
|
|
375
|
-
host: true, // enlazar a 0.0.0.0
|
|
376
|
-
hmr: { clientPort: 3000 }, // si está detrás de un proxy inverso
|
|
377
|
-
}
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
#### Acceso a archivos en monorepos
|
|
381
|
-
|
|
382
|
-
Vite restringe el servido de archivos a la raíz del proyecto. Los paquetes fuera de la raíz quedan bloqueados:
|
|
383
|
-
|
|
384
|
-
```typescript
|
|
385
|
-
// vite.config.ts — acceso a archivos en monorepo
|
|
386
|
-
server: {
|
|
387
|
-
fs: {
|
|
388
|
-
allow: ['..'], // permitir el directorio padre (raíz del workspace)
|
|
389
|
-
},
|
|
390
|
-
}
|
|
391
|
-
```
|
|
392
|
-
|
|
393
|
-
### Antipatrones
|
|
394
|
-
|
|
395
|
-
```typescript
|
|
396
|
-
// MAL: fijar envPrefix a '' expone TODAS las variables de entorno (incluidos secretos) al cliente
|
|
397
|
-
envPrefix: ''
|
|
398
|
-
|
|
399
|
-
// MAL: asumir que require() funciona en el código fuente de la app — Vite es ESM-first
|
|
400
|
-
const lib = require('some-lib') // usa import en su lugar
|
|
401
|
-
|
|
402
|
-
// MAL: dividir cada node_module en su propio chunk — crea cientos de archivos diminutos
|
|
403
|
-
manualChunks(id) {
|
|
404
|
-
if (id.includes('node_modules')) {
|
|
405
|
-
return id.split('node_modules/')[1].split('/')[0] // un chunk por paquete
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
// MAL: no externalizar las peer deps en modo librería — causa errores de runtime duplicado
|
|
410
|
-
// build.lib sin rolldownOptions.external
|
|
411
|
-
|
|
412
|
-
// MAL: usar el minificador esbuild obsoleto
|
|
413
|
-
build: { minify: 'esbuild' } // usa 'oxc' (por defecto) o 'terser'
|
|
414
|
-
|
|
415
|
-
// MAL: mutar import.meta.hot.data por reasignación
|
|
416
|
-
import.meta.hot.data = { count: 0 } // INCORRECTO: hay que mutar propiedades, no reasignar
|
|
417
|
-
import.meta.hot.data.count = 0 // CORRECTO
|
|
418
|
-
```
|
|
419
|
-
|
|
420
|
-
**Antipatrones de proceso:**
|
|
421
|
-
|
|
422
|
-
- **`vite preview` NO es un servidor de producción** — es una prueba de humo del bundle compilado. Despliega `dist/` en un host estático real (NGINX, Cloudflare Pages, Vercel estático) o usa un Dockerfile multi-stage.
|
|
423
|
-
- **Esperar que `vite build` chequee tipos** — solo transpila. Los errores de tipos llegan silenciosamente a producción. Añade `vite-plugin-checker` o ejecuta `tsc --noEmit` en CI.
|
|
424
|
-
- **Incluir `@vitejs/plugin-legacy` por defecto** — infla los bundles ~40%, rompe los analizadores de bundle basados en source maps y es innecesario para el 95%+ de usuarios en navegadores modernos. Actívalo según analítica real, no por suposición.
|
|
425
|
-
- **Escribir a mano 30+ entradas de `resolve.alias` que duplican los paths de `tsconfig.json`** — usa `vite-tsconfig-paths` en su lugar. Observado en Excalidraw y PostHog; evítalo en proyectos nuevos.
|
|
426
|
-
- **Dejar un `node_modules/.vite` obsoleto tras cambios de dependencias** — la caché del pre-bundle causa errores fantasma. Límpiala al cambiar de rama o después de parchar dependencias.
|
|
427
|
-
|
|
428
|
-
## Referencia rápida
|
|
429
|
-
|
|
430
|
-
| Patrón | Cuándo usarlo |
|
|
431
|
-
|---------|-------------|
|
|
432
|
-
| `defineConfig` | Siempre — aporta inferencia de tipos |
|
|
433
|
-
| `loadEnv(mode, root, ['VITE_'])` | Acceder a variables de entorno en la config (prefijo explícito) |
|
|
434
|
-
| `vite-plugin-checker` | Cualquier app TypeScript (cubre el hueco del chequeo de tipos) |
|
|
435
|
-
| `vite-tsconfig-paths` | En lugar de un `resolve.alias` escrito a mano |
|
|
436
|
-
| `optimizeDeps.include` | Dependencias CJS con problemas de interoperabilidad |
|
|
437
|
-
| `server.proxy` | Enrutar peticiones de API al backend en dev |
|
|
438
|
-
| `server.host: true` | Docker, contenedores, acceso remoto |
|
|
439
|
-
| `server.warmup.clientFiles` | Pre-transformar las rutas de camino caliente |
|
|
440
|
-
| `build.lib` + `external` | Publicar paquetes npm |
|
|
441
|
-
| `manualChunks` (objeto) | División del bundle de vendors |
|
|
442
|
-
| `vite --profile` | Depurar un servidor de desarrollo lento |
|
|
443
|
-
| `vite build && vite preview` | Prueba de humo local del bundle de producción (NO es un servidor de producción) |
|
|
444
|
-
|
|
445
|
-
## Skills relacionadas
|
|
446
|
-
|
|
447
|
-
- `patrones-frontend` — patrones de componentes React
|
|
448
|
-
- `patrones-docker` — desarrollo en contenedores con Vite
|
|
449
|
-
- `patrones-nextjs` — bundler alternativo para Next.js
|