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,442 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: revision-codigo-flutter-dart
|
|
3
|
-
description: Checklist de revisión de código Flutter/Dart agnóstico de librerías — buenas prácticas
|
|
4
|
-
de widgets, gestión de estado (BLoC, Riverpod, Provider, GetX, MobX, Signals), idiomas de Dart,
|
|
5
|
-
rendimiento, accesibilidad, seguridad y arquitectura limpia.
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Revisión de código Flutter/Dart
|
|
9
|
-
|
|
10
|
-
Checklist integral y agnóstico de librerías para revisar aplicaciones Flutter/Dart. Estos principios aplican sea cual sea la solución de gestión de estado, la librería de routing o el framework de inyección de dependencias del proyecto.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## 1. Salud general del proyecto
|
|
15
|
-
|
|
16
|
-
- [ ] El proyecto sigue una estructura de carpetas consistente (feature-first o layer-first)
|
|
17
|
-
- [ ] Separación de responsabilidades correcta: capas de UI, lógica de negocio y datos
|
|
18
|
-
- [ ] Sin lógica de negocio en widgets; los widgets son puramente presentacionales
|
|
19
|
-
- [ ] `pubspec.yaml` limpio — sin dependencias sin uso, versiones fijadas apropiadamente
|
|
20
|
-
- [ ] `analysis_options.yaml` incluye un set de lints estricto con ajustes estrictos del analizador
|
|
21
|
-
- [ ] Sin `print()` en código de producción — usar `log()` de `dart:developer` o un paquete de logging
|
|
22
|
-
- [ ] Archivos generados (`.g.dart`, `.freezed.dart`, `.gr.dart`) actualizados o en `.gitignore`
|
|
23
|
-
- [ ] Código específico de plataforma aislado tras abstracciones
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## 2. Trampas del lenguaje Dart
|
|
28
|
-
|
|
29
|
-
- [ ] **`dynamic` implícito**: anotaciones de tipo ausentes que degradan a `dynamic` — activar `strict-casts`, `strict-inference`, `strict-raw-types`
|
|
30
|
-
- [ ] **Mal uso de null safety**: exceso de `!` (operador bang) en lugar de comprobaciones de null o pattern matching de Dart 3 (`if (value case var v?)`)
|
|
31
|
-
- [ ] **Fallos de promoción de tipos**: usar `this.field` donde funcionaría la promoción de variable local
|
|
32
|
-
- [ ] **Capturas demasiado amplias**: `catch (e)` sin cláusula `on`; especificar siempre los tipos de excepción
|
|
33
|
-
- [ ] **Capturar `Error`**: los subtipos de `Error` indican bugs y no deben capturarse
|
|
34
|
-
- [ ] **`async` sin uso**: funciones marcadas `async` que nunca hacen `await` — sobrecoste innecesario
|
|
35
|
-
- [ ] **Abuso de `late`**: `late` donde un nullable o la inicialización en constructor sería más segura; difiere errores al runtime
|
|
36
|
-
- [ ] **Concatenación de strings en bucles**: usar `StringBuffer` en lugar de `+` para construcción iterativa
|
|
37
|
-
- [ ] **Estado mutable en contextos `const`**: los campos de clases con constructor `const` no deben ser mutables
|
|
38
|
-
- [ ] **Ignorar valores `Future`**: usar `await` o llamar explícitamente `unawaited()` para señalar la intención
|
|
39
|
-
- [ ] **`var` donde cabe `final`**: preferir `final` para locales y `const` para constantes de compilación
|
|
40
|
-
- [ ] **Imports relativos**: usar imports `package:` por consistencia
|
|
41
|
-
- [ ] **Colecciones mutables expuestas**: las APIs públicas deben devolver vistas inmodificables, no `List`/`Map` crudos
|
|
42
|
-
- [ ] **Falta de pattern matching de Dart 3**: preferir switch expressions e `if-case` sobre comprobaciones `is` verbosas y casting manual
|
|
43
|
-
- [ ] **Clases desechables para retornos múltiples**: usar records de Dart 3 `(String, int)` en lugar de DTOs de un solo uso
|
|
44
|
-
- [ ] **`print()` en producción**: usar `log()` de `dart:developer` o el paquete de logging del proyecto; `print()` no tiene niveles ni se puede filtrar
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## 3. Buenas prácticas de widgets
|
|
49
|
-
|
|
50
|
-
### Descomposición de widgets:
|
|
51
|
-
- [ ] Ningún widget con un `build()` que supere ~80-100 líneas
|
|
52
|
-
- [ ] Widgets divididos por encapsulación Y por cómo cambian (fronteras de rebuild)
|
|
53
|
-
- [ ] Los métodos privados `_build*()` que devuelven widgets se extraen a clases widget separadas (habilita reutilización de elementos, propagación de `const` y optimizaciones del framework)
|
|
54
|
-
- [ ] Widgets Stateless preferidos sobre Stateful cuando no hay estado local mutable
|
|
55
|
-
- [ ] Los widgets extraídos van en archivos separados cuando son reutilizables
|
|
56
|
-
|
|
57
|
-
### Uso de const:
|
|
58
|
-
- [ ] Constructores `const` usados siempre que sea posible — evita rebuilds innecesarios
|
|
59
|
-
- [ ] Literales `const` para colecciones que no cambian (`const []`, `const {}`)
|
|
60
|
-
- [ ] El constructor se declara `const` cuando todos los campos son final
|
|
61
|
-
|
|
62
|
-
### Uso de keys:
|
|
63
|
-
- [ ] `ValueKey` en listas/grids para preservar estado en reordenamientos
|
|
64
|
-
- [ ] `GlobalKey` con moderación — solo cuando realmente hay que acceder a estado a través del árbol
|
|
65
|
-
- [ ] `UniqueKey` evitado en `build()` — fuerza rebuild en cada frame
|
|
66
|
-
- [ ] `ObjectKey` cuando la identidad se basa en un objeto de datos y no en un valor simple
|
|
67
|
-
|
|
68
|
-
### Theming y sistema de diseño:
|
|
69
|
-
- [ ] Los colores vienen de `Theme.of(context).colorScheme` — nada de `Colors.red` ni hex hardcodeados
|
|
70
|
-
- [ ] Los estilos de texto vienen de `Theme.of(context).textTheme` — sin `TextStyle` inline con tamaños crudos
|
|
71
|
-
- [ ] Compatibilidad con modo oscuro verificada — sin asumir fondo claro
|
|
72
|
-
- [ ] Espaciado y tamaños con tokens de diseño o constantes consistentes, no números mágicos
|
|
73
|
-
|
|
74
|
-
### Complejidad del método build:
|
|
75
|
-
- [ ] Sin llamadas de red, I/O de archivos ni cómputo pesado en `build()`
|
|
76
|
-
- [ ] Sin `Future.then()` ni trabajo `async` en `build()`
|
|
77
|
-
- [ ] Sin creación de suscripciones (`.listen()`) en `build()`
|
|
78
|
-
- [ ] `setState()` localizado en el subárbol más pequeño posible
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## 4. Gestión de estado (agnóstico de librería)
|
|
83
|
-
|
|
84
|
-
Estos principios aplican a todas las soluciones de gestión de estado en Flutter (BLoC, Riverpod, Provider, GetX, MobX, Signals, ValueNotifier, etc.).
|
|
85
|
-
|
|
86
|
-
### Arquitectura:
|
|
87
|
-
- [ ] La lógica de negocio vive fuera de la capa de widgets — en un componente de gestión de estado (BLoC, Notifier, Controller, Store, ViewModel, etc.)
|
|
88
|
-
- [ ] Los gestores de estado reciben dependencias por inyección, no construyéndolas internamente
|
|
89
|
-
- [ ] Una capa de servicios o repositorios abstrae las fuentes de datos — widgets y gestores de estado no llaman a APIs ni bases de datos directamente
|
|
90
|
-
- [ ] Los gestores de estado tienen responsabilidad única — nada de gestores "dios" con asuntos inconexos
|
|
91
|
-
- [ ] Las dependencias entre componentes siguen las convenciones de cada solución:
|
|
92
|
-
- En **Riverpod**: providers que dependen de providers vía `ref.watch` es lo esperado — marcar solo cadenas circulares o excesivamente enredadas
|
|
93
|
-
- En **BLoC**: los blocs no deben depender directamente de otros blocs — preferir repositorios compartidos o coordinación en la capa de presentación
|
|
94
|
-
- En otras soluciones: seguir las convenciones documentadas de comunicación entre componentes
|
|
95
|
-
|
|
96
|
-
### Inmutabilidad e igualdad por valor (soluciones de estado inmutable: BLoC, Riverpod, Redux):
|
|
97
|
-
- [ ] Los objetos de estado son inmutables — instancias nuevas vía `copyWith()` o constructores, nunca mutación in-place
|
|
98
|
-
- [ ] Las clases de estado implementan `==` y `hashCode` correctamente (todos los campos en la comparación)
|
|
99
|
-
- [ ] El mecanismo es consistente en el proyecto — override manual, `Equatable`, `freezed`, records de Dart u otro
|
|
100
|
-
- [ ] Las colecciones dentro del estado no se exponen como `List`/`Map` mutables crudos
|
|
101
|
-
|
|
102
|
-
### Disciplina de reactividad (soluciones de mutación reactiva: MobX, GetX, Signals):
|
|
103
|
-
- [ ] El estado solo se muta a través de la API reactiva de la solución (`@action` en MobX, `.value` en signals, `.obs` en GetX) — la mutación directa de campos elude el seguimiento de cambios
|
|
104
|
-
- [ ] Los valores derivados usan el mecanismo computed de la solución en lugar de almacenarse redundantemente
|
|
105
|
-
- [ ] Reacciones y disposers se limpian correctamente (`ReactionDisposer` en MobX, cleanup de effects en Signals)
|
|
106
|
-
|
|
107
|
-
### Diseño de la forma del estado:
|
|
108
|
-
- [ ] Los estados mutuamente excluyentes usan tipos sealed, variantes union o el tipo async de la solución (p. ej. `AsyncValue` de Riverpod) — no banderas booleanas (`isLoading`, `isError`, `hasData`)
|
|
109
|
-
- [ ] Cada operación async modela loading, éxito y error como estados distintos
|
|
110
|
-
- [ ] Todas las variantes de estado se manejan exhaustivamente en la UI — sin casos silenciosamente ignorados
|
|
111
|
-
- [ ] Los estados de error llevan la información del error para mostrarla; los de carga no llevan datos obsoletos
|
|
112
|
-
- [ ] Los datos nullable no se usan como indicador de carga — los estados son explícitos
|
|
113
|
-
|
|
114
|
-
```dart
|
|
115
|
-
// MAL — la sopa de banderas booleanas permite estados imposibles
|
|
116
|
-
class UserState {
|
|
117
|
-
bool isLoading = false;
|
|
118
|
-
bool hasError = false; // ¡isLoading && hasError es representable!
|
|
119
|
-
User? user;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// BIEN (enfoque inmutable) — los tipos sealed hacen irrepresentables los estados imposibles
|
|
123
|
-
sealed class UserState {}
|
|
124
|
-
class UserInitial extends UserState {}
|
|
125
|
-
class UserLoading extends UserState {}
|
|
126
|
-
class UserLoaded extends UserState {
|
|
127
|
-
final User user;
|
|
128
|
-
const UserLoaded(this.user);
|
|
129
|
-
}
|
|
130
|
-
class UserError extends UserState {
|
|
131
|
-
final String message;
|
|
132
|
-
const UserError(this.message);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
// BIEN (enfoque reactivo) — enum observable + datos, mutaciones vía API de reactividad
|
|
136
|
-
// enum UserStatus { initial, loading, loaded, error }
|
|
137
|
-
// Usa el observable/signal de tu solución para envolver status y datos por separado
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### Optimización de rebuilds:
|
|
141
|
-
- [ ] Los widgets consumidores de estado (Builder, Consumer, Observer, Obx, Watch, etc.) acotados lo más estrecho posible
|
|
142
|
-
- [ ] Selectores para reconstruir solo cuando cambian campos concretos — no en cada emisión de estado
|
|
143
|
-
- [ ] Widgets `const` para frenar la propagación de rebuilds por el árbol
|
|
144
|
-
- [ ] El estado computado/derivado se calcula reactivamente, no se almacena de forma redundante
|
|
145
|
-
|
|
146
|
-
### Suscripciones y disposal:
|
|
147
|
-
- [ ] Toda suscripción manual (`.listen()`) se cancela en `dispose()` / `close()`
|
|
148
|
-
- [ ] Los stream controllers se cierran cuando ya no se necesitan
|
|
149
|
-
- [ ] Los timers se cancelan en el ciclo de disposal
|
|
150
|
-
- [ ] Se prefiere el ciclo de vida gestionado por el framework sobre la suscripción manual (builders declarativos sobre `.listen()`)
|
|
151
|
-
- [ ] Comprobación de `mounted` antes de `setState` en callbacks async
|
|
152
|
-
- [ ] `BuildContext` no se usa después de un `await` sin comprobar `context.mounted` (Flutter 3.7+) — un contexto obsoleto provoca crashes
|
|
153
|
-
- [ ] Sin navegación, diálogos ni mensajes de scaffold tras huecos async sin verificar que el widget sigue montado
|
|
154
|
-
- [ ] `BuildContext` nunca se guarda en singletons, gestores de estado ni campos estáticos
|
|
155
|
-
|
|
156
|
-
### Estado local vs global:
|
|
157
|
-
- [ ] El estado efímero de UI (checkbox, slider, animación) usa estado local (`setState`, `ValueNotifier`)
|
|
158
|
-
- [ ] El estado compartido se eleva solo lo necesario — no se sobre-globaliza
|
|
159
|
-
- [ ] El estado acotado a una feature se libera correctamente cuando la feature deja de estar activa
|
|
160
|
-
|
|
161
|
-
---
|
|
162
|
-
|
|
163
|
-
## 5. Rendimiento
|
|
164
|
-
|
|
165
|
-
### Rebuilds innecesarios:
|
|
166
|
-
- [ ] `setState()` no se llama en la raíz — localizar los cambios de estado
|
|
167
|
-
- [ ] Widgets `const` para frenar la propagación de rebuilds
|
|
168
|
-
- [ ] `RepaintBoundary` alrededor de subárboles complejos que repintan de forma independiente
|
|
169
|
-
- [ ] Parámetro `child` de `AnimatedBuilder` para subárboles independientes de la animación
|
|
170
|
-
|
|
171
|
-
### Operaciones caras en build():
|
|
172
|
-
- [ ] Sin ordenar, filtrar ni mapear colecciones grandes en `build()` — computar en la capa de gestión de estado
|
|
173
|
-
- [ ] Sin compilación de regex en `build()`
|
|
174
|
-
- [ ] Uso específico de `MediaQuery.of(context)` (p. ej. `MediaQuery.sizeOf(context)`)
|
|
175
|
-
|
|
176
|
-
### Optimización de imágenes:
|
|
177
|
-
- [ ] Las imágenes de red usan caché (cualquier solución de caché apropiada para el proyecto)
|
|
178
|
-
- [ ] Resolución de imagen adecuada al dispositivo objetivo (no cargar 4K para miniaturas)
|
|
179
|
-
- [ ] `Image.asset` con `cacheWidth`/`cacheHeight` para decodificar al tamaño mostrado
|
|
180
|
-
- [ ] Placeholder y widget de error para imágenes de red
|
|
181
|
-
|
|
182
|
-
### Carga diferida:
|
|
183
|
-
- [ ] `ListView.builder` / `GridView.builder` en lugar de `ListView(children: [...])` para listas grandes o dinámicas (los constructores concretos están bien para listas pequeñas y estáticas)
|
|
184
|
-
- [ ] Paginación implementada para conjuntos de datos grandes
|
|
185
|
-
- [ ] Carga diferida (`deferred as`) para librerías pesadas en builds web
|
|
186
|
-
|
|
187
|
-
### Otros:
|
|
188
|
-
- [ ] Widget `Opacity` evitado en animaciones — usar `AnimatedOpacity` o `FadeTransition`
|
|
189
|
-
- [ ] Clipping evitado en animaciones — pre-recortar las imágenes
|
|
190
|
-
- [ ] `operator ==` no se sobreescribe en widgets — usar constructores `const`
|
|
191
|
-
- [ ] Widgets de dimensiones intrínsecas (`IntrinsicHeight`, `IntrinsicWidth`) con moderación (pase de layout extra)
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## 6. Testing
|
|
196
|
-
|
|
197
|
-
### Tipos de tests y expectativas:
|
|
198
|
-
- [ ] **Tests unitarios**: cubren toda la lógica de negocio (gestores de estado, repositorios, utilidades)
|
|
199
|
-
- [ ] **Tests de widget**: cubren comportamiento, interacciones y salida visual de widgets individuales
|
|
200
|
-
- [ ] **Tests de integración**: cubren flujos de usuario críticos de extremo a extremo
|
|
201
|
-
- [ ] **Golden tests**: comparaciones pixel-perfect para componentes de UI críticos de diseño
|
|
202
|
-
|
|
203
|
-
### Objetivos de cobertura:
|
|
204
|
-
- [ ] Apuntar a 80 %+ de cobertura de líneas en la lógica de negocio
|
|
205
|
-
- [ ] Todas las transiciones de estado tienen tests (loading → success, loading → error, reintento, etc.)
|
|
206
|
-
- [ ] Casos límite testeados: estados vacíos, de error, de carga, valores frontera
|
|
207
|
-
|
|
208
|
-
### Aislamiento de tests:
|
|
209
|
-
- [ ] Las dependencias externas (clientes de API, bases de datos, servicios) se mockean o se sustituyen por fakes
|
|
210
|
-
- [ ] Cada archivo de test prueba exactamente una clase/unidad
|
|
211
|
-
- [ ] Los tests verifican comportamiento, no detalles de implementación
|
|
212
|
-
- [ ] Los stubs definen solo el comportamiento necesario para cada test (stubbing mínimo)
|
|
213
|
-
- [ ] Sin estado mutable compartido entre casos de test
|
|
214
|
-
|
|
215
|
-
### Calidad de los tests de widget:
|
|
216
|
-
- [ ] `pumpWidget` y `pump` usados correctamente para operaciones async
|
|
217
|
-
- [ ] `find.byType`, `find.text`, `find.byKey` usados apropiadamente
|
|
218
|
-
- [ ] Sin tests flaky que dependan del timing — usar `pumpAndSettle` o `pump(Duration)` explícito
|
|
219
|
-
- [ ] Los tests corren en CI y sus fallos bloquean los merges
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
## 7. Accesibilidad
|
|
224
|
-
|
|
225
|
-
### Widgets semánticos:
|
|
226
|
-
- [ ] Widget `Semantics` para dar etiquetas de lector de pantalla donde las automáticas no bastan
|
|
227
|
-
- [ ] `ExcludeSemantics` para elementos puramente decorativos
|
|
228
|
-
- [ ] `MergeSemantics` para combinar widgets relacionados en un único elemento accesible
|
|
229
|
-
- [ ] Las imágenes tienen la propiedad `semanticLabel`
|
|
230
|
-
|
|
231
|
-
### Soporte de lector de pantalla:
|
|
232
|
-
- [ ] Todos los elementos interactivos son enfocables y tienen descripciones significativas
|
|
233
|
-
- [ ] El orden de foco es lógico (sigue el orden visual de lectura)
|
|
234
|
-
|
|
235
|
-
### Accesibilidad visual:
|
|
236
|
-
- [ ] Contraste >= 4.5:1 entre texto y fondo
|
|
237
|
-
- [ ] Objetivos táctiles de al menos 48x48 píxeles
|
|
238
|
-
- [ ] El color no es el único indicador de estado (acompañar con iconos/texto)
|
|
239
|
-
- [ ] El texto escala con la configuración de tamaño de fuente del sistema
|
|
240
|
-
|
|
241
|
-
### Accesibilidad de interacción:
|
|
242
|
-
- [ ] Sin callbacks `onPressed` vacíos — cada botón hace algo o está deshabilitado
|
|
243
|
-
- [ ] Los campos con error sugieren correcciones
|
|
244
|
-
- [ ] El contexto no cambia inesperadamente mientras el usuario introduce datos
|
|
245
|
-
|
|
246
|
-
---
|
|
247
|
-
|
|
248
|
-
## 8. Aspectos específicos de plataforma
|
|
249
|
-
|
|
250
|
-
### Diferencias iOS/Android:
|
|
251
|
-
- [ ] Widgets adaptativos por plataforma donde corresponda
|
|
252
|
-
- [ ] Navegación atrás correcta (botón atrás de Android, gesto swipe de iOS)
|
|
253
|
-
- [ ] Barra de estado y safe area gestionadas vía widget `SafeArea`
|
|
254
|
-
- [ ] Permisos específicos de plataforma declarados en `AndroidManifest.xml` e `Info.plist`
|
|
255
|
-
|
|
256
|
-
### Diseño responsivo:
|
|
257
|
-
- [ ] `LayoutBuilder` o `MediaQuery` para layouts responsivos
|
|
258
|
-
- [ ] Breakpoints definidos consistentemente (teléfono, tablet, escritorio)
|
|
259
|
-
- [ ] El texto no desborda en pantallas pequeñas — usar `Flexible`, `Expanded`, `FittedBox`
|
|
260
|
-
- [ ] Orientación horizontal testeada o explícitamente bloqueada
|
|
261
|
-
- [ ] Web: interacciones de ratón/teclado soportadas, estados hover presentes
|
|
262
|
-
|
|
263
|
-
---
|
|
264
|
-
|
|
265
|
-
## 9. Seguridad
|
|
266
|
-
|
|
267
|
-
### Almacenamiento seguro:
|
|
268
|
-
- [ ] Los datos sensibles (tokens, credenciales) usan el almacenamiento seguro de la plataforma (Keychain en iOS, EncryptedSharedPreferences en Android)
|
|
269
|
-
- [ ] Nunca guardar secretos en almacenamiento plano
|
|
270
|
-
- [ ] Considerar autenticación biométrica para operaciones sensibles
|
|
271
|
-
|
|
272
|
-
### Manejo de API keys:
|
|
273
|
-
- [ ] Las API keys NO están hardcodeadas en el código Dart — usar `--dart-define`, archivos `.env` excluidos del VCS o configuración en tiempo de compilación
|
|
274
|
-
- [ ] Los secretos no se commitean a git — revisar `.gitignore`
|
|
275
|
-
- [ ] Proxy de backend para claves realmente secretas (el cliente nunca debe poseer secretos de servidor)
|
|
276
|
-
|
|
277
|
-
### Validación de entrada:
|
|
278
|
-
- [ ] Toda entrada del usuario se valida antes de enviarse a la API
|
|
279
|
-
- [ ] La validación de formularios usa patrones apropiados
|
|
280
|
-
- [ ] Sin SQL crudo ni interpolación de strings con entrada del usuario
|
|
281
|
-
- [ ] Las URLs de deep links se validan y sanitizan antes de navegar
|
|
282
|
-
|
|
283
|
-
### Seguridad de red:
|
|
284
|
-
- [ ] HTTPS obligatorio en todas las llamadas de API
|
|
285
|
-
- [ ] Considerar certificate pinning para apps de alta seguridad
|
|
286
|
-
- [ ] Tokens de autenticación se refrescan y expiran correctamente
|
|
287
|
-
- [ ] Sin datos sensibles en logs ni prints
|
|
288
|
-
|
|
289
|
-
---
|
|
290
|
-
|
|
291
|
-
## 10. Revisión de paquetes/dependencias
|
|
292
|
-
|
|
293
|
-
### Evaluar paquetes de pub.dev:
|
|
294
|
-
- [ ] Revisar la **puntuación de pub points** (apuntar a 130+/160)
|
|
295
|
-
- [ ] Revisar **likes** y **popularidad** como señales de comunidad
|
|
296
|
-
- [ ] Verificar que el publicador esté **verificado** en pub.dev
|
|
297
|
-
- [ ] Revisar la fecha de última publicación — los paquetes estancados (>1 año) son un riesgo
|
|
298
|
-
- [ ] Revisar issues abiertas y tiempo de respuesta de los mantenedores
|
|
299
|
-
- [ ] Comprobar compatibilidad de licencia con el proyecto
|
|
300
|
-
- [ ] Verificar que el soporte de plataformas cubra los targets
|
|
301
|
-
|
|
302
|
-
### Restricciones de versión:
|
|
303
|
-
- [ ] Sintaxis caret (`^1.2.3`) para dependencias — permite actualizaciones compatibles
|
|
304
|
-
- [ ] Fijar versiones exactas solo cuando sea absolutamente necesario
|
|
305
|
-
- [ ] Ejecutar `flutter pub outdated` con regularidad para vigilar dependencias obsoletas
|
|
306
|
-
- [ ] Sin dependency overrides en el `pubspec.yaml` de producción — solo para arreglos temporales con comentario/enlace a issue
|
|
307
|
-
- [ ] Minimizar el número de dependencias transitivas — cada dependencia es superficie de ataque
|
|
308
|
-
|
|
309
|
-
### Específico de monorepos (melos/workspace):
|
|
310
|
-
- [ ] Los paquetes internos importan solo desde la API pública — nada de `package:other/src/internal.dart` (rompe la encapsulación de paquetes Dart)
|
|
311
|
-
- [ ] Las dependencias entre paquetes internos usan resolución de workspace, no strings relativos `path: ../../` hardcodeados
|
|
312
|
-
- [ ] Todos los subpaquetes comparten o heredan el `analysis_options.yaml` raíz
|
|
313
|
-
|
|
314
|
-
---
|
|
315
|
-
|
|
316
|
-
## 11. Navegación y routing
|
|
317
|
-
|
|
318
|
-
### Principios generales (aplican a cualquier solución de routing):
|
|
319
|
-
- [ ] Un solo enfoque de routing usado consistentemente — sin mezclar `Navigator.push` imperativo con un router declarativo
|
|
320
|
-
- [ ] Los argumentos de ruta están tipados — sin castings de `Map<String, dynamic>` u `Object?`
|
|
321
|
-
- [ ] Las rutas se definen como constantes, enums o código generado — sin strings mágicos dispersos
|
|
322
|
-
- [ ] Guards/redirecciones de autenticación centralizados — no duplicados en pantallas individuales
|
|
323
|
-
- [ ] Deep links configurados para Android e iOS
|
|
324
|
-
- [ ] Las URLs de deep links se validan y sanitizan antes de navegar
|
|
325
|
-
- [ ] El estado de navegación es testeable — los cambios de ruta se pueden verificar en tests
|
|
326
|
-
- [ ] El comportamiento de "atrás" es correcto en todas las plataformas
|
|
327
|
-
|
|
328
|
-
---
|
|
329
|
-
|
|
330
|
-
## 12. Manejo de errores
|
|
331
|
-
|
|
332
|
-
### Manejo de errores del framework:
|
|
333
|
-
- [ ] `FlutterError.onError` sobreescrito para capturar errores del framework (build, layout, paint)
|
|
334
|
-
- [ ] `PlatformDispatcher.instance.onError` configurado para errores async no capturados por Flutter
|
|
335
|
-
- [ ] `ErrorWidget.builder` personalizado en modo release (amigable en vez de pantalla roja)
|
|
336
|
-
- [ ] Envoltura global de captura de errores alrededor de `runApp` (p. ej. `runZonedGuarded` o el wrapper del servicio de reporte)
|
|
337
|
-
|
|
338
|
-
### Reporte de errores:
|
|
339
|
-
- [ ] Servicio de reporte de errores integrado (Firebase Crashlytics, Sentry o equivalente)
|
|
340
|
-
- [ ] Errores no fatales reportados con stack traces
|
|
341
|
-
- [ ] El observador de errores de la gestión de estado conectado al reporte (p. ej. BlocObserver, ProviderObserver o equivalente)
|
|
342
|
-
- [ ] Información identificable (user ID) adjunta a los reportes para depuración
|
|
343
|
-
|
|
344
|
-
### Degradación elegante:
|
|
345
|
-
- [ ] Los errores de API resultan en UI de error amigable, no en crashes
|
|
346
|
-
- [ ] Mecanismos de reintento para fallos de red transitorios
|
|
347
|
-
- [ ] Estado offline manejado con elegancia
|
|
348
|
-
- [ ] Los estados de error en la gestión de estado llevan la información para mostrarla
|
|
349
|
-
- [ ] Las excepciones crudas (red, parsing) se mapean a mensajes amigables y localizados antes de llegar a la UI — nunca mostrar strings de excepción crudos al usuario
|
|
350
|
-
|
|
351
|
-
---
|
|
352
|
-
|
|
353
|
-
## 13. Internacionalización (l10n)
|
|
354
|
-
|
|
355
|
-
### Configuración:
|
|
356
|
-
- [ ] Solución de localización configurada (ARB/l10n integrado de Flutter, easy_localization o equivalente)
|
|
357
|
-
- [ ] Locales soportados declarados en la configuración de la app
|
|
358
|
-
|
|
359
|
-
### Contenido:
|
|
360
|
-
- [ ] Todos los strings visibles usan el sistema de localización — sin strings hardcodeados en widgets
|
|
361
|
-
- [ ] El archivo plantilla incluye descripciones/contexto para traductores
|
|
362
|
-
- [ ] Sintaxis ICU para plurales, géneros, selects
|
|
363
|
-
- [ ] Placeholders definidos con tipos
|
|
364
|
-
- [ ] Sin claves faltantes entre locales
|
|
365
|
-
|
|
366
|
-
### En la revisión:
|
|
367
|
-
- [ ] Accesor de localización usado consistentemente en todo el proyecto
|
|
368
|
-
- [ ] Formato de fecha, hora, número y moneda consciente del locale
|
|
369
|
-
- [ ] Direccionalidad de texto (RTL) soportada si se apunta a árabe, hebreo, etc.
|
|
370
|
-
- [ ] Sin concatenación de strings para texto localizado — usar mensajes parametrizados
|
|
371
|
-
|
|
372
|
-
---
|
|
373
|
-
|
|
374
|
-
## 14. Inyección de dependencias
|
|
375
|
-
|
|
376
|
-
### Principios (aplican a cualquier enfoque de DI):
|
|
377
|
-
- [ ] Las clases dependen de abstracciones (interfaces), no de implementaciones concretas en las fronteras de capa
|
|
378
|
-
- [ ] Las dependencias se proveen externamente vía constructor, framework de DI o grafo de providers — no se crean internamente
|
|
379
|
-
- [ ] El registro distingue tiempos de vida: singleton vs factory vs lazy singleton
|
|
380
|
-
- [ ] Los bindings por entorno (dev/staging/prod) usan configuración, no `if` en runtime
|
|
381
|
-
- [ ] Sin dependencias circulares en el grafo de DI
|
|
382
|
-
- [ ] Las llamadas al service locator (si se usa) no están dispersas por la lógica de negocio
|
|
383
|
-
|
|
384
|
-
---
|
|
385
|
-
|
|
386
|
-
## 15. Análisis estático
|
|
387
|
-
|
|
388
|
-
### Configuración:
|
|
389
|
-
- [ ] `analysis_options.yaml` presente con ajustes estrictos
|
|
390
|
-
- [ ] Analizador estricto: `strict-casts: true`, `strict-inference: true`, `strict-raw-types: true`
|
|
391
|
-
- [ ] Se incluye un set completo de lints (very_good_analysis, flutter_lints o reglas estrictas propias)
|
|
392
|
-
- [ ] Todos los subpaquetes de un monorepo heredan o comparten las opciones raíz
|
|
393
|
-
|
|
394
|
-
### Cumplimiento:
|
|
395
|
-
- [ ] Sin warnings del analizador sin resolver en código commiteado
|
|
396
|
-
- [ ] Las supresiones de lint (`// ignore:`) están justificadas con comentarios que explican el porqué
|
|
397
|
-
- [ ] `flutter analyze` corre en CI y sus fallos bloquean los merges
|
|
398
|
-
|
|
399
|
-
### Reglas clave a verificar con cualquier paquete de lints:
|
|
400
|
-
- [ ] `prefer_const_constructors` — rendimiento en árboles de widgets
|
|
401
|
-
- [ ] `avoid_print` — logging apropiado
|
|
402
|
-
- [ ] `unawaited_futures` — evita bugs async de "dispara y olvida"
|
|
403
|
-
- [ ] `prefer_final_locals` — inmutabilidad a nivel de variable
|
|
404
|
-
- [ ] `always_declare_return_types` — contratos explícitos
|
|
405
|
-
- [ ] `avoid_catches_without_on_clauses` — manejo de errores específico
|
|
406
|
-
- [ ] `always_use_package_imports` — estilo de imports consistente
|
|
407
|
-
|
|
408
|
-
---
|
|
409
|
-
|
|
410
|
-
## Referencia rápida de gestión de estado
|
|
411
|
-
|
|
412
|
-
La tabla mapea principios universales a su implementación en soluciones populares. Úsala para adaptar las reglas de revisión a la solución que use el proyecto.
|
|
413
|
-
|
|
414
|
-
| Principio | BLoC/Cubit | Riverpod | Provider | GetX | MobX | Signals | Integrado |
|
|
415
|
-
|-----------|-----------|----------|----------|------|------|---------|----------|
|
|
416
|
-
| Contenedor de estado | `Bloc`/`Cubit` | `Notifier`/`AsyncNotifier` | `ChangeNotifier` | `GetxController` | `Store` | `signal()` | `StatefulWidget` |
|
|
417
|
-
| Consumidor de UI | `BlocBuilder` | `ConsumerWidget` | `Consumer` | `Obx`/`GetBuilder` | `Observer` | `Watch` | `setState` |
|
|
418
|
-
| Selector | `BlocSelector`/`buildWhen` | `ref.watch(p.select(...))` | `Selector` | N/A | computed | `computed()` | N/A |
|
|
419
|
-
| Efectos secundarios | `BlocListener` | `ref.listen` | callback de `Consumer` | `ever()`/`once()` | `reaction` | `effect()` | callbacks |
|
|
420
|
-
| Disposal | auto vía `BlocProvider` | `.autoDispose` | auto vía `Provider` | `onClose()` | `ReactionDisposer` | manual | `dispose()` |
|
|
421
|
-
| Testing | `blocTest()` | `ProviderContainer` | `ChangeNotifier` directo | `Get.put` en test | store directo | signal directo | test de widget |
|
|
422
|
-
|
|
423
|
-
---
|
|
424
|
-
|
|
425
|
-
## Referencias
|
|
426
|
-
|
|
427
|
-
- [Effective Dart: Style](https://dart.dev/effective-dart/style)
|
|
428
|
-
- [Effective Dart: Usage](https://dart.dev/effective-dart/usage)
|
|
429
|
-
- [Effective Dart: Design](https://dart.dev/effective-dart/design)
|
|
430
|
-
- [Buenas prácticas de rendimiento en Flutter](https://docs.flutter.dev/perf/best-practices)
|
|
431
|
-
- [Panorama de testing en Flutter](https://docs.flutter.dev/testing/overview)
|
|
432
|
-
- [Accesibilidad en Flutter](https://docs.flutter.dev/ui/accessibility-and-internationalization/accessibility)
|
|
433
|
-
- [Internacionalización en Flutter](https://docs.flutter.dev/ui/accessibility-and-internationalization/internationalization)
|
|
434
|
-
- [Navegación y routing en Flutter](https://docs.flutter.dev/ui/navigation)
|
|
435
|
-
- [Manejo de errores en Flutter](https://docs.flutter.dev/testing/errors)
|
|
436
|
-
- [Opciones de gestión de estado en Flutter](https://docs.flutter.dev/data-and-backend/state-mgmt/options)
|
|
437
|
-
|
|
438
|
-
## Relacionados
|
|
439
|
-
|
|
440
|
-
- Agente: `agents/revisor-flutter.md`
|
|
441
|
-
- Comandos: `/revisar-flutter`, `/build-flutter`, `/test-flutter`
|
|
442
|
-
- Skill: `skills/patrones-dart-flutter/`
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: revision-literatura-cientifica
|
|
3
|
-
description: Flujo de revisión de literatura sistemática para temas académicos, biomédicos, técnicos
|
|
4
|
-
y científicos. Incluye planificación de búsqueda, cribado de fuentes, síntesis, verificación de
|
|
5
|
-
citas y registro de evidencia.
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Revisión de literatura científica
|
|
9
|
-
|
|
10
|
-
Usa esta skill cuando la tarea sea encontrar, cribar, sintetizar y citar un cuerpo de literatura académica o técnica.
|
|
11
|
-
|
|
12
|
-
## Cuándo usarla
|
|
13
|
-
|
|
14
|
-
- Al construir una revisión de literatura sistemática, de alcance (scoping) o narrativa.
|
|
15
|
-
- Al sintetizar el estado del arte para una pregunta de investigación.
|
|
16
|
-
- Al buscar brechas, contradicciones o direcciones de trabajo futuro.
|
|
17
|
-
- Al preparar secciones de antecedentes respaldadas por citas para artículos o informes.
|
|
18
|
-
- Al comparar evidencia entre artículos revisados por pares, preprints, patentes e informes técnicos.
|
|
19
|
-
|
|
20
|
-
## Tipos de revisión
|
|
21
|
-
|
|
22
|
-
- **Revisión narrativa**: síntesis amplia; útil para orientación.
|
|
23
|
-
- **Revisión de alcance (scoping)**: mapea conceptos, métodos y brechas de evidencia.
|
|
24
|
-
- **Revisión sistemática**: protocolo predefinido, búsqueda reproducible, cribado y exclusión explícitos.
|
|
25
|
-
- **Metaanálisis**: revisión sistemática más agregación cuantitativa de efectos.
|
|
26
|
-
|
|
27
|
-
Pregunta al usuario qué nivel de rigor necesita. Si no lo especifica, usa por defecto una revisión de alcance para trabajo exploratorio y una revisión sistemática para publicación o afirmaciones clínicas.
|
|
28
|
-
|
|
29
|
-
## Flujo de trabajo
|
|
30
|
-
|
|
31
|
-
### 1. Define la pregunta
|
|
32
|
-
|
|
33
|
-
Convierte el encargo en una pregunta de investigación buscable.
|
|
34
|
-
|
|
35
|
-
Para trabajo clínico o biomédico, usa PICO:
|
|
36
|
-
|
|
37
|
-
- Población
|
|
38
|
-
- Intervención o exposición
|
|
39
|
-
- Comparador
|
|
40
|
-
- Resultado (outcome)
|
|
41
|
-
|
|
42
|
-
Para trabajo técnico, usa:
|
|
43
|
-
|
|
44
|
-
- sistema o dominio
|
|
45
|
-
- método o intervención
|
|
46
|
-
- línea base de comparación
|
|
47
|
-
- métrica de evaluación
|
|
48
|
-
|
|
49
|
-
### 2. Planifica la búsqueda
|
|
50
|
-
|
|
51
|
-
Crea un protocolo de búsqueda antes de recolectar fuentes:
|
|
52
|
-
|
|
53
|
-
- bases de datos a consultar
|
|
54
|
-
- rango de fechas
|
|
55
|
-
- idiomas
|
|
56
|
-
- tipos de publicación
|
|
57
|
-
- criterios de inclusión
|
|
58
|
-
- criterios de exclusión
|
|
59
|
-
- cadenas de búsqueda exactas
|
|
60
|
-
|
|
61
|
-
Conjunto mínimo útil de bases de datos:
|
|
62
|
-
|
|
63
|
-
- PubMed para literatura biomédica y de ciencias de la vida.
|
|
64
|
-
- arXiv para informática, matemáticas, física, biología cuantitativa y preprints.
|
|
65
|
-
- Semantic Scholar o Crossref para descubrimiento académico amplio.
|
|
66
|
-
- Fuentes específicas del dominio cuando aplique: registros de ensayos clínicos, bases de patentes, organismos de estándares o documentación técnica oficial.
|
|
67
|
-
|
|
68
|
-
### 3. Busca y registra la evidencia
|
|
69
|
-
|
|
70
|
-
Mantén una bitácora de búsqueda que haga la revisión reproducible:
|
|
71
|
-
|
|
72
|
-
```markdown
|
|
73
|
-
| Base de datos | Fecha de búsqueda | Consulta | Filtros | Resultados | Exportación |
|
|
74
|
-
| --- | --- | --- | --- | ---: | --- |
|
|
75
|
-
| PubMed | 2026-05-11 | `("CRISPR"[tiab] OR "Cas9"[tiab]) AND "sickle cell"[tiab]` | 2020:2026, inglés | 86 | lista de PMID |
|
|
76
|
-
| arXiv | 2026-05-11 | `CRISPR sickle cell gene editing` | q-bio, 2020:2026 | 9 | BibTeX |
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Guarda los IDs crudos, URLs, DOIs, resúmenes y notas por separado de la prosa final.
|
|
80
|
-
|
|
81
|
-
### 4. Deduplica
|
|
82
|
-
|
|
83
|
-
Deduplica en este orden:
|
|
84
|
-
|
|
85
|
-
1. DOI
|
|
86
|
-
2. PMID o ID de arXiv
|
|
87
|
-
3. título exacto
|
|
88
|
-
4. título normalizado más primer autor y año
|
|
89
|
-
|
|
90
|
-
Registra cuántos duplicados se eliminaron.
|
|
91
|
-
|
|
92
|
-
### 5. Criba las fuentes
|
|
93
|
-
|
|
94
|
-
Criba por etapas:
|
|
95
|
-
|
|
96
|
-
1. título
|
|
97
|
-
2. resumen (abstract)
|
|
98
|
-
3. texto completo
|
|
99
|
-
|
|
100
|
-
Para trabajo sistemático, registra las razones de exclusión:
|
|
101
|
-
|
|
102
|
-
- población incorrecta
|
|
103
|
-
- intervención incorrecta
|
|
104
|
-
- resultado incorrecto
|
|
105
|
-
- no es investigación primaria
|
|
106
|
-
- duplicado
|
|
107
|
-
- texto completo no disponible
|
|
108
|
-
- fuera del rango de fechas
|
|
109
|
-
|
|
110
|
-
### 6. Extrae los datos
|
|
111
|
-
|
|
112
|
-
Usa una tabla de extracción estructurada:
|
|
113
|
-
|
|
114
|
-
```markdown
|
|
115
|
-
| Estudio | Diseño | Población/Datos | Método | Comparador | Resultado | Hallazgo clave | Limitaciones |
|
|
116
|
-
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
117
|
-
| Autor Año | ECA/cohorte/revisión/etc. | muestra o corpus | método | línea base | resultado medido | resultado | advertencia |
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
Para artículos técnicos, incluye conjunto de datos, benchmark, métrica, línea base y notas de reproducibilidad.
|
|
121
|
-
|
|
122
|
-
### 7. Sintetiza
|
|
123
|
-
|
|
124
|
-
Agrupa la evidencia por tema en lugar de resumir los artículos uno por uno.
|
|
125
|
-
|
|
126
|
-
Lentes de síntesis útiles:
|
|
127
|
-
|
|
128
|
-
- evidencia más sólida
|
|
129
|
-
- evidencia contradictoria
|
|
130
|
-
- debilidades metodológicas
|
|
131
|
-
- límites de población o de conjunto de datos
|
|
132
|
-
- actualidad y replicación
|
|
133
|
-
- implicaciones prácticas
|
|
134
|
-
- preguntas sin responder
|
|
135
|
-
|
|
136
|
-
Separa las afirmaciones por nivel de confianza:
|
|
137
|
-
|
|
138
|
-
- **Confianza alta**: evidencia replicada y de alta calidad en varias fuentes.
|
|
139
|
-
- **Confianza media**: plausible pero limitada por muestra, método o actualidad.
|
|
140
|
-
- **Confianza baja**: temprana, especulativa, de una sola fuente o medida con debilidad.
|
|
141
|
-
|
|
142
|
-
### 8. Verifica las citas
|
|
143
|
-
|
|
144
|
-
Antes de finalizar:
|
|
145
|
-
|
|
146
|
-
- verifica el DOI, PMID, ID de arXiv o URL oficial
|
|
147
|
-
- comprueba nombres de autores y año de publicación
|
|
148
|
-
- no cites un artículo por una afirmación que no hace
|
|
149
|
-
- marca los preprints como preprints
|
|
150
|
-
- distingue las revisiones de la evidencia primaria
|
|
151
|
-
|
|
152
|
-
## Plantilla de salida
|
|
153
|
-
|
|
154
|
-
```markdown
|
|
155
|
-
# Revisión de literatura: <tema>
|
|
156
|
-
|
|
157
|
-
Generada: <fecha>
|
|
158
|
-
Tipo de revisión: <narrativa | de alcance | sistemática | metaanálisis>
|
|
159
|
-
Ventana de búsqueda: <fechas>
|
|
160
|
-
Bases de datos: <lista>
|
|
161
|
-
|
|
162
|
-
## Pregunta de investigación
|
|
163
|
-
|
|
164
|
-
## Estrategia de búsqueda
|
|
165
|
-
|
|
166
|
-
## Criterios de inclusión y exclusión
|
|
167
|
-
|
|
168
|
-
## Resumen de la evidencia
|
|
169
|
-
|
|
170
|
-
## Síntesis temática
|
|
171
|
-
|
|
172
|
-
## Brechas y limitaciones
|
|
173
|
-
|
|
174
|
-
## Referencias
|
|
175
|
-
|
|
176
|
-
## Bitácora de búsqueda
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
## Errores a evitar
|
|
180
|
-
|
|
181
|
-
- No trates los fragmentos (snippets) de búsqueda como evidencia.
|
|
182
|
-
- No mezcles preprints, revisiones y estudios primarios sin etiquetarlos.
|
|
183
|
-
- No omitas hallazgos negativos o contradictorios.
|
|
184
|
-
- No afirmes rigor de revisión sistemática sin un protocolo reproducible.
|
|
185
|
-
- No uses una sola base de datos para una afirmación amplia, salvo que el alcance esté explícitamente limitado a esa base.
|
|
186
|
-
|
|
187
|
-
## Skills relacionadas
|
|
188
|
-
|
|
189
|
-
- `base-datos-pubmed`
|
|
190
|
-
- `evaluacion-academica`
|
|
191
|
-
- `investigacion-profunda`
|