@saulwade/swl-ses 1.0.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/CLAUDE.md +238 -0
- package/README.md +560 -0
- package/_userland/agentes/.gitkeep +0 -0
- package/_userland/habilidades/.gitkeep +0 -0
- package/agentes/.evolved.json +9 -0
- package/agentes/accesibilidad-wcag-swl.md +692 -0
- package/agentes/arquitecto-swl.md +238 -0
- package/agentes/auto-evolucion-swl.md +854 -0
- package/agentes/backend-api-swl.md +470 -0
- package/agentes/backend-csharp-swl.md +418 -0
- package/agentes/backend-go-swl.md +388 -0
- package/agentes/backend-java-swl.md +279 -0
- package/agentes/backend-node-swl.md +477 -0
- package/agentes/backend-python-swl.md +608 -0
- package/agentes/backend-rust-swl.md +362 -0
- package/agentes/backend-workers-swl.md +480 -0
- package/agentes/cloud-infra-swl.md +485 -0
- package/agentes/consolidador-swl.md +539 -0
- package/agentes/datos-swl.md +584 -0
- package/agentes/depurador-swl.md +349 -0
- package/agentes/devops-ci-swl.md +374 -0
- package/agentes/disenador-ui-swl.md +558 -0
- package/agentes/documentador-swl.md +343 -0
- package/agentes/evals/arquitecto-swl.evals.json +56 -0
- package/agentes/evals/auto-evolucion-swl.evals.json +68 -0
- package/agentes/evals/implementador-swl.evals.json +56 -0
- package/agentes/evals/orquestador-swl.evals.json +60 -0
- package/agentes/evals/perfilador-usuario-swl.evals.json +60 -0
- package/agentes/evals/red-team-swl.evals.json +59 -0
- package/agentes/evals/revisor-codigo-swl.evals.json +59 -0
- package/agentes/frontend-angular-swl.md +627 -0
- package/agentes/frontend-css-swl.md +720 -0
- package/agentes/frontend-react-swl.md +696 -0
- package/agentes/frontend-swl.md +500 -0
- package/agentes/frontend-tailwind-swl.md +830 -0
- package/agentes/implementador-swl.md +328 -0
- package/agentes/investigador-swl.md +430 -0
- package/agentes/investigador-ux-swl.md +500 -0
- package/agentes/llm-apps-swl.md +276 -0
- package/agentes/migrador-swl.md +417 -0
- package/agentes/mobile-android-swl.md +509 -0
- package/agentes/mobile-cross-swl.md +539 -0
- package/agentes/mobile-ios-swl.md +500 -0
- package/agentes/mobile-testing-swl.md +300 -0
- package/agentes/notificador-swl.md +916 -0
- package/agentes/observabilidad-swl.md +436 -0
- package/agentes/orquestador-swl.md +884 -0
- package/agentes/pagos-swl.md +283 -0
- package/agentes/perfilador-usuario-swl.md +306 -0
- package/agentes/planificador-swl.md +402 -0
- package/agentes/producto-prd-swl.md +587 -0
- package/agentes/red-team-swl.md +216 -0
- package/agentes/release-manager-swl.md +568 -0
- package/agentes/rendimiento-swl.md +714 -0
- package/agentes/resolutor-build-swl.md +243 -0
- package/agentes/revisor-angular-swl.md +276 -0
- package/agentes/revisor-codigo-swl.md +348 -0
- package/agentes/revisor-csharp-swl.md +262 -0
- package/agentes/revisor-go-swl.md +257 -0
- package/agentes/revisor-java-swl.md +255 -0
- package/agentes/revisor-kotlin-swl.md +271 -0
- package/agentes/revisor-nextjs-swl.md +279 -0
- package/agentes/revisor-php-swl.md +269 -0
- package/agentes/revisor-react-swl.md +276 -0
- package/agentes/revisor-rust-swl.md +344 -0
- package/agentes/revisor-seguridad-swl.md +390 -0
- package/agentes/revisor-swift-swl.md +266 -0
- package/agentes/revisor-typescript-swl.md +344 -0
- package/agentes/sre-swl.md +265 -0
- package/agentes/tdd-qa-swl.md +354 -0
- package/agentes/ux-disenador-swl.md +501 -0
- package/bin/lib/bot-comandos.js +1030 -0
- package/bin/lib/bot-discovery.js +182 -0
- package/bin/lib/bot-git.js +142 -0
- package/bin/swl-ses.js +325 -0
- package/bin/swl-telegram-bot.js +442 -0
- package/bin/swl-telegram-bot.plist +21 -0
- package/bin/swl-telegram-bot.service +14 -0
- package/comandos/swl/.evolved.json +23 -0
- package/comandos/swl/actualizar.md +174 -0
- package/comandos/swl/adoptar-proyecto.md +207 -0
- package/comandos/swl/aprender.md +701 -0
- package/comandos/swl/auditar-deps.md +134 -0
- package/comandos/swl/autoresearch.md +170 -0
- package/comandos/swl/ayuda.md +224 -0
- package/comandos/swl/brainstorm.md +50 -0
- package/comandos/swl/checkpoint.md +330 -0
- package/comandos/swl/compactar.md +283 -0
- package/comandos/swl/configurar-ci.md +227 -0
- package/comandos/swl/contexto.md +112 -0
- package/comandos/swl/contribuir.md +233 -0
- package/comandos/swl/crear-skill.md +292 -0
- package/comandos/swl/cron.md +196 -0
- package/comandos/swl/dashboard.md +146 -0
- package/comandos/swl/discutir-fase.md +230 -0
- package/comandos/swl/ejecutar-fase.md +135 -0
- package/comandos/swl/evaluar-skill.md +487 -0
- package/comandos/swl/evolucion-estado.md +142 -0
- package/comandos/swl/evolucionar.md +259 -0
- package/comandos/swl/exportar-vault.md +189 -0
- package/comandos/swl/gateway.md +158 -0
- package/comandos/swl/inbox.md +116 -0
- package/comandos/swl/instalar.md +220 -0
- package/comandos/swl/instintos.md +86 -0
- package/comandos/swl/mapear-codebase.md +312 -0
- package/comandos/swl/mcp-status.md +175 -0
- package/comandos/swl/metricas.md +270 -0
- package/comandos/swl/modelo.md +102 -0
- package/comandos/swl/notificaciones.md +396 -0
- package/comandos/swl/nuevo-proyecto.md +154 -0
- package/comandos/swl/planear-fase.md +221 -0
- package/comandos/swl/plugins.md +256 -0
- package/comandos/swl/reflect-skills.md +125 -0
- package/comandos/swl/release.md +217 -0
- package/comandos/swl/revisar-impacto.md +206 -0
- package/comandos/swl/revisar.md +330 -0
- package/comandos/swl/salud.md +363 -0
- package/comandos/swl/sesiones.md +200 -0
- package/comandos/swl/skill-search.md +113 -0
- package/comandos/swl/verificar.md +585 -0
- package/comandos/swl/wiki.md +620 -0
- package/contextos/dev.md +32 -0
- package/contextos/research.md +30 -0
- package/contextos/review.md +31 -0
- package/habilidades/accesibilidad-a11y/SKILL.md +201 -0
- package/habilidades/accesibilidad-a11y/evals/evals.json +56 -0
- package/habilidades/accesibilidad-a11y/recursos/ejemplos-y-checklist-completo.md +441 -0
- package/habilidades/agent-browser/SKILL.md +218 -0
- package/habilidades/agentes-como-servicio/SKILL.md +218 -0
- package/habilidades/ai-runtime-security/SKILL.md +273 -0
- package/habilidades/angular-avanzado/SKILL.md +164 -0
- package/habilidades/angular-avanzado/recursos/ejemplos-avanzados.md +219 -0
- package/habilidades/angular-moderno/SKILL.md +186 -0
- package/habilidades/angular-moderno/evals/evals.json +45 -0
- package/habilidades/angular-moderno/recursos/ejemplos-avanzados.md +106 -0
- package/habilidades/api-rest-diseno/SKILL.md +191 -0
- package/habilidades/api-rest-diseno/recursos/openapi-template.yaml +506 -0
- package/habilidades/api-rest-diseno/recursos/referencia-api.md +140 -0
- package/habilidades/aprendizaje-continuo/SKILL.md +151 -0
- package/habilidades/aprendizaje-continuo/evals/evals.json +53 -0
- package/habilidades/aprendizaje-continuo/recursos/referencia-instintos.md +290 -0
- package/habilidades/async-python/SKILL.md +149 -0
- package/habilidades/async-python/evals/evals.json +47 -0
- package/habilidades/async-python/recursos/patrones-y-ejemplos-completos.md +292 -0
- package/habilidades/auth-patrones/.evolved.json +9 -0
- package/habilidades/auth-patrones/SKILL.md +413 -0
- package/habilidades/auth-patrones/recursos/implementaciones-completas.md +229 -0
- package/habilidades/auto-evolucion-protocolo/SKILL.md +276 -0
- package/habilidades/auto-evolucion-protocolo/evals/evals.json +55 -0
- package/habilidades/auto-evolucion-protocolo/recursos/referencia-completa.md +145 -0
- package/habilidades/autoresearch/SKILL.md +268 -0
- package/habilidades/autoresearch/evals/evals.json +41 -0
- package/habilidades/autoresearch/recursos/checklist-template.md +191 -0
- package/habilidades/autoresearch/scripts/calcular-score.js +88 -0
- package/habilidades/azure-cloud/SKILL.md +308 -0
- package/habilidades/azure-cloud/recursos/aks.md +327 -0
- package/habilidades/backend-mcp-servidor/SKILL.md +270 -0
- package/habilidades/backend-production-resilience/SKILL.md +288 -0
- package/habilidades/brainstorming/SKILL.md +295 -0
- package/habilidades/brainstorming/recursos/componentes-html.md +247 -0
- package/habilidades/build-errors-cpp/SKILL.md +270 -0
- package/habilidades/build-errors-csharp/SKILL.md +265 -0
- package/habilidades/build-errors-go/SKILL.md +306 -0
- package/habilidades/build-errors-java/SKILL.md +278 -0
- package/habilidades/build-errors-kotlin/SKILL.md +303 -0
- package/habilidades/build-errors-nextjs/SKILL.md +312 -0
- package/habilidades/build-errors-php/SKILL.md +270 -0
- package/habilidades/build-errors-python/SKILL.md +292 -0
- package/habilidades/build-errors-rust/SKILL.md +284 -0
- package/habilidades/build-errors-swift/SKILL.md +272 -0
- package/habilidades/build-errors-typescript/SKILL.md +369 -0
- package/habilidades/checklist-calidad/SKILL.md +271 -0
- package/habilidades/checklist-calidad/recursos/quality-report-template.md +148 -0
- package/habilidades/checklist-seguridad/SKILL.md +285 -0
- package/habilidades/checkpoints-verificacion/SKILL.md +298 -0
- package/habilidades/checkpoints-verificacion/recursos/checkpoint-templates.md +360 -0
- package/habilidades/ci-cd-pipelines/SKILL.md +157 -0
- package/habilidades/ci-cd-pipelines/recursos/github-actions-template.yaml +403 -0
- package/habilidades/ci-cd-pipelines/recursos/pipelines-completos.md +487 -0
- package/habilidades/cloud-aws/SKILL.md +142 -0
- package/habilidades/cloud-aws/recursos/servicios-aws-referencia.md +321 -0
- package/habilidades/compactacion-contexto/SKILL.md +247 -0
- package/habilidades/contenedores-docker/SKILL.md +137 -0
- package/habilidades/contenedores-docker/recursos/dockerfile-template.dockerfile +160 -0
- package/habilidades/contenedores-docker/recursos/ejemplos-y-configuraciones.md +327 -0
- package/habilidades/context-builder/SKILL.md +170 -0
- package/habilidades/control-profundidad/SKILL.md +128 -0
- package/habilidades/csharp-experto/SKILL.md +322 -0
- package/habilidades/csharp-patrones/SKILL.md +316 -0
- package/habilidades/csharp-testing/SKILL.md +286 -0
- package/habilidades/css-moderno/SKILL.md +166 -0
- package/habilidades/css-moderno/evals/evals.json +43 -0
- package/habilidades/css-moderno/recursos/ejemplos-y-patrones-completos.md +337 -0
- package/habilidades/datos-etl/SKILL.md +129 -0
- package/habilidades/datos-etl/recursos/implementaciones-completas.md +322 -0
- package/habilidades/dbml-experto/SKILL.md +339 -0
- package/habilidades/dbml-experto/evals/evals.json +56 -0
- package/habilidades/dependencias-auditoria/SKILL.md +320 -0
- package/habilidades/deprecacion-migracion/SKILL.md +169 -0
- package/habilidades/deprecacion-migracion/recursos/implementaciones-completas.md +220 -0
- package/habilidades/design-tokens/SKILL.md +158 -0
- package/habilidades/design-tokens/recursos/tokens-y-configuracion.md +363 -0
- package/habilidades/devsecops-pipeline-security/SKILL.md +309 -0
- package/habilidades/diagrama-arquitectura/SKILL.md +165 -0
- package/habilidades/diagrama-arquitectura/assets/template.html +276 -0
- package/habilidades/discutir-fase/SKILL.md +188 -0
- package/habilidades/diseno-herramientas-agente/SKILL.md +199 -0
- package/habilidades/diseno-responsivo/SKILL.md +186 -0
- package/habilidades/diseno-responsivo/recursos/ejemplos-layouts.md +156 -0
- package/habilidades/django-experto/SKILL.md +205 -0
- package/habilidades/django-experto/recursos/async-django.md +390 -0
- package/habilidades/django-experto/recursos/drf-patrones.md +438 -0
- package/habilidades/django-experto/recursos/orm-avanzado.md +382 -0
- package/habilidades/django-experto/recursos/referencia-completa.md +188 -0
- package/habilidades/django-experto/recursos/testing-django.md +415 -0
- package/habilidades/doc-sync/SKILL.md +280 -0
- package/habilidades/drift-detection/SKILL.md +179 -0
- package/habilidades/ejecutar-fase/SKILL.md +468 -0
- package/habilidades/estilo-sin-ai-isms/SKILL.md +775 -0
- package/habilidades/estilo-sin-ai-isms/evals/evals.json +63 -0
- package/habilidades/estilo-sin-ai-isms/scripts/detectar_aiisms.py +500 -0
- package/habilidades/estructura-proyecto-claude/SKILL.md +215 -0
- package/habilidades/estructura-proyecto-claude/recursos/claude-md-template.md +261 -0
- package/habilidades/estructura-proyecto-claude/recursos/configuracion-y-extensiones.md +176 -0
- package/habilidades/estructura-proyecto-claude/recursos/frontmatter-y-hooks-referencia.md +289 -0
- package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +77 -0
- package/habilidades/estructura-proyecto-claude/recursos/variantes-por-stack.md +177 -0
- package/habilidades/evaluacion-agentes/SKILL.md +314 -0
- package/habilidades/event-driven/SKILL.md +153 -0
- package/habilidades/event-driven/recursos/implementaciones-completas.md +423 -0
- package/habilidades/extraccion-documentos/SKILL.md +221 -0
- package/habilidades/extractor-de-aprendizajes/.evolved.json +9 -0
- package/habilidades/extractor-de-aprendizajes/SKILL.md +311 -0
- package/habilidades/extractor-de-aprendizajes/evals/evals.json +55 -0
- package/habilidades/fastapi-experto/SKILL.md +221 -0
- package/habilidades/fastapi-experto/recursos/async-patterns.md +438 -0
- package/habilidades/fastapi-experto/recursos/dependency-injection.md +330 -0
- package/habilidades/fastapi-experto/recursos/referencia-completa.md +79 -0
- package/habilidades/fastapi-experto/recursos/testing-httpx.md +420 -0
- package/habilidades/filament-admin/SKILL.md +290 -0
- package/habilidades/frontend-avanzado/SKILL.md +257 -0
- package/habilidades/frontend-avanzado/recursos/apis-nativas-ejemplos.md +341 -0
- package/habilidades/gcp-cloud/SKILL.md +260 -0
- package/habilidades/gcp-cloud/recursos/gke.md +234 -0
- package/habilidades/gcp-cloud/recursos/terraform-gcp.md +307 -0
- package/habilidades/generacion-mermaid/SKILL.md +229 -0
- package/habilidades/git-worktrees-paralelo/SKILL.md +270 -0
- package/habilidades/go-experto/SKILL.md +305 -0
- package/habilidades/go-patrones/SKILL.md +299 -0
- package/habilidades/go-testing/SKILL.md +291 -0
- package/habilidades/graphql-experto/SKILL.md +323 -0
- package/habilidades/guardrail-semantico/SKILL.md +282 -0
- package/habilidades/harness-claude-code/SKILL.md +299 -0
- package/habilidades/iam-secretos/SKILL.md +265 -0
- package/habilidades/iam-secretos/recursos/implementaciones-completas.md +356 -0
- package/habilidades/infra-github-actions/SKILL.md +166 -0
- package/habilidades/instalar-sistema/.evolved.json +9 -0
- package/habilidades/instalar-sistema/SKILL.md +221 -0
- package/habilidades/java-experto/SKILL.md +290 -0
- package/habilidades/java-patrones/SKILL.md +275 -0
- package/habilidades/java-testing/SKILL.md +288 -0
- package/habilidades/kotlin-compose/SKILL.md +278 -0
- package/habilidades/kotlin-compose/recursos/animaciones-performance.md +93 -0
- package/habilidades/kotlin-experto/SKILL.md +318 -0
- package/habilidades/kotlin-testing/SKILL.md +267 -0
- package/habilidades/kotlin-testing/recursos/testing-avanzado.md +74 -0
- package/habilidades/kubernetes-orquestacion/SKILL.md +152 -0
- package/habilidades/kubernetes-orquestacion/recursos/manifiestos-completos.md +452 -0
- package/habilidades/langchain-langraph/SKILL.md +386 -0
- package/habilidades/langchain-langraph/recursos/evaluacion-rag.md +321 -0
- package/habilidades/langchain-langraph/recursos/rag-maturity-model.md +225 -0
- package/habilidades/langchain-langraph/recursos/vectorstores.md +306 -0
- package/habilidades/legacy-code-rescue/SKILL.md +267 -0
- package/habilidades/likec4-experto/SKILL.md +412 -0
- package/habilidades/likec4-experto/evals/evals.json +69 -0
- package/habilidades/manejo-errores/.evolved.json +9 -0
- package/habilidades/manejo-errores/SKILL.md +407 -0
- package/habilidades/manejo-errores/recursos/implementaciones-completas.md +248 -0
- package/habilidades/mapear-codebase/SKILL.md +275 -0
- package/habilidades/memoria-busqueda/SKILL.md +194 -0
- package/habilidades/memoria-busqueda/evals/evals.json +44 -0
- package/habilidades/meta-skills-estandar/SKILL.md +298 -0
- package/habilidades/meta-skills-estandar/recursos/anti-patrones-y-leyes.md +205 -0
- package/habilidades/meta-skills-estandar/recursos/frameworks-seguridad.md +107 -0
- package/habilidades/meta-skills-estandar/recursos/idiomas-framework.md +60 -0
- package/habilidades/meta-skills-estandar/recursos/skills-as-agents.md +163 -0
- package/habilidades/microservicios/SKILL.md +155 -0
- package/habilidades/microservicios/recursos/patrones-y-ejemplos-completos.md +325 -0
- package/habilidades/mobile-flutter/SKILL.md +199 -0
- package/habilidades/mobile-flutter/recursos/ejemplos-completos.md +319 -0
- package/habilidades/mobile-react-native/SKILL.md +176 -0
- package/habilidades/mobile-react-native/recursos/ejemplos-completos.md +216 -0
- package/habilidades/mongodb-experto/SKILL.md +302 -0
- package/habilidades/monitoring-alertas/SKILL.md +201 -0
- package/habilidades/monitoring-alertas/recursos/instrumentacion-y-alertas.md +301 -0
- package/habilidades/nestjs-experto/SKILL.md +307 -0
- package/habilidades/nestjs-experto/recursos/guards-interceptors.md +339 -0
- package/habilidades/nestjs-experto/recursos/modulos-di.md +287 -0
- package/habilidades/nestjs-experto/recursos/testing-nestjs.md +354 -0
- package/habilidades/nextjs-experto/SKILL.md +335 -0
- package/habilidades/nextjs-patrones/SKILL.md +303 -0
- package/habilidades/nextjs-testing/SKILL.md +331 -0
- package/habilidades/node-experto/.evolved.json +9 -0
- package/habilidades/node-experto/SKILL.md +266 -0
- package/habilidades/node-experto/recursos/patrones-completos.md +283 -0
- package/habilidades/notificaciones-multicanal/SKILL.md +159 -0
- package/habilidades/notificaciones-multicanal/recursos/config-template.json +115 -0
- package/habilidades/notificaciones-multicanal/recursos/configuracion-y-templates.md +303 -0
- package/habilidades/nuevo-proyecto/SKILL.md +204 -0
- package/habilidades/orquestacion-async/SKILL.md +303 -0
- package/habilidades/paid-media-tracking/SKILL.md +269 -0
- package/habilidades/paid-media-tracking/recursos/auditoria-tracking.md +220 -0
- package/habilidades/paid-media-tracking/recursos/google-ads-api.md +215 -0
- package/habilidades/patrones-python/SKILL.md +228 -0
- package/habilidades/patrones-python/evals/evals.json +56 -0
- package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -0
- package/habilidades/patrones-python/recursos/referencia-completa.md +202 -0
- package/habilidades/perfil-usuario/SKILL.md +200 -0
- package/habilidades/perfil-usuario/evals/evals.json +55 -0
- package/habilidades/performance-baseline/SKILL.md +297 -0
- package/habilidades/php-experto/SKILL.md +291 -0
- package/habilidades/php-patrones/SKILL.md +306 -0
- package/habilidades/php-testing/SKILL.md +280 -0
- package/habilidades/planear-fase/SKILL.md +269 -0
- package/habilidades/postgresql-experto/SKILL.md +151 -0
- package/habilidades/postgresql-experto/evals/evals.json +53 -0
- package/habilidades/postgresql-experto/recursos/referencia-completa.md +215 -0
- package/habilidades/prevencion-racionalizacion/SKILL.md +175 -0
- package/habilidades/prevencion-sobreingenieria/SKILL.md +323 -0
- package/habilidades/privacy-memoria/SKILL.md +141 -0
- package/habilidades/privacy-memoria/evals/evals.json +43 -0
- package/habilidades/prompt-engineering/SKILL.md +518 -0
- package/habilidades/prompt-engineering/recursos/patrones-avanzados.md +467 -0
- package/habilidades/rag-arquitectura/SKILL.md +338 -0
- package/habilidades/rails-experto/SKILL.md +237 -0
- package/habilidades/rails-experto/recursos/active-record.md +260 -0
- package/habilidades/rails-experto/recursos/hotwire-turbo.md +293 -0
- package/habilidades/rails-experto/recursos/testing-rspec.md +362 -0
- package/habilidades/react-experto/SKILL.md +209 -0
- package/habilidades/react-experto/evals/evals.json +55 -0
- package/habilidades/react-experto/recursos/patrones-y-ejemplos-completos.md +240 -0
- package/habilidades/react-optimizacion/SKILL.md +174 -0
- package/habilidades/react-optimizacion/recursos/patrones-avanzados.md +138 -0
- package/habilidades/redis-experto/SKILL.md +305 -0
- package/habilidades/release-semver/.evolved.json +9 -0
- package/habilidades/release-semver/SKILL.md +248 -0
- package/habilidades/release-semver/scripts/generar-changelog.sh +238 -0
- package/habilidades/rust-experto/SKILL.md +400 -0
- package/habilidades/rust-patrones/SKILL.md +296 -0
- package/habilidades/rust-testing/SKILL.md +311 -0
- package/habilidades/seguridad-skills-ia/SKILL.md +262 -0
- package/habilidades/sql-optimizacion/SKILL.md +200 -0
- package/habilidades/sql-optimizacion/evals/evals.json +54 -0
- package/habilidades/sql-optimizacion/recursos/patrones-sql-avanzados.md +131 -0
- package/habilidades/sre-patrones/SKILL.md +333 -0
- package/habilidades/sre-patrones/recursos/chaos-engineering.md +241 -0
- package/habilidades/sre-patrones/recursos/oncall-design.md +236 -0
- package/habilidades/stripe-pagos/SKILL.md +550 -0
- package/habilidades/stripe-pagos/recursos/errores-reintentos.md +390 -0
- package/habilidades/stripe-pagos/recursos/stripe-connect.md +290 -0
- package/habilidades/structured-outputs/SKILL.md +343 -0
- package/habilidades/swift-experto/SKILL.md +320 -0
- package/habilidades/swift-experto/recursos/keychain-y-wrappers.md +110 -0
- package/habilidades/swift-patrones/SKILL.md +313 -0
- package/habilidades/swift-patrones/recursos/tca-ejemplo-completo.md +113 -0
- package/habilidades/swift-testing/SKILL.md +254 -0
- package/habilidades/swift-testing/recursos/xcuitest-planes.md +143 -0
- package/habilidades/swl-dashboard/SKILL.md +370 -0
- package/habilidades/swl-markitdown/SKILL.md +285 -0
- package/habilidades/swl-markitdown/evals/evals.json +52 -0
- package/habilidades/swl-revisar-impacto/SKILL.md +233 -0
- package/habilidades/tailwind-experto/SKILL.md +240 -0
- package/habilidades/tailwind-experto/recursos/referencia-completa.md +184 -0
- package/habilidades/tdd-workflow/SKILL.md +293 -0
- package/habilidades/terraform-experto/SKILL.md +321 -0
- package/habilidades/testing-python/SKILL.md +340 -0
- package/habilidades/testing-python/recursos/ejemplos-completos.md +167 -0
- package/habilidades/threat-model-lite/SKILL.md +246 -0
- package/habilidades/tracing-processor/SKILL.md +212 -0
- package/habilidades/tracking-measurement/SKILL.md +239 -0
- package/habilidades/tracking-measurement/recursos/consent-mode.md +231 -0
- package/habilidades/tracking-measurement/recursos/gtm-datalayer.md +216 -0
- package/habilidades/tracking-measurement/recursos/meta-capi.md +262 -0
- package/habilidades/typescript-avanzado/SKILL.md +144 -0
- package/habilidades/typescript-avanzado/evals/evals.json +55 -0
- package/habilidades/typescript-avanzado/recursos/patrones-y-ejemplos-completos.md +298 -0
- package/habilidades/typescript-diagnosticos/SKILL.md +513 -0
- package/habilidades/ux-diseno/SKILL.md +116 -0
- package/habilidades/ux-diseno/evals/evals.json +43 -0
- package/habilidades/ux-diseno/recursos/patrones-ux-referencia.md +214 -0
- package/habilidades/validacion-ci-sistema/SKILL.md +136 -0
- package/habilidades/validacion-ci-sistema/recursos/validadores-completos.md +369 -0
- package/habilidades/validacion-ci-sistema/scripts/validar-sistema.sh +286 -0
- package/habilidades/verificacion-evidencia/SKILL.md +160 -0
- package/habilidades/verificar-trabajo/SKILL.md +303 -0
- package/habilidades/verificar-trabajo/recursos/plantilla-verificacion.md +60 -0
- package/habilidades/wiki-conocimiento/SKILL.md +276 -0
- package/habilidades/wireframes-flujos/SKILL.md +212 -0
- package/habilidades/wireframes-flujos/recursos/referencia-completa.md +192 -0
- package/habilidades/workflow-claude-code/SKILL.md +260 -0
- package/habilidades/workflow-claude-code/recursos/referencia-completa.md +109 -0
- package/hooks/_run-hook.sh +57 -0
- package/hooks/actualizar-perfil-usuario.js +364 -0
- package/hooks/agente-lifecycle.js +71 -0
- package/hooks/aiisms-detector.js +173 -0
- package/hooks/audit-trail.js +204 -0
- package/hooks/auto-background.js +97 -0
- package/hooks/auto-consolidacion.js +178 -0
- package/hooks/auto-evolucion.js +666 -0
- package/hooks/auto-restaurar-settings.js +360 -0
- package/hooks/calidad-pre-commit.js +929 -0
- package/hooks/calidad-typescript.js +511 -0
- package/hooks/captura-feedback-usuario.js +148 -0
- package/hooks/check-update.js +211 -0
- package/hooks/clasificador-mensajes.js +271 -0
- package/hooks/degradacion-instintos.js +272 -0
- package/hooks/escaneo-secretos.js +389 -0
- package/hooks/extraccion-aprendizajes.js +763 -0
- package/hooks/grafo-contexto.js +129 -0
- package/hooks/graph-update.js +67 -0
- package/hooks/guardrail-modelo.js +247 -0
- package/hooks/inbox-aviso.js +75 -0
- package/hooks/inyeccion-contexto.js +246 -0
- package/hooks/lib/abort-registry.js +214 -0
- package/hooks/lib/agent-backend.js +210 -0
- package/hooks/lib/agent-comms.js +263 -0
- package/hooks/lib/agent-issue-codes.js +284 -0
- package/hooks/lib/agent-matcher.js +189 -0
- package/hooks/lib/async-hook-registry.js +252 -0
- package/hooks/lib/atomic-write.js +130 -0
- package/hooks/lib/auto-consolidator.js +335 -0
- package/hooks/lib/canary-skills.js +187 -0
- package/hooks/lib/consolidation-lock.js +291 -0
- package/hooks/lib/context-builder.js +430 -0
- package/hooks/lib/context-compressor.js +657 -0
- package/hooks/lib/convergence-detector.js +105 -0
- package/hooks/lib/delegation-tracker.js +198 -0
- package/hooks/lib/detectar-package-manager.js +423 -0
- package/hooks/lib/edit-accumulator.js +171 -0
- package/hooks/lib/error-classifier.js +308 -0
- package/hooks/lib/event-bus.js +112 -0
- package/hooks/lib/evolution-tracker.js +442 -0
- package/hooks/lib/execution-state.js +316 -0
- package/hooks/lib/fingerprint-id.js +135 -0
- package/hooks/lib/gateway-notify.js +116 -0
- package/hooks/lib/graph-security.js +75 -0
- package/hooks/lib/guardrail-metrics.js +202 -0
- package/hooks/lib/hook-circuit-breaker.js +206 -0
- package/hooks/lib/loop-detector.js +267 -0
- package/hooks/lib/mcp-health.js +184 -0
- package/hooks/lib/mcp-pool.js +436 -0
- package/hooks/lib/memory-search.js +506 -0
- package/hooks/lib/merkle-audit.js +96 -0
- package/hooks/lib/model-router.js +222 -0
- package/hooks/lib/normalize-error.js +324 -0
- package/hooks/lib/normalize-input.js +65 -0
- package/hooks/lib/nudge-tracker.js +306 -0
- package/hooks/lib/otlp-exporter.js +365 -0
- package/hooks/lib/performance-marks.js +239 -0
- package/hooks/lib/privacy-filter.js +128 -0
- package/hooks/lib/prompt-injection-scanner.js +209 -0
- package/hooks/lib/provenance-tracker.js +183 -0
- package/hooks/lib/rate-limit-tracker.js +253 -0
- package/hooks/lib/reflect-classifier.js +164 -0
- package/hooks/lib/resource-quota.js +122 -0
- package/hooks/lib/retry-jitter.js +165 -0
- package/hooks/lib/risk-engine.js +368 -0
- package/hooks/lib/run-log.js +408 -0
- package/hooks/lib/session-fts.js +379 -0
- package/hooks/lib/session-store.js +293 -0
- package/hooks/lib/singleton-guard.js +159 -0
- package/hooks/lib/skill-auditor.js +588 -0
- package/hooks/lib/sync-status.js +228 -0
- package/hooks/lib/taint-tracker.js +107 -0
- package/hooks/lib/task-service.js +295 -0
- package/hooks/lib/tech-skills-map.js +146 -0
- package/hooks/lib/telegram-cliente.js +159 -0
- package/hooks/lib/telegram-config.js +170 -0
- package/hooks/lib/token-budget.js +156 -0
- package/hooks/lib/token-estimator.js +420 -0
- package/hooks/lib/toon-compressor.js +245 -0
- package/hooks/lib/usage-model.js +183 -0
- package/hooks/lib/variable-resolver.js +230 -0
- package/hooks/linea-estado.js +324 -0
- package/hooks/metricas-evolucion.js +209 -0
- package/hooks/monitor-contexto.js +325 -0
- package/hooks/notificacion-sesion-stop.js +198 -0
- package/hooks/notificacion-telegram-notification.js +4 -0
- package/hooks/notificacion-telegram-subagent.js +4 -0
- package/hooks/notificacion-telegram.js +267 -0
- package/hooks/preservar-estado-pre-compact.js +150 -0
- package/hooks/proteccion-rutas.js +366 -0
- package/hooks/registro-turnos.js +209 -0
- package/hooks/resumen-sesion.js +249 -0
- package/hooks/risk-scoring.js +323 -0
- package/hooks/rotar-audit-auto.js +122 -0
- package/hooks/sugerir-regenerar-inventario.js +170 -0
- package/hooks/telemetria-agentes.js +167 -0
- package/hooks/tracking-costos.js +688 -0
- package/instintos/global.yaml +8 -0
- package/instintos/perfil-usuario.yaml +53 -0
- package/instintos/prompt-appendices.yaml +57 -0
- package/instintos/proyecto.yaml +372 -0
- package/manifiestos/gateway-config.json +77 -0
- package/manifiestos/handoff-context.json +223 -0
- package/manifiestos/hook-profiles.json +44 -0
- package/manifiestos/hooks-config.json +360 -0
- package/manifiestos/modulos.json +1173 -0
- package/manifiestos/perfiles.json +404 -0
- package/package.json +86 -0
- package/plantillas/ESTADO.md +109 -0
- package/plantillas/HOJA-RUTA.md +143 -0
- package/plantillas/PROYECTO.md +122 -0
- package/plantillas/REQUISITOS.md +132 -0
- package/plantillas/auditor-veto-template.md +105 -0
- package/plantillas/github-workflows/README.md +47 -0
- package/plantillas/github-workflows/release-please.yml +44 -0
- package/plantillas/github-workflows/swl-ci.yml +107 -0
- package/plantillas/github-workflows/swl-security.yml +51 -0
- package/plantillas/mcp-mineru.json +13 -0
- package/plantillas/research/ARQUITECTURA.md +220 -0
- package/plantillas/research/FUNCIONALIDADES.md +175 -0
- package/plantillas/research/RESUMEN.md +165 -0
- package/plantillas/research/STACK.md +233 -0
- package/plantillas/research/TRAMPAS.md +299 -0
- package/plantillas/skill-evals-template.json +44 -0
- package/plugin.json +343 -0
- package/reglas/accesibilidad.md +269 -0
- package/reglas/api-diseno.md +400 -0
- package/reglas/arquitectura.md +352 -0
- package/reglas/brevedad-output.md +124 -0
- package/reglas/cloud-infra.md +247 -0
- package/reglas/docs.md +245 -0
- package/reglas/estilo-codigo.md +201 -0
- package/reglas/git-workflow.md +245 -0
- package/reglas/gobernanza.md +271 -0
- package/reglas/harness-claude-code.md +213 -0
- package/reglas/hooks.md +186 -0
- package/reglas/lenguajes/csharp/estilo-codigo.md +231 -0
- package/reglas/lenguajes/csharp/hooks.md +281 -0
- package/reglas/lenguajes/csharp/patrones.md +226 -0
- package/reglas/lenguajes/csharp/seguridad.md +258 -0
- package/reglas/lenguajes/csharp/testing.md +176 -0
- package/reglas/lenguajes/go/estilo-codigo.md +195 -0
- package/reglas/lenguajes/go/hooks.md +249 -0
- package/reglas/lenguajes/go/patrones.md +249 -0
- package/reglas/lenguajes/go/seguridad.md +225 -0
- package/reglas/lenguajes/go/testing.md +272 -0
- package/reglas/lenguajes/java/estilo-codigo.md +217 -0
- package/reglas/lenguajes/java/hooks.md +251 -0
- package/reglas/lenguajes/java/patrones.md +226 -0
- package/reglas/lenguajes/java/seguridad.md +233 -0
- package/reglas/lenguajes/java/testing.md +238 -0
- package/reglas/lenguajes/kotlin/estilo-codigo.md +208 -0
- package/reglas/lenguajes/kotlin/hooks.md +245 -0
- package/reglas/lenguajes/kotlin/patrones.md +201 -0
- package/reglas/lenguajes/kotlin/seguridad.md +202 -0
- package/reglas/lenguajes/kotlin/testing.md +236 -0
- package/reglas/lenguajes/nextjs/estilo-codigo.md +175 -0
- package/reglas/lenguajes/nextjs/hooks.md +186 -0
- package/reglas/lenguajes/nextjs/patrones.md +225 -0
- package/reglas/lenguajes/nextjs/seguridad.md +216 -0
- package/reglas/lenguajes/nextjs/testing.md +193 -0
- package/reglas/lenguajes/php/estilo-codigo.md +228 -0
- package/reglas/lenguajes/php/hooks.md +165 -0
- package/reglas/lenguajes/php/patrones.md +233 -0
- package/reglas/lenguajes/php/seguridad.md +186 -0
- package/reglas/lenguajes/php/testing.md +205 -0
- package/reglas/lenguajes/rust/estilo-codigo.md +207 -0
- package/reglas/lenguajes/rust/hooks.md +240 -0
- package/reglas/lenguajes/rust/patrones.md +250 -0
- package/reglas/lenguajes/rust/seguridad.md +221 -0
- package/reglas/lenguajes/rust/testing.md +194 -0
- package/reglas/lenguajes/swift/estilo-codigo.md +238 -0
- package/reglas/lenguajes/swift/hooks.md +257 -0
- package/reglas/lenguajes/swift/patrones.md +235 -0
- package/reglas/lenguajes/swift/seguridad.md +248 -0
- package/reglas/lenguajes/swift/testing.md +242 -0
- package/reglas/markitdown.md +60 -0
- package/reglas/memoria-consolidada.md +209 -0
- package/reglas/patrones.md +225 -0
- package/reglas/performance.md +195 -0
- package/reglas/pruebas.md +159 -0
- package/reglas/seguridad-agentes.md +351 -0
- package/reglas/seguridad.md +151 -0
- package/reglas/skills-estandar.md +373 -0
- package/reglas/testing.md +193 -0
- package/schemas/agent-contract.json +176 -0
- package/schemas/agent-frontmatter.schema.json +149 -0
- package/schemas/agent-message.schema.json +53 -0
- package/schemas/agent-output-implementacion.schema.json +85 -0
- package/schemas/agent-output-planificacion.schema.json +113 -0
- package/schemas/agent-output-review.schema.json +78 -0
- package/schemas/diary-entry.schema.json +80 -0
- package/schemas/hook-profiles.schema.json +39 -0
- package/schemas/hooks-config.schema.json +74 -0
- package/schemas/instinct.schema.json +115 -0
- package/schemas/modulos.schema.json +29 -0
- package/schemas/perfiles.schema.json +28 -0
- package/schemas/plugin.schema.json +64 -0
- package/schemas/skill-evals.schema.json +95 -0
- package/schemas/skill-frontmatter.schema.json +170 -0
- package/scripts/actualizar.js +145 -0
- package/scripts/audit-skills.sh +78 -0
- package/scripts/auditar-agentes-gaps.js +149 -0
- package/scripts/auditar-cobertura-frameworks.js +241 -0
- package/scripts/auditar-skills-gaps.js +206 -0
- package/scripts/bootstrap-instintos.js +259 -0
- package/scripts/check-update.js +109 -0
- package/scripts/comandos/agents.js +105 -0
- package/scripts/comandos/info.js +108 -0
- package/scripts/comandos/install-asistido.js +186 -0
- package/scripts/comandos/skills.js +211 -0
- package/scripts/configurar-branch-protection.js +418 -0
- package/scripts/daemon-swl.py +388 -0
- package/scripts/desinstalar.js +130 -0
- package/scripts/doctor.js +559 -0
- package/scripts/field-report.js +199 -0
- package/scripts/generar-inventario.js +317 -0
- package/scripts/inbox-tmux-inject.js +161 -0
- package/scripts/inferir-herramientas-permitidas.js +586 -0
- package/scripts/inicializar.js +133 -0
- package/scripts/instalador.js +1031 -0
- package/scripts/instalar-git-hook.js +122 -0
- package/scripts/lib/agp-frontmatter.js +222 -0
- package/scripts/lib/append-con-marcadores.js +199 -0
- package/scripts/lib/artefactos-python.js +43 -0
- package/scripts/lib/audit-query.js +221 -0
- package/scripts/lib/autostart-linux.js +347 -0
- package/scripts/lib/autostart-macos.js +360 -0
- package/scripts/lib/autostart-windows.js +307 -0
- package/scripts/lib/budget-enforcer.js +252 -0
- package/scripts/lib/claude-sessions.js +285 -0
- package/scripts/lib/configurar-ci.js +380 -0
- package/scripts/lib/console-span-exporter.js +92 -0
- package/scripts/lib/contadores-inventario.js +217 -0
- package/scripts/lib/dashboard-widgets.js +290 -0
- package/scripts/lib/detectar-runtime.js +279 -0
- package/scripts/lib/detectar-stack.js +187 -0
- package/scripts/lib/diary-entry.js +234 -0
- package/scripts/lib/drift-detector.js +545 -0
- package/scripts/lib/estado.js +124 -0
- package/scripts/lib/gestor-componentes.js +243 -0
- package/scripts/lib/gitignore-manifest.js +305 -0
- package/scripts/lib/graph-analyze.py +556 -0
- package/scripts/lib/graph-builder.py +485 -0
- package/scripts/lib/graph-cluster.py +259 -0
- package/scripts/lib/health-row.js +168 -0
- package/scripts/lib/hooks-settings.js +789 -0
- package/scripts/lib/manifiestos.js +138 -0
- package/scripts/lib/mc-client.js +137 -0
- package/scripts/lib/notificaciones-telegram.js +1107 -0
- package/scripts/lib/npm-version.js +261 -0
- package/scripts/lib/paquetes-conocidos.js +50 -0
- package/scripts/lib/preservar-usuario.js +586 -0
- package/scripts/lib/prompt-builder.js +264 -0
- package/scripts/lib/resolver-externo.js +332 -0
- package/scripts/lib/schedule-parser.js +305 -0
- package/scripts/lib/scoring-instintos.js +240 -0
- package/scripts/lib/seguridad.js +160 -0
- package/scripts/lib/selector-interactivo.js +152 -0
- package/scripts/lib/semantic-search.js +242 -0
- package/scripts/lib/skill-discovery.js +234 -0
- package/scripts/lib/skill-metrics.js +246 -0
- package/scripts/lib/skill-normalizer.js +112 -0
- package/scripts/lib/skills-hub.js +340 -0
- package/scripts/lib/span-schema.js +134 -0
- package/scripts/lib/tool-cost-analyzer.js +255 -0
- package/scripts/lib/tracing-processor-interface.js +286 -0
- package/scripts/lib/transformadores/base.js +80 -0
- package/scripts/lib/transformadores/claude.js +124 -0
- package/scripts/lib/transformadores/codex.js +115 -0
- package/scripts/lib/transformadores/copilot.js +106 -0
- package/scripts/lib/transformadores/gemini.js +74 -0
- package/scripts/lib/transformadores/index.js +35 -0
- package/scripts/lib/transformadores/opencode.js +75 -0
- package/scripts/lib/ui.js +259 -0
- package/scripts/limpiar-artefactos-python.js +131 -0
- package/scripts/mcp-orchestrator.py +386 -0
- package/scripts/mcp-pool-manager.py +352 -0
- package/scripts/mcp-telemetry.py +378 -0
- package/scripts/poblar-evolvable.js +226 -0
- package/scripts/publicar.js +287 -0
- package/scripts/reflect-skills.js +403 -0
- package/scripts/rotar-audit-logs.js +185 -0
- package/scripts/run-skill-evals.js +242 -0
- package/scripts/smoke-test.js +374 -0
- package/scripts/token-analysis.py +471 -0
- package/scripts/validar-manifest.js +195 -0
- package/scripts/validar-memoria.js +321 -0
- package/scripts/validar-tests-aislamiento.js +184 -0
- package/scripts/validar-tokens-test.js +208 -0
- package/scripts/validar.js +147 -0
- package/scripts/validate-markdown.py +339 -0
- package/scripts/validate-skills.py +385 -0
- package/scripts/vendor/claude-usage/README.md +116 -0
- package/scripts/vendor/claude-usage/cli.py +334 -0
- package/scripts/vendor/claude-usage/dashboard.py +795 -0
- package/scripts/vendor/claude-usage/scanner.py +467 -0
- package/scripts/vendor/markitdown/cli.py +194 -0
- package/scripts/verificar-evolucion.js +289 -0
- package/scripts/verificar-release.js +494 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
# Regla: Git Workflow
|
|
2
|
+
|
|
3
|
+
Un historial de git limpio es documentación ejecutable del proyecto. Facilita
|
|
4
|
+
bisect, reverts, cherry-picks y revisiones de código. Estas reglas garantizan
|
|
5
|
+
que el historial sea útil y comprensible.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Commits atómicos — 1 cambio lógico = 1 commit
|
|
10
|
+
|
|
11
|
+
- Un commit contiene exactamente un cambio lógico autocontenido.
|
|
12
|
+
Se puede entender, revertir y aplicar de forma independiente.
|
|
13
|
+
- Un commit NO mezcla: refactor + nueva feature, bugfix + limpieza de código,
|
|
14
|
+
cambio de deps + lógica de negocio.
|
|
15
|
+
- Si al escribir el mensaje de commit se necesita usar "y" o "también":
|
|
16
|
+
es señal de que son dos commits.
|
|
17
|
+
- Commits de trabajo en progreso (`WIP`, `temp`, `fix typo`) están permitidos
|
|
18
|
+
en ramas de feature, pero se squashean antes del merge.
|
|
19
|
+
- Commits con solo cambios de formato/whitespace: nunca mezclar con cambios
|
|
20
|
+
de lógica. Hacer un commit dedicado de formateo si es necesario.
|
|
21
|
+
- Tamaño razonable: si un PR tiene un solo commit con 50 archivos modificados,
|
|
22
|
+
el commit no es atómico — dividir en pasos lógicos.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Mensajes de commit — formato imperativo, <72 chars
|
|
27
|
+
|
|
28
|
+
Formato estándar:
|
|
29
|
+
```
|
|
30
|
+
<tipo>(<scope>): <descripción en imperativo>
|
|
31
|
+
|
|
32
|
+
[cuerpo opcional — explicar POR QUÉ, no qué hace el diff]
|
|
33
|
+
|
|
34
|
+
[footer opcional — refs a tickets, breaking changes]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Tipos permitidos:
|
|
38
|
+
- `feat`: nueva funcionalidad
|
|
39
|
+
- `fix`: corrección de bug
|
|
40
|
+
- `refactor`: cambio que no agrega funcionalidad ni corrige bug
|
|
41
|
+
- `test`: agregar o corregir tests
|
|
42
|
+
- `docs`: cambios en documentación
|
|
43
|
+
- `chore`: actualización de deps, configuración, tooling
|
|
44
|
+
- `perf`: mejora de rendimiento
|
|
45
|
+
- `style`: cambios de formato (espacios, punto y coma, etc.)
|
|
46
|
+
- `ci`: cambios en pipelines de CI/CD
|
|
47
|
+
|
|
48
|
+
Reglas del mensaje:
|
|
49
|
+
- Primera línea: imperativo, presente, sin punto al final, <72 caracteres.
|
|
50
|
+
- Mal: `Se agregó validación al formulario.`
|
|
51
|
+
- Mal: `Agrega validación al formulario de registro de usuario con múltiples campos`
|
|
52
|
+
- Bien: `feat(auth): agregar validación de formato de email en registro`
|
|
53
|
+
- El cuerpo explica el contexto y la razón del cambio, no repite el diff.
|
|
54
|
+
- Referenciar tickets: `Closes #123`, `Refs #456` en el footer.
|
|
55
|
+
- Breaking changes: `BREAKING CHANGE: descripción` en el footer.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Branches descriptivas
|
|
60
|
+
|
|
61
|
+
Formato: `<tipo>/<descripcion-en-kebab-case>`
|
|
62
|
+
|
|
63
|
+
Tipos de branch:
|
|
64
|
+
- `feat/` — nueva feature
|
|
65
|
+
- `fix/` — corrección de bug
|
|
66
|
+
- `refactor/` — refactoring sin cambio funcional
|
|
67
|
+
- `hotfix/` — corrección urgente de producción
|
|
68
|
+
- `chore/` — mantenimiento, actualizaciones de deps
|
|
69
|
+
- `docs/` — solo documentación
|
|
70
|
+
|
|
71
|
+
Ejemplos:
|
|
72
|
+
- `feat/modulo-facturacion-electronica`
|
|
73
|
+
- `fix/error-calculo-impuesto-ieps`
|
|
74
|
+
- `hotfix/sql-injection-endpoint-productos`
|
|
75
|
+
- `refactor/migrar-callbacks-a-promises`
|
|
76
|
+
|
|
77
|
+
Reglas:
|
|
78
|
+
- Nombre describe el trabajo, no la persona ni el ticket.
|
|
79
|
+
- Mal: `branch-juan`, `feat-123`, `nueva-rama`
|
|
80
|
+
- Bien: `feat/exportacion-reporte-pdf`
|
|
81
|
+
- Vida corta: las ramas de feature no duran más de 2 semanas sin mergearse.
|
|
82
|
+
Ramas largas generan conflictos masivos.
|
|
83
|
+
- Eliminar la rama después del merge al branch base.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## No force-push a main / develop
|
|
88
|
+
|
|
89
|
+
- `git push --force` y `git push --force-with-lease` están prohibidos en
|
|
90
|
+
`main`, `master` y `develop`.
|
|
91
|
+
- Estas ramas deben tener protección de branch habilitada en el repositorio.
|
|
92
|
+
- Si se requiere reescribir historial de main: escalar a decisión del equipo,
|
|
93
|
+
con plan de comunicación y ventana de mantenimiento.
|
|
94
|
+
- En ramas de feature propias: `--force-with-lease` está permitido para rebase
|
|
95
|
+
interactivo antes del PR, con precaución.
|
|
96
|
+
- Rebase en ramas compartidas (más de un colaborador): siempre coordinar antes.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## PRs — descripción y test plan obligatorios
|
|
101
|
+
|
|
102
|
+
Todo Pull Request debe incluir:
|
|
103
|
+
|
|
104
|
+
**Título**: sigue el mismo formato que el mensaje de commit.
|
|
105
|
+
|
|
106
|
+
**Descripción mínima**:
|
|
107
|
+
```markdown
|
|
108
|
+
## Resumen
|
|
109
|
+
- Qué cambió y por qué (1-3 bullets)
|
|
110
|
+
|
|
111
|
+
## Cambios principales
|
|
112
|
+
- Lista de los cambios técnicos relevantes
|
|
113
|
+
|
|
114
|
+
## Test plan
|
|
115
|
+
- [ ] Paso 1 para verificar manualmente
|
|
116
|
+
- [ ] Paso 2 para verificar el caso edge
|
|
117
|
+
- [ ] Caso de error verificado
|
|
118
|
+
|
|
119
|
+
## Screenshots (si hay cambios de UI)
|
|
120
|
+
|
|
121
|
+
## Notas para el reviewer
|
|
122
|
+
- Contexto adicional, decisiones tomadas, alternativas descartadas
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Reglas adicionales:
|
|
126
|
+
- PRs de más de 500 líneas cambiadas: justificar o dividir en PRs menores.
|
|
127
|
+
- Asignar reviewer antes de solicitar revisión.
|
|
128
|
+
- No mergear el propio PR sin revisión (excepto hotfixes urgentes documentados).
|
|
129
|
+
- Resolver todos los comentarios antes de mergear (o marcar como `wontfix` con justificación).
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Squash antes de merge
|
|
134
|
+
|
|
135
|
+
- Commits WIP, de typos y de fix de review se squashean antes del merge.
|
|
136
|
+
- El historial de main muestra solo commits semánticos y atómicos.
|
|
137
|
+
- Estrategia recomendada: `Squash and merge` desde la UI de GitHub/GitLab,
|
|
138
|
+
o `rebase interactivo` antes del merge.
|
|
139
|
+
- El mensaje del squash debe ser descriptivo del cambio completo, no solo
|
|
140
|
+
el primer mensaje de la rama.
|
|
141
|
+
- Ramas con múltiples commits lógicos independientes: usar `rebase` en lugar
|
|
142
|
+
de `squash` para preservar la granularidad.
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Flujo completo de trabajo
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
main ─────────────────────────────────────────► main
|
|
150
|
+
│ ▲
|
|
151
|
+
└─ feat/nombre ──[commits]──[squash]─┘
|
|
152
|
+
│
|
|
153
|
+
└─ [PR] ──[review] ──[CI pass] ──[merge]
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
1. Crear branch desde `main` (o `develop` si existe).
|
|
157
|
+
2. Hacer commits atómicos en la branch.
|
|
158
|
+
3. Mantener la branch actualizada con `git rebase main` (no merge).
|
|
159
|
+
4. Abrir PR con descripción completa.
|
|
160
|
+
5. Pasar CI (linter, tests, type-check).
|
|
161
|
+
6. Obtener aprobación de al menos 1 reviewer.
|
|
162
|
+
7. Squash y merge.
|
|
163
|
+
8. Eliminar la branch.
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Reglas de emergencia (hotfixes)
|
|
168
|
+
|
|
169
|
+
- Un hotfix de producción puede saltarse el proceso completo de review si hay
|
|
170
|
+
indisponibilidad activa, con las siguientes condiciones:
|
|
171
|
+
- Notificar al equipo en el canal de incidencias antes de mergear.
|
|
172
|
+
- El fix más pequeño posible — solo lo que resuelve el incidente.
|
|
173
|
+
- PR de follow-up con tests dentro de 24 horas.
|
|
174
|
+
- Post-mortem si el incidente duró más de 30 minutos.
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Sincronización de versiones antes de release
|
|
179
|
+
|
|
180
|
+
Cuando se modifican componentes del sistema SWL (agentes, skills, reglas, hooks,
|
|
181
|
+
comandos, schemas o manifiestos), la versión debe actualizarse en TODOS los
|
|
182
|
+
archivos que la declaran antes de hacer commit y publicar:
|
|
183
|
+
|
|
184
|
+
| Archivo | Campo | Ejemplo |
|
|
185
|
+
|---------|-------|---------|
|
|
186
|
+
| `package.json` | `"version"` | `"5.0.3"` |
|
|
187
|
+
| `plugin.json` | `"version"` | `"5.0.3"` |
|
|
188
|
+
| `SALUD.md` | `Versión del sistema` | `5.0.3` (todas las ocurrencias) |
|
|
189
|
+
| `.claude/.swl-install-state.json` | `"versionSistema"` | `"5.0.3"` (local, gitignored) |
|
|
190
|
+
|
|
191
|
+
El tipo de bump sigue SemVer:
|
|
192
|
+
- **PATCH** (5.0.X): correcciones de bugs, mejoras de redacción, ajustes de patrones
|
|
193
|
+
- **MINOR** (5.X.0): agente nuevo, skill nuevo, comando nuevo, regla nueva
|
|
194
|
+
- **MAJOR** (X.0.0): cambio breaking en schemas, reglas obligatorias nuevas, restructuración
|
|
195
|
+
|
|
196
|
+
Verificación rápida de consistencia:
|
|
197
|
+
```bash
|
|
198
|
+
node -e "const p=require('./package.json'),l=require('./plugin.json');console.log(p.version===l.version?'OK: '+p.version:'INCONSISTENTE: pkg='+p.version+' plugin='+l.version)"
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Reglas de oro CI/CD (cuando se adopta swl-configurar-ci)
|
|
204
|
+
|
|
205
|
+
Cuando un proyecto activa el flujo CI/CD distribuido por swl-ses (vía
|
|
206
|
+
`/swl:configurar-ci init`), aplican las siguientes reglas:
|
|
207
|
+
|
|
208
|
+
- **Toda feature entra vía Pull Request a main**. Nunca se hace push directo
|
|
209
|
+
a main — incluso para hotfixes urgentes (excepción documentada explícita).
|
|
210
|
+
- **Branch protection en main es obligatorio**: aplicar via
|
|
211
|
+
`node scripts/configurar-branch-protection.js` o vía GitHub Settings →
|
|
212
|
+
Branches.
|
|
213
|
+
- **Todo PR ejecuta automáticamente**: lint, validaciones de aislamiento,
|
|
214
|
+
tests, security review con Claude. Si algo falla, el merge queda bloqueado.
|
|
215
|
+
- **main siempre lista para producción**. Cualquier commit en main debe
|
|
216
|
+
pasar el gate de CI antes de mergearse.
|
|
217
|
+
- **Secrets en GitHub Secrets, nunca en código ni en .env del repo**: la
|
|
218
|
+
`CLAUDE_API_KEY` requerida por el security workflow vive en
|
|
219
|
+
Settings → Secrets and variables → Actions.
|
|
220
|
+
- **Permisos mínimos en workflows**: `permissions:` declara solo lo
|
|
221
|
+
estrictamente necesario (`contents: read`, `pull-requests: write`).
|
|
222
|
+
Nunca `permissions: write-all`.
|
|
223
|
+
- **Workflows desde fork PRs no reciben secrets**: la security review
|
|
224
|
+
con Claude no puede correr en PRs desde forks externos sin configuración
|
|
225
|
+
adicional. Esta limitación es de GitHub por diseño — documentarla en el
|
|
226
|
+
proyecto.
|
|
227
|
+
|
|
228
|
+
Estas reglas aplican solo cuando swl-configurar-ci está activo. Proyectos
|
|
229
|
+
sin CI/CD pueden mantener flujos directos a main bajo responsabilidad
|
|
230
|
+
del owner.
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Checklist antes de abrir un PR
|
|
235
|
+
|
|
236
|
+
- [ ] Commits son atómicos y tienen mensajes descriptivos
|
|
237
|
+
- [ ] Branch actualizada con `rebase` desde main (sin conflictos)
|
|
238
|
+
- [ ] Tests pasan localmente
|
|
239
|
+
- [ ] Linter y type-checker pasan
|
|
240
|
+
- [ ] PR tiene descripción, cambios principales y test plan
|
|
241
|
+
- [ ] No se fuerza push a main
|
|
242
|
+
- [ ] Commits WIP squasheados
|
|
243
|
+
- [ ] Si se modificaron componentes del sistema (agentes, skills, reglas, hooks):
|
|
244
|
+
versión actualizada en package.json, plugin.json y SALUD.md
|
|
245
|
+
- [ ] Si el proyecto usa `swl-configurar-ci`, este PR pasa todos los gates de CI
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
# Regla: Gobernanza
|
|
2
|
+
|
|
3
|
+
Esta regla aplica a equipos y proyectos con múltiples contribuidores.
|
|
4
|
+
Define políticas de aprobación, auditoría y control de cambios del sistema SWL.
|
|
5
|
+
En proyectos individuales, sirve como guía de disciplina de cambios.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Políticas de aprobación
|
|
10
|
+
|
|
11
|
+
### Cambios de alto riesgo
|
|
12
|
+
|
|
13
|
+
Los siguientes cambios requieren aprobación explícita del líder técnico antes
|
|
14
|
+
de incorporarse al sistema activo. "Aprobación explícita" significa una revisión
|
|
15
|
+
deliberada (no automática) con evidencia documentada en `.planning/AUDITORIA.md`.
|
|
16
|
+
|
|
17
|
+
Cambios que requieren aprobación:
|
|
18
|
+
|
|
19
|
+
- Modificación de reglas de seguridad (`reglas/seguridad.md`)
|
|
20
|
+
- Cambios en umbrales de risk scoring en `manifiestos/hooks-config.json`
|
|
21
|
+
- Adición de hooks con `blocking: true`
|
|
22
|
+
- Modificación de agentes con `nivelRiesgo: ALTO`
|
|
23
|
+
- Cambios en manifiestos de instalación (`manifiestos/modulos.json`, `manifiestos/perfiles.json`)
|
|
24
|
+
- Eliminación de reglas o agentes del sistema base
|
|
25
|
+
|
|
26
|
+
### Skills generados automáticamente
|
|
27
|
+
|
|
28
|
+
Los skills generados por `auto-evolucion-swl` o `/swl:evolucionar`:
|
|
29
|
+
|
|
30
|
+
- Se instalan primero en `_userland/plugins/` como período de prueba.
|
|
31
|
+
NUNCA se incorporan directamente al sistema base sin revisión.
|
|
32
|
+
- Requieren validación en al menos 3 sesiones de trabajo independientes
|
|
33
|
+
antes de ser promovidos al perfil `completo`.
|
|
34
|
+
- Deben pasar la verificación de `/swl:salud` sin degradar el score actual.
|
|
35
|
+
- La promoción se registra en `.planning/AUDITORIA.md` con justificación.
|
|
36
|
+
|
|
37
|
+
### Reglas nuevas obligatorias
|
|
38
|
+
|
|
39
|
+
Una regla nueva que se declare obligatoria para todos los agentes es un cambio
|
|
40
|
+
`MAJOR` del sistema (ver sección de versionado). Requiere:
|
|
41
|
+
|
|
42
|
+
1. Propuesta documentada: qué problema resuelve y por qué es obligatoria.
|
|
43
|
+
2. Período de revisión de al menos 48 horas antes de activarse.
|
|
44
|
+
3. Comunicación al equipo con tiempo suficiente para adaptarse.
|
|
45
|
+
4. Entrada en el CHANGELOG con descripción del impacto.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Auditoría
|
|
50
|
+
|
|
51
|
+
### Log de operaciones de alto riesgo
|
|
52
|
+
|
|
53
|
+
Toda operación marcada como `nivelRiesgo: ALTO` debe registrarse en
|
|
54
|
+
`.planning/AUDITORIA.md` con el siguiente formato:
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
## [YYYY-MM-DD HH:MM] <tipo-de-operacion>
|
|
58
|
+
|
|
59
|
+
**Agente**: nombre-agente-swl
|
|
60
|
+
**Operación**: descripción breve de qué se hizo
|
|
61
|
+
**Justificación**: por qué fue necesario
|
|
62
|
+
**Aprobado por**: nombre o "individual" si es proyecto personal
|
|
63
|
+
**Archivos afectados**: lista de rutas modificadas
|
|
64
|
+
**Estado**: completado / revertido
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
El hook `risk-scoring` genera entradas automáticas para operaciones detectadas.
|
|
68
|
+
Las operaciones manuales de alto riesgo deben registrarse manualmente.
|
|
69
|
+
|
|
70
|
+
### Supresión de verificaciones
|
|
71
|
+
|
|
72
|
+
Cuando se necesita suprimir un hook (via `SWL_DISABLED_HOOKS` u otro mecanismo):
|
|
73
|
+
|
|
74
|
+
- Usar el scope más estrecho posible: archivo o directorio específico,
|
|
75
|
+
no desactivación global del hook.
|
|
76
|
+
- Documentar en `.planning/AUDITORIA.md`:
|
|
77
|
+
- Fecha y duración de la supresión
|
|
78
|
+
- Razón técnica por la que fue necesario
|
|
79
|
+
- Alcance exacto (qué hook, qué archivos)
|
|
80
|
+
- Plan de reactivación
|
|
81
|
+
|
|
82
|
+
Una supresión sin documentación en AUDITORIA.md se considera deuda de gobernanza
|
|
83
|
+
que debe resolverse antes del próximo release.
|
|
84
|
+
|
|
85
|
+
### Retención de logs
|
|
86
|
+
|
|
87
|
+
- `.planning/AUDITORIA.md` es un archivo append-only. NUNCA borrar entradas antiguas.
|
|
88
|
+
- Los instintos degradados por `degradacion-instintos.js` se registran
|
|
89
|
+
automáticamente en el log de instintos, no en AUDITORIA.md.
|
|
90
|
+
- Revisar AUDITORIA.md mensualmente para identificar patrones de operaciones de riesgo.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Separación revisor / ejecutor
|
|
95
|
+
|
|
96
|
+
Un agente que ejecuta cambios NUNCA verifica su propio trabajo. La verificación
|
|
97
|
+
cruzada entre roles distintos reduce hallucaciones y errores de confirmación.
|
|
98
|
+
|
|
99
|
+
### Principio
|
|
100
|
+
|
|
101
|
+
| Rol | Permisos | Responsabilidad |
|
|
102
|
+
|-----|----------|-----------------|
|
|
103
|
+
| **Ejecutor** | Write, Edit, Bash | Implementa cambios según el plan. NO se auto-revisa. |
|
|
104
|
+
| **Revisor** | Read, Grep, Glob, Bash (solo lectura) | Emite veredictos estructurados. NO ejecuta correcciones. |
|
|
105
|
+
|
|
106
|
+
### Reglas obligatorias
|
|
107
|
+
|
|
108
|
+
- El ejecutor NUNCA emite un veredicto de aprobación sobre su propio trabajo.
|
|
109
|
+
Si termina una fase, reporta completitud — el revisor valida.
|
|
110
|
+
- El revisor NUNCA modifica código de producción. Si detecta un problema,
|
|
111
|
+
emite un veredicto `Fail` con instrucciones concretas en `nextStep.instructions`.
|
|
112
|
+
El ejecutor aplica las correcciones.
|
|
113
|
+
- En el flujo del orquestador, el revisor y el ejecutor son agentes distintos
|
|
114
|
+
o invocaciones independientes con contexto separado.
|
|
115
|
+
- Las instrucciones del revisor son específicas: archivo, línea, qué cambiar.
|
|
116
|
+
"Mejorar el código" no es una instrucción válida.
|
|
117
|
+
- El ejecutor sigue las instrucciones del revisor sin inventar mejoras adicionales
|
|
118
|
+
no solicitadas. No crea un plan nuevo — ejecuta lo indicado.
|
|
119
|
+
|
|
120
|
+
### Mapeo a agentes SWL
|
|
121
|
+
|
|
122
|
+
| Fase | Ejecutor | Revisor |
|
|
123
|
+
|------|----------|---------|
|
|
124
|
+
| Implementación | implementador-swl, backend-*-swl, frontend-*-swl | revisor-codigo-swl, revisor-*-swl |
|
|
125
|
+
| Seguridad | (cualquier implementador) | revisor-seguridad-swl |
|
|
126
|
+
| Testing | tdd-qa-swl (escribe tests) | (el test runner es el revisor) |
|
|
127
|
+
| Verificación de fase | (agente que implementó) | verificar-trabajo (skill) |
|
|
128
|
+
|
|
129
|
+
### Anti-patrones
|
|
130
|
+
|
|
131
|
+
- Un agente que dice "revisé mi propio código y se ve bien" — viola la separación.
|
|
132
|
+
- Un revisor que aplica un fix directamente en lugar de emitir instrucciones.
|
|
133
|
+
- Un ejecutor que ignora el veredicto del revisor y marca la tarea como completada.
|
|
134
|
+
- Un loop de reparación infinito — máximo 2 intentos antes de escalar a humano.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Veto items y cap enforcement (auditor-class pattern)
|
|
139
|
+
|
|
140
|
+
Algunos hallazgos son **no negociables**: violaciones de reglas globales del
|
|
141
|
+
sistema cuya presencia debe bloquear la aprobación independientemente de qué
|
|
142
|
+
tan limpio esté el resto del trabajo. El patrón "veto items + cap enforcement"
|
|
143
|
+
formaliza este criterio para todos los revisores SWL.
|
|
144
|
+
|
|
145
|
+
### Principio
|
|
146
|
+
|
|
147
|
+
Un revisor declara una **lista finita y específica de veto items** asociados a
|
|
148
|
+
su dominio. Si detecta CUALQUIER veto item:
|
|
149
|
+
|
|
150
|
+
- El **score máximo** del reporte queda CAP a un valor de "no aprobado"
|
|
151
|
+
(ejemplo: `60/100` para reportes en escala 0-100, `6.0/10` para reportes
|
|
152
|
+
por dimensión).
|
|
153
|
+
- El **veredicto automático** pasa a `RECHAZADO` o `APROBADO CON CORRECCIONES`,
|
|
154
|
+
nunca `APROBADO` limpio.
|
|
155
|
+
- 2+ veto items → cap más estricto (ej. `30/100` o `3.0/10`).
|
|
156
|
+
|
|
157
|
+
El cap NO se compensa con scores altos en otras dimensiones. La presencia de un
|
|
158
|
+
veto item indica violación de una regla global no opcional.
|
|
159
|
+
|
|
160
|
+
### Reglas
|
|
161
|
+
|
|
162
|
+
1. **Cada revisor declara explícitamente sus veto items** en su agente
|
|
163
|
+
(sección dedicada en el `.md` del agente, antes del formato de reporte).
|
|
164
|
+
2. **Los veto items mapean a reglas del sistema** (`reglas/seguridad.md`,
|
|
165
|
+
`reglas/estilo-codigo.md`, `reglas/arquitectura.md`, etc.). NO son criterios
|
|
166
|
+
inventados ad-hoc por el revisor.
|
|
167
|
+
3. **El reporte muestra los veto items detectados** al inicio, antes de la
|
|
168
|
+
tabla de scores, en bloque dedicado:
|
|
169
|
+
```
|
|
170
|
+
### VETO ITEMS DETECTADOS
|
|
171
|
+
- [VI-1] <descripción del veto>: `archivo.py:42`
|
|
172
|
+
- [VI-3] <descripción del veto>: `app/util.py:88`
|
|
173
|
+
→ score CAP a X/Y (N veto items). Veredicto: RECHAZADO.
|
|
174
|
+
```
|
|
175
|
+
Si no hay: `### VETO ITEMS DETECTADOS\n- Ninguno`.
|
|
176
|
+
4. **El cap no se levanta por negociación**. Solo se levanta cuando se
|
|
177
|
+
demuestra remediación (commit + test que prueba la corrección) y el revisor
|
|
178
|
+
re-ejecuta la auditoría.
|
|
179
|
+
5. **Un veto item siempre referencia una regla global**. Si el revisor cree
|
|
180
|
+
que algo "debería ser veto" pero no hay regla que lo respalde, primero
|
|
181
|
+
actualiza la regla, luego agrega el veto.
|
|
182
|
+
|
|
183
|
+
### Aplicabilidad
|
|
184
|
+
|
|
185
|
+
Revisores SWL que DEBEN implementar veto items:
|
|
186
|
+
|
|
187
|
+
- `revisor-seguridad-swl` (10 veto items: secret hardcodeado, SQL injection,
|
|
188
|
+
eval con input, path traversal, CVE crítico, etc.)
|
|
189
|
+
- `revisor-codigo-swl` (10 veto items: función >100 líneas, complejidad >15,
|
|
190
|
+
console.log en prod, dependencia circular, DRY mayor, etc.)
|
|
191
|
+
|
|
192
|
+
Revisores específicos de lenguaje (`revisor-typescript-swl`, `revisor-react-swl`,
|
|
193
|
+
`revisor-rust-swl`, etc.) PUEDEN agregar veto items adicionales propios de su
|
|
194
|
+
dominio, pero deben heredar los del revisor base correspondiente.
|
|
195
|
+
|
|
196
|
+
Plantilla reusable: `plantillas/auditor-veto-template.md`.
|
|
197
|
+
|
|
198
|
+
### Anti-patrones
|
|
199
|
+
|
|
200
|
+
- **Veto inventado sin regla**: "código feo" no es veto válido — necesita
|
|
201
|
+
regla global que lo prohíba.
|
|
202
|
+
- **Veto suavizado por presión de entrega**: bajar de "veto" a "menor" porque
|
|
203
|
+
el equipo dispute es invalidación del sistema.
|
|
204
|
+
- **Veto sin evidencia**: cada veto item reportado debe citar archivo:línea.
|
|
205
|
+
- **Veto que no se persiste**: si el cap se levanta sin re-revisión y commit
|
|
206
|
+
de corrección, el sistema pierde su valor.
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## Control de cambios del sistema
|
|
211
|
+
|
|
212
|
+
### Versionado
|
|
213
|
+
|
|
214
|
+
Todo cambio al sistema SWL sigue SemVer estricto:
|
|
215
|
+
|
|
216
|
+
| Tipo de cambio | Versión |
|
|
217
|
+
|----------------|---------|
|
|
218
|
+
| Regla nueva marcada como obligatoria | MAJOR |
|
|
219
|
+
| Cambio breaking en schema de agentes o skills | MAJOR |
|
|
220
|
+
| Agente nuevo, skill nuevo, comando nuevo | MINOR |
|
|
221
|
+
| Feature en agente o skill existente | MINOR |
|
|
222
|
+
| Bug fix, corrección de typo, actualización de ejemplo | PATCH |
|
|
223
|
+
| Mejora de descripción sin cambio de comportamiento | PATCH |
|
|
224
|
+
|
|
225
|
+
El comando `/swl:release` maneja el versionado automáticamente.
|
|
226
|
+
|
|
227
|
+
### Rollback
|
|
228
|
+
|
|
229
|
+
Ante un cambio que degrada el sistema:
|
|
230
|
+
|
|
231
|
+
- La versión anterior debe permanecer disponible (via git) por al menos 1 semana
|
|
232
|
+
antes de considerarse obsoleta.
|
|
233
|
+
- Los hooks nuevos pueden desactivarse individualmente via variable de entorno
|
|
234
|
+
`SWL_DISABLED_HOOKS=nombre-hook` sin afectar el resto del sistema.
|
|
235
|
+
- Los agentes nuevos NO reemplazan a los existentes sin un período de transición
|
|
236
|
+
documentado. Durante la transición, ambas versiones coexisten.
|
|
237
|
+
- Si `/swl:salud` baja su score tras un cambio: revertir antes de continuar.
|
|
238
|
+
|
|
239
|
+
### Freeze de cambios pre-release
|
|
240
|
+
|
|
241
|
+
Durante las 24 horas previas a un release:
|
|
242
|
+
|
|
243
|
+
- Solo se permiten bug fixes críticos (PATCH).
|
|
244
|
+
- No se agregan features ni reglas nuevas.
|
|
245
|
+
- El comando `/swl:salud` debe pasar sin advertencias antes de publicar.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Plugins de terceros
|
|
250
|
+
|
|
251
|
+
Los plugins instalados via `/swl:plugins install` tienen restricciones adicionales:
|
|
252
|
+
|
|
253
|
+
- No pueden modificar componentes del sistema base (`agentes/`, `habilidades/`,
|
|
254
|
+
`reglas/`, `hooks/` en la raíz).
|
|
255
|
+
- Sus hooks con `blocking: true` requieren revisión explícita antes de activarse.
|
|
256
|
+
- Si un plugin no recibe actualizaciones en 6 meses y tiene issues conocidos:
|
|
257
|
+
marcarlo como deprecado en `.planning/PLUGINS.md`.
|
|
258
|
+
- Los plugins de fuentes no verificadas no se instalan sin auditoría de su código.
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Checklist de gobernanza antes de release
|
|
263
|
+
|
|
264
|
+
- [ ] Todos los cambios de alto riesgo tienen aprobación documentada en AUDITORIA.md
|
|
265
|
+
- [ ] Los skills auto-generados fueron validados en al menos 3 sesiones
|
|
266
|
+
- [ ] Ninguna supresión de hook activa sin justificación documentada
|
|
267
|
+
- [ ] El CHANGELOG.md está actualizado con todos los cambios observables
|
|
268
|
+
- [ ] Los schemas de validación pasan para todos los manifiestos modificados
|
|
269
|
+
- [ ] El comando `/swl:salud` pasa sin errores ni advertencias críticas
|
|
270
|
+
- [ ] La versión en `package.json` refleja el tipo de cambio realizado
|
|
271
|
+
- [ ] Los plugins de terceros instalados siguen siendo compatibles con la versión nueva
|