theus-cli-linux-x64 1.2.2 → 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/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,567 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: rendimiento-react
|
|
3
|
-
description: Patrones de optimización de rendimiento para React y Next.js. Organiza más de 70 reglas en 8 categorías por prioridad — waterfalls, tamaño de bundle, lado servidor, fetching en cliente, re-renders, renderizado, micro-rendimiento de JS y patrones avanzados. Úsala al escribir, revisar o refactorizar código React/Next.js con foco en rendimiento.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Rendimiento en React
|
|
7
|
-
|
|
8
|
-
Patrones de optimización de rendimiento para React 18/19 y Next.js. Esta skill organiza las reglas por prioridad y ofrece guía en forma de árbol de decisión para revisiones de código y refactorizaciones activas.
|
|
9
|
-
|
|
10
|
-
## Cuándo activarla
|
|
11
|
-
|
|
12
|
-
- Al escribir o revisar código React/Next.js con foco en rendimiento
|
|
13
|
-
- Al diagnosticar cargas de página lentas, interacciones lentas o CPU alta en el cliente
|
|
14
|
-
- Al auditar el tamaño del bundle o regresiones en las Core Web Vitals de Lighthouse
|
|
15
|
-
- Al eliminar waterfalls en Server Components / rutas de API
|
|
16
|
-
- Al reducir re-renders del lado del cliente
|
|
17
|
-
- Al optimizar listas largas, animaciones o la hidratación
|
|
18
|
-
- Al auditar decisiones de optimización en PRs que tocan `app/`, `pages/`, `components/` o capas de datos
|
|
19
|
-
|
|
20
|
-
## Índice de prioridades
|
|
21
|
-
|
|
22
|
-
| Prioridad | Categoría | Prefijo | Cuándo importa |
|
|
23
|
-
|---|---|---|---|
|
|
24
|
-
| 1 — CRÍTICA | Eliminación de waterfalls | `async-` | Siempre que un `await` va seguido de otro `await` independiente |
|
|
25
|
-
| 2 — CRÍTICA | Optimización del tamaño de bundle | `bundle-` | JS de primera carga, imports por ruta, librerías de terceros |
|
|
26
|
-
| 3 — ALTA | Rendimiento del lado servidor | `server-` | RSC, Server Actions, rutas de API, SSR |
|
|
27
|
-
| 4 — MEDIA-ALTA | Fetching de datos en el cliente | `client-` | SWR / TanStack Query / `fetch` crudo en hooks |
|
|
28
|
-
| 5 — MEDIA | Optimización de re-renders | `rerender-` | Actualizaciones de estado de alta frecuencia, propagación padre-hijo |
|
|
29
|
-
| 6 — MEDIA | Rendimiento de renderizado | `rendering-` | Listas largas, animaciones, hidratación |
|
|
30
|
-
| 7 — BAJA-MEDIA | Rendimiento de JavaScript | `js-` | Bucles calientes, asignaciones frecuentes |
|
|
31
|
-
| 8 — BAJA | Patrones avanzados | `advanced-` | Integración de effect events, refs estables |
|
|
32
|
-
|
|
33
|
-
## 1. Eliminación de waterfalls (CRÍTICA)
|
|
34
|
-
|
|
35
|
-
> "Los waterfalls son el asesino de rendimiento #1" — cada `await` secuencial suma la latencia completa de la red.
|
|
36
|
-
|
|
37
|
-
### Condiciones baratas antes del await
|
|
38
|
-
|
|
39
|
-
Verifica condiciones síncronas (props, env, flags fijos) antes de esperar datos remotos.
|
|
40
|
-
|
|
41
|
-
```ts
|
|
42
|
-
// INCORRECTO
|
|
43
|
-
async function Page({ id }: { id: string }) {
|
|
44
|
-
const flag = await getFlag("show-page");
|
|
45
|
-
if (!flag || !id) return null;
|
|
46
|
-
const data = await getData(id);
|
|
47
|
-
// ...
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// CORRECTO — corta primero por la condición síncrona barata
|
|
51
|
-
async function Page({ id }: { id: string }) {
|
|
52
|
-
if (!id) return null;
|
|
53
|
-
const flag = await getFlag("show-page");
|
|
54
|
-
if (!flag) return null;
|
|
55
|
-
const data = await getData(id);
|
|
56
|
-
}
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Difiere los awaits hasta que se usen
|
|
60
|
-
|
|
61
|
-
Mueve el `await` a la rama que usa el dato.
|
|
62
|
-
|
|
63
|
-
```ts
|
|
64
|
-
// INCORRECTO — espera antes de decidir si necesita el dato
|
|
65
|
-
const user = await getUser(id);
|
|
66
|
-
if (mode === "guest") return renderGuest();
|
|
67
|
-
return renderUser(user);
|
|
68
|
-
|
|
69
|
-
// CORRECTO
|
|
70
|
-
if (mode === "guest") return renderGuest();
|
|
71
|
-
const user = await getUser(id);
|
|
72
|
-
return renderUser(user);
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Promise.all para trabajo independiente
|
|
76
|
-
|
|
77
|
-
```ts
|
|
78
|
-
// INCORRECTO — secuencial
|
|
79
|
-
const user = await getUser(id);
|
|
80
|
-
const posts = await getPosts(id);
|
|
81
|
-
const followers = await getFollowers(id);
|
|
82
|
-
|
|
83
|
-
// CORRECTO — en paralelo
|
|
84
|
-
const [user, posts, followers] = await Promise.all([
|
|
85
|
-
getUser(id),
|
|
86
|
-
getPosts(id),
|
|
87
|
-
getFollowers(id),
|
|
88
|
-
]);
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Dependencias parciales — arranca pronto, espera tarde
|
|
92
|
-
|
|
93
|
-
```ts
|
|
94
|
-
// CORRECTO — lanza todas las promesas y espera solo cuando cada resultado hace falta
|
|
95
|
-
const userP = getUser(id);
|
|
96
|
-
const postsP = getPosts(id);
|
|
97
|
-
const profile = await getProfile(id);
|
|
98
|
-
if (profile.private) return null;
|
|
99
|
-
const [user, posts] = await Promise.all([userP, postsP]);
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Suspense para streaming
|
|
103
|
-
|
|
104
|
-
Acerca los límites de `<Suspense>` a los datos para que la página pinte lo que pueda mientras los subárboles más lentos llegan por streaming. El costo: desplazamiento de layout cuando llega el contenido — reserva espacio (skeleton o `min-height`).
|
|
105
|
-
|
|
106
|
-
### Server Components: paralelismo por composición
|
|
107
|
-
|
|
108
|
-
```tsx
|
|
109
|
-
// INCORRECTO — los awaits hermanos corren en secuencia dentro de un mismo componente
|
|
110
|
-
export default async function Page() {
|
|
111
|
-
const user = await getUser();
|
|
112
|
-
const cart = await getCart();
|
|
113
|
-
return <View user={user} cart={cart} />;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// CORRECTO — divide en hijos; React los ejecuta en paralelo
|
|
117
|
-
export default async function Page() {
|
|
118
|
-
return (
|
|
119
|
-
<View>
|
|
120
|
-
<UserSection />
|
|
121
|
-
<CartSection />
|
|
122
|
-
</View>
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## 2. Optimización del tamaño de bundle (CRÍTICA)
|
|
128
|
-
|
|
129
|
-
### Imports directos, no barrels
|
|
130
|
-
|
|
131
|
-
Los archivos barrel `index.ts` obligan al bundler a recorrer el grafo completo de módulos aunque el tree-shaking elimine la mayor parte. Los imports directos ahorran 200-800 ms de JS de primera carga en muchas apps reales.
|
|
132
|
-
|
|
133
|
-
```ts
|
|
134
|
-
// INCORRECTO
|
|
135
|
-
import { Button, Card, Modal } from "@/components";
|
|
136
|
-
|
|
137
|
-
// CORRECTO
|
|
138
|
-
import { Button } from "@/components/Button";
|
|
139
|
-
import { Card } from "@/components/Card";
|
|
140
|
-
import { Modal } from "@/components/Modal";
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
Next.js 13.5+ incluye [Optimize Package Imports](https://nextjs.org/docs/app/api-reference/next-config-js/optimizePackageImports), que automatiza esto para los paquetes listados — úsalo; los imports directos manuales siguen siendo necesarios para las librerías no listadas.
|
|
144
|
-
|
|
145
|
-
### Rutas analizables estáticamente
|
|
146
|
-
|
|
147
|
-
```ts
|
|
148
|
-
// INCORRECTO — anula el análisis del bundler y del trazado
|
|
149
|
-
const mod = await import(`./pages/${name}`);
|
|
150
|
-
|
|
151
|
-
// CORRECTO — explícito por rama
|
|
152
|
-
const mod = name === "home" ? await import("./pages/home") : await import("./pages/about");
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
### Imports dinámicos para componentes pesados
|
|
156
|
-
|
|
157
|
-
```tsx
|
|
158
|
-
import dynamic from "next/dynamic";
|
|
159
|
-
|
|
160
|
-
const HeavyChart = dynamic(() => import("./HeavyChart"), {
|
|
161
|
-
loading: () => <Skeleton />,
|
|
162
|
-
ssr: false, // cuando es solo-cliente
|
|
163
|
-
});
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### Difiere los scripts de terceros
|
|
167
|
-
|
|
168
|
-
Carga analítica, logging y widgets de soporte DESPUÉS de la hidratación. Usa `next/script` con `strategy="afterInteractive"` (por defecto) o `"lazyOnload"`.
|
|
169
|
-
|
|
170
|
-
### Carga condicional de módulos
|
|
171
|
-
|
|
172
|
-
```tsx
|
|
173
|
-
if (user.role === "admin") {
|
|
174
|
-
const { AdminPanel } = await import("./admin/AdminPanel");
|
|
175
|
-
// ...
|
|
176
|
-
}
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### Precarga en hover/focus
|
|
180
|
-
|
|
181
|
-
Dispara `<link rel="preload">` o `import()` en hover para que el bundle ya esté en caché cuando el usuario haga clic.
|
|
182
|
-
|
|
183
|
-
## 3. Rendimiento del lado servidor (ALTA)
|
|
184
|
-
|
|
185
|
-
### Autentica las Server Actions como si fueran rutas de API
|
|
186
|
-
|
|
187
|
-
Toda función `"use server"` es un endpoint público. Autentica Y autoriza dentro de la acción — nunca confíes en el control de acceso del Client Component que la invoca.
|
|
188
|
-
|
|
189
|
-
```ts
|
|
190
|
-
"use server";
|
|
191
|
-
export async function deleteUser(formData: FormData) {
|
|
192
|
-
const session = await getSession();
|
|
193
|
-
if (!session?.user) throw new Error("No autorizado");
|
|
194
|
-
const targetId = String(formData.get("id"));
|
|
195
|
-
if (session.user.role !== "admin" && session.user.id !== targetId) {
|
|
196
|
-
throw new Error("Prohibido");
|
|
197
|
-
}
|
|
198
|
-
await db.user.delete({ where: { id: targetId } });
|
|
199
|
-
}
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
### `React.cache()` para deduplicación por request
|
|
203
|
-
|
|
204
|
-
```ts
|
|
205
|
-
import { cache } from "react";
|
|
206
|
-
|
|
207
|
-
export const getUser = cache(async (id: string) => {
|
|
208
|
-
return db.user.findUnique({ where: { id } });
|
|
209
|
-
});
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
`React.cache` deduplica dentro de un mismo request. Llamar a `getUser("1")` desde tres Server Components en el mismo render = una sola consulta a la BD.
|
|
213
|
-
|
|
214
|
-
### Caché LRU para datos entre requests
|
|
215
|
-
|
|
216
|
-
Para datos que NO cambian por request (configuración, tablas de consulta), cachea fuera de React con una caché LRU o `unstable_cache`.
|
|
217
|
-
|
|
218
|
-
### Evita la serialización duplicada en props de RSC
|
|
219
|
-
|
|
220
|
-
Cuando un Server Component renderiza los mismos datos en varios Client Components, los datos se serializan una vez por consumidor. Sube el Client Component en el árbol y pasa children.
|
|
221
|
-
|
|
222
|
-
### Eleva la E/S estática al ámbito de módulo
|
|
223
|
-
|
|
224
|
-
```ts
|
|
225
|
-
// CORRECTO — se ejecuta una vez al cargar el módulo
|
|
226
|
-
const fontData = readFileSync(fontPath);
|
|
227
|
-
|
|
228
|
-
export async function Page() {
|
|
229
|
-
return <Banner font={fontData} />;
|
|
230
|
-
}
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
### Nada de estado mutable a nivel de módulo en RSC/SSR
|
|
234
|
-
|
|
235
|
-
El estado de módulo en el servidor se comparte entre todos los requests — una condición de carrera entre usuarios. Usa almacenamiento con ámbito de request (`headers()`, `cookies()`, contexto asíncrono).
|
|
236
|
-
|
|
237
|
-
### Minimiza los datos pasados a Client Components
|
|
238
|
-
|
|
239
|
-
Serializa solo lo que el cliente necesita. Elimina campos, pagina y proyecta columnas en la capa de BD.
|
|
240
|
-
|
|
241
|
-
### Paraleliza fetches anidados con Promise.all por elemento
|
|
242
|
-
|
|
243
|
-
```ts
|
|
244
|
-
const users = await getUsers();
|
|
245
|
-
const enriched = await Promise.all(
|
|
246
|
-
users.map(async (u) => ({ ...u, posts: await getPostsFor(u.id) })),
|
|
247
|
-
);
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
### Usa `after()` para trabajo no bloqueante
|
|
251
|
-
|
|
252
|
-
El `after()` de Next.js 15 ejecuta trabajo después de enviar la respuesta — logging, calentamiento de caché, analítica.
|
|
253
|
-
|
|
254
|
-
```ts
|
|
255
|
-
import { after } from "next/server";
|
|
256
|
-
export async function GET() {
|
|
257
|
-
const data = await getData();
|
|
258
|
-
after(() => logAnalytics(data));
|
|
259
|
-
return Response.json(data);
|
|
260
|
-
}
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
## 4. Fetching de datos en el cliente (MEDIA-ALTA)
|
|
264
|
-
|
|
265
|
-
### SWR / TanStack Query para deduplicación
|
|
266
|
-
|
|
267
|
-
Varios componentes que llaman a `useUser(id)` deben compartir una sola petición de red y una sola entrada de caché. Usa SWR o TanStack Query — nunca improvises tu propio `useEffect` + `fetch` para datos compartidos.
|
|
268
|
-
|
|
269
|
-
### Deduplica los listeners de eventos globales
|
|
270
|
-
|
|
271
|
-
```tsx
|
|
272
|
-
// INCORRECTO — cada componente añade el suyo
|
|
273
|
-
useEffect(() => {
|
|
274
|
-
window.addEventListener("scroll", handler);
|
|
275
|
-
return () => window.removeEventListener("scroll", handler);
|
|
276
|
-
}, []);
|
|
277
|
-
|
|
278
|
-
// CORRECTO — un único listener compartido vía un hook + sujeto global
|
|
279
|
-
const useScroll = createScrollHook(); // sujeto singleton por debajo
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
### Listeners pasivos para scroll
|
|
283
|
-
|
|
284
|
-
```ts
|
|
285
|
-
window.addEventListener("scroll", handler, { passive: true });
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
Mejora la fluidez del scroll; el listener no puede llamar a `preventDefault()`.
|
|
289
|
-
|
|
290
|
-
### localStorage: versiona y minimiza
|
|
291
|
-
|
|
292
|
-
- Guarda siempre un campo `version`; increméntalo al cambiar el esquema y migra o descarta los datos antiguos
|
|
293
|
-
- Mantén los payloads pequeños — `localStorage` es síncrono y bloquea el hilo principal
|
|
294
|
-
|
|
295
|
-
## 5. Optimización de re-renders (MEDIA)
|
|
296
|
-
|
|
297
|
-
### No te suscribas a estado usado solo en callbacks
|
|
298
|
-
|
|
299
|
-
```tsx
|
|
300
|
-
// INCORRECTO — re-renderiza cada vez que cambia count
|
|
301
|
-
const count = useStore((s) => s.count);
|
|
302
|
-
const handler = () => doSomething(count);
|
|
303
|
-
|
|
304
|
-
// CORRECTO — léelo una vez al invocar
|
|
305
|
-
const handler = () => {
|
|
306
|
-
const count = useStore.getState().count;
|
|
307
|
-
doSomething(count);
|
|
308
|
-
};
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
### Extrae el trabajo caro a componentes memoizados
|
|
312
|
-
|
|
313
|
-
```tsx
|
|
314
|
-
// CORRECTO — el hijo solo re-renderiza cuando cambia `items`
|
|
315
|
-
const Heavy = memo(function Heavy({ items }: { items: Item[] }) {
|
|
316
|
-
return <Chart data={transform(items)} />;
|
|
317
|
-
});
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
### Eleva las props por defecto no primitivas
|
|
321
|
-
|
|
322
|
-
```tsx
|
|
323
|
-
// INCORRECTO — un array nuevo en cada render rompe memo
|
|
324
|
-
<List items={items ?? []} />
|
|
325
|
-
|
|
326
|
-
// CORRECTO
|
|
327
|
-
const EMPTY: Item[] = [];
|
|
328
|
-
<List items={items ?? EMPTY} />
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
### Dependencias primitivas en efectos
|
|
332
|
-
|
|
333
|
-
```tsx
|
|
334
|
-
// INCORRECTO — identidad de objeto nueva en cada render
|
|
335
|
-
useEffect(() => {}, [{ id, name }]);
|
|
336
|
-
|
|
337
|
-
// CORRECTO — primitivas
|
|
338
|
-
useEffect(() => {}, [id, name]);
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
### Suscríbete a booleanos derivados, no a valores crudos
|
|
342
|
-
|
|
343
|
-
```tsx
|
|
344
|
-
// INCORRECTO — re-renderiza ante cualquier cambio del carrito
|
|
345
|
-
const cart = useStore((s) => s.cart);
|
|
346
|
-
const hasItems = cart.length > 0;
|
|
347
|
-
|
|
348
|
-
// CORRECTO — re-renderiza solo cuando cambia el estado de vacío
|
|
349
|
-
const hasItems = useStore((s) => s.cart.length > 0);
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
### Deriva durante el render, nunca vía `useEffect`
|
|
353
|
-
|
|
354
|
-
```tsx
|
|
355
|
-
// INCORRECTO
|
|
356
|
-
const [full, setFull] = useState("");
|
|
357
|
-
useEffect(() => setFull(`${first} ${last}`), [first, last]);
|
|
358
|
-
|
|
359
|
-
// CORRECTO
|
|
360
|
-
const full = `${first} ${last}`;
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
### `setState` funcional para callbacks estables
|
|
364
|
-
|
|
365
|
-
```tsx
|
|
366
|
-
// CORRECTO
|
|
367
|
-
const increment = useCallback(() => setCount((c) => c + 1), []);
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
### Inicializador perezoso de estado para valores caros
|
|
371
|
-
|
|
372
|
-
```tsx
|
|
373
|
-
const [tree] = useState(() => parseTree(largeInput));
|
|
374
|
-
```
|
|
375
|
-
|
|
376
|
-
### Evita memo para primitivas simples
|
|
377
|
-
|
|
378
|
-
`useMemo(() => x + 1, [x])` es sobrecosto. Memo compensa cuando hay identidad de objeto o cómputo caro.
|
|
379
|
-
|
|
380
|
-
### Divide los hooks con dependencias independientes
|
|
381
|
-
|
|
382
|
-
```tsx
|
|
383
|
-
// INCORRECTO — ambos selectores se recalculan si cambia cualquiera de las fuentes
|
|
384
|
-
const { a, b } = useSomething(source1, source2);
|
|
385
|
-
|
|
386
|
-
// CORRECTO
|
|
387
|
-
const a = useA(source1);
|
|
388
|
-
const b = useB(source2);
|
|
389
|
-
```
|
|
390
|
-
|
|
391
|
-
### Mueve la lógica de interacción a los manejadores de eventos
|
|
392
|
-
|
|
393
|
-
Los manejadores de eventos corren solo con la acción del usuario — `useEffect` se re-ejecuta cada vez que cambian sus dependencias.
|
|
394
|
-
|
|
395
|
-
### `startTransition` para actualizaciones no urgentes
|
|
396
|
-
|
|
397
|
-
```tsx
|
|
398
|
-
const [pending, startTransition] = useTransition();
|
|
399
|
-
startTransition(() => setFilters(newFilters));
|
|
400
|
-
```
|
|
401
|
-
|
|
402
|
-
### `useDeferredValue` para renders caros
|
|
403
|
-
|
|
404
|
-
```tsx
|
|
405
|
-
const deferredQuery = useDeferredValue(query);
|
|
406
|
-
const results = useMemo(() => expensiveSearch(deferredQuery), [deferredQuery]);
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
### `useRef` para valores transitorios frecuentes
|
|
410
|
-
|
|
411
|
-
Para valores que cambian a menudo pero no deben disparar re-render (marcas de tiempo, última tecla, acumuladores).
|
|
412
|
-
|
|
413
|
-
### No definas componentes dentro de componentes
|
|
414
|
-
|
|
415
|
-
```tsx
|
|
416
|
-
// INCORRECTO — Inner es un componente nuevo en cada render de Outer
|
|
417
|
-
function Outer() {
|
|
418
|
-
const Inner = () => <span />;
|
|
419
|
-
return <Inner />;
|
|
420
|
-
}
|
|
421
|
-
```
|
|
422
|
-
|
|
423
|
-
Cada render crea un tipo `Inner` nuevo, lo que anula la reconciliación y desmonta a los hijos.
|
|
424
|
-
|
|
425
|
-
## 6. Rendimiento de renderizado (MEDIA)
|
|
426
|
-
|
|
427
|
-
### Anima el contenedor, no el SVG
|
|
428
|
-
|
|
429
|
-
Transformar un `<div>` contenedor alrededor de un SVG se acelera por GPU; transformar el propio SVG dispara paint.
|
|
430
|
-
|
|
431
|
-
### `content-visibility: auto` para listas largas
|
|
432
|
-
|
|
433
|
-
```css
|
|
434
|
-
.row { content-visibility: auto; contain-intrinsic-size: auto 80px; }
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
El navegador omite el renderizado fuera de pantalla — una gran mejora en listas con cientos de filas.
|
|
438
|
-
|
|
439
|
-
### Eleva el JSX estático
|
|
440
|
-
|
|
441
|
-
```tsx
|
|
442
|
-
const STATIC_HEADER = <h1>Título</h1>;
|
|
443
|
-
function Page() {
|
|
444
|
-
return <>{STATIC_HEADER}<Body /></>;
|
|
445
|
-
}
|
|
446
|
-
```
|
|
447
|
-
|
|
448
|
-
### SVG: reduce la precisión de coordenadas
|
|
449
|
-
|
|
450
|
-
`d="M10.123456,20.654321"` → `d="M10.12,20.65"`. Cada dígito cuesta bytes; la diferencia visual es sub-píxel.
|
|
451
|
-
|
|
452
|
-
### Hidratación sin parpadeo vía script inline
|
|
453
|
-
|
|
454
|
-
Para valores necesarios antes de la hidratación (tema, locale), incrusta un `<script>` que fije `document.documentElement.dataset.*` antes de que React monte.
|
|
455
|
-
|
|
456
|
-
### Suprime los desajustes de hidratación esperados de forma acotada
|
|
457
|
-
|
|
458
|
-
```tsx
|
|
459
|
-
<time suppressHydrationWarning>{new Date().toLocaleString()}</time>
|
|
460
|
-
```
|
|
461
|
-
|
|
462
|
-
Úsalo SOLO en nodos hoja con divergencia conocida — nunca en un árbol que contenga otros hijos.
|
|
463
|
-
|
|
464
|
-
### `<Activity>` para mostrar/ocultar en lugar de montar/desmontar
|
|
465
|
-
|
|
466
|
-
El `<Activity mode="visible|hidden">` de React 19 mantiene el estado del árbol y los efectos montados pero ocultos — más barato que desmontar/remontar para pestañas y acordeones.
|
|
467
|
-
|
|
468
|
-
### Ternario en lugar de `&&` para render condicional
|
|
469
|
-
|
|
470
|
-
```tsx
|
|
471
|
-
// INCORRECTO — `0` se renderiza como nodo de texto
|
|
472
|
-
{count && <Badge>{count}</Badge>}
|
|
473
|
-
|
|
474
|
-
// CORRECTO
|
|
475
|
-
{count > 0 ? <Badge>{count}</Badge> : null}
|
|
476
|
-
```
|
|
477
|
-
|
|
478
|
-
### `useTransition` para estados de carga
|
|
479
|
-
|
|
480
|
-
Empareja `startTransition` con la acción; React muestra la UI anterior como `isPending` mientras se calcula el siguiente estado.
|
|
481
|
-
|
|
482
|
-
### Resource hints de React DOM
|
|
483
|
-
|
|
484
|
-
```tsx
|
|
485
|
-
import { preload, preconnect } from "react-dom";
|
|
486
|
-
preload("/api/critical", { as: "fetch" });
|
|
487
|
-
preconnect("https://api.example.com");
|
|
488
|
-
```
|
|
489
|
-
|
|
490
|
-
### `defer` / `async` en etiquetas `<script>`
|
|
491
|
-
|
|
492
|
-
`defer` para ejecución ordenada tras DOMContentLoaded; `async` para dispara-y-olvida.
|
|
493
|
-
|
|
494
|
-
## 7. Rendimiento de JavaScript (BAJA-MEDIA)
|
|
495
|
-
|
|
496
|
-
- **Agrupa los cambios de DOM/CSS** — aplícalos con un cambio de clase o `cssText`, no propiedad por propiedad
|
|
497
|
-
- **`Map` para búsquedas repetidas** — `O(1)` frente al recorrido lineal `O(n)`
|
|
498
|
-
- **Cachea el acceso a propiedades en bucles** — `const len = arr.length`
|
|
499
|
-
- **Memoiza funciones puras** — `Map<clave, resultado>` a nivel de módulo
|
|
500
|
-
- **Cachea las lecturas de `localStorage`** — API síncrona; una lectura por render
|
|
501
|
-
- **Combina `filter().map()` en una sola pasada** — `flatMap` o un único `for`
|
|
502
|
-
- **Comprueba primero la longitud del array** antes de comparaciones caras
|
|
503
|
-
- **Retorno temprano** en las funciones
|
|
504
|
-
- **Eleva las RegExp** fuera de los bucles — la compilación no es gratis
|
|
505
|
-
- **Bucle para mín/máx** en lugar de `sort()` — `O(n)` frente a `O(n log n)`
|
|
506
|
-
- **`Set`/`Map` para pertenencia** — `O(1)` frente a `Array.includes` `O(n)`
|
|
507
|
-
- **`toSorted()` en lugar de mutación** cuando la inmutabilidad importa
|
|
508
|
-
- **`flatMap` para mapear y filtrar en una sola pasada**
|
|
509
|
-
- **`requestIdleCallback`** para trabajo no crítico
|
|
510
|
-
|
|
511
|
-
## 8. Patrones avanzados (BAJA)
|
|
512
|
-
|
|
513
|
-
### Dependencias de `useEffectEvent`
|
|
514
|
-
|
|
515
|
-
Los valores de `useEffectEvent` son estables — NO los añadas a las dependencias del efecto.
|
|
516
|
-
|
|
517
|
-
### Refs de manejadores de eventos
|
|
518
|
-
|
|
519
|
-
Para callbacks estables pasados a hijos memoizados:
|
|
520
|
-
|
|
521
|
-
```tsx
|
|
522
|
-
const handlerRef = useRef(handler);
|
|
523
|
-
useEffect(() => { handlerRef.current = handler; });
|
|
524
|
-
const stable = useCallback((arg) => handlerRef.current(arg), []);
|
|
525
|
-
```
|
|
526
|
-
|
|
527
|
-
### Inicializa una sola vez por carga de la app
|
|
528
|
-
|
|
529
|
-
Para singletons a nivel de módulo (telemetría, logger), protégelos con un flag en el ámbito del módulo — no con `useEffect`.
|
|
530
|
-
|
|
531
|
-
### `useLatest` para refs de callbacks estables
|
|
532
|
-
|
|
533
|
-
```tsx
|
|
534
|
-
function useLatest<T>(value: T) {
|
|
535
|
-
const ref = useRef(value);
|
|
536
|
-
ref.current = value;
|
|
537
|
-
return ref;
|
|
538
|
-
}
|
|
539
|
-
```
|
|
540
|
-
|
|
541
|
-
## Herramientas automatizadas
|
|
542
|
-
|
|
543
|
-
Muchas de estas reglas ya están automatizadas:
|
|
544
|
-
|
|
545
|
-
- **Optimize Package Imports de Next.js 13.5+** — optimización de imports barrel
|
|
546
|
-
- **React Compiler** (RFC, en canary) — memoización automática
|
|
547
|
-
- **Turbopack** — builds más rápidos, mejor tree-shaking
|
|
548
|
-
- **Bundle Analyzer** (`@next/bundle-analyzer`) — visualiza el JS de primera carga
|
|
549
|
-
|
|
550
|
-
Cuando el proyecto adopte React Compiler, degrada las reglas manuales de memoización `rerender-*` a "solo revisión" — el compilador las cubre. Los `useMemo`/`useCallback` manuales se convierten en ruido innecesario.
|
|
551
|
-
|
|
552
|
-
## Correspondencia con Lighthouse / Web Vitals
|
|
553
|
-
|
|
554
|
-
| Métrica | Categorías más relevantes |
|
|
555
|
-
|---|---|
|
|
556
|
-
| **LCP** (Largest Contentful Paint) | Waterfalls, Tamaño de bundle, Resource hints |
|
|
557
|
-
| **INP** (Interaction to Next Paint) | Re-renders, Renderizado, JavaScript |
|
|
558
|
-
| **CLS** (Cumulative Layout Shift) | Renderizado (ubicación de Suspense, dimensiones de imágenes) |
|
|
559
|
-
| **TBT** (Total Blocking Time) | Tamaño de bundle, JavaScript, Diferir terceros |
|
|
560
|
-
| **FID** (legado) | Tamaño de bundle, Hidratación |
|
|
561
|
-
|
|
562
|
-
## Relacionado
|
|
563
|
-
|
|
564
|
-
- Skills: [patrones-react](../patrones-react/SKILL.md), [testing-react](../testing-react/SKILL.md), [patrones-frontend](../patrones-frontend/SKILL.md), [accesibilidad](../accesibilidad/SKILL.md), [patrones-nextjs](../patrones-nextjs/SKILL.md)
|
|
565
|
-
- Reglas: [rules/react/](../../rules/react/)
|
|
566
|
-
- Agentes: `revisor-react` aplica estas reglas en la revisión de código; `resolutor-builds-react` atiende los fallos de build relacionados
|
|
567
|
-
- Comandos: `/revisar-react`, `/build-react`, `/test-react`
|