@christianmaf80/agentic-workflow 1.8.0-beta.1 → 1.11.0-beta.1
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/dist/artifacts/1-mcp-server-extensio-cli/analysis.md +480 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/architect/review.md +285 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/changelog.md +29 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/implementer-agent/subtask-implementation.md +321 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/plan.md +522 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/researcher/research.md +270 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/results.md +143 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/task-metrics.md +33 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/task.md +178 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/walkthrough.md +69 -0
- package/dist/artifacts/10-shard-build-plugin/analysis.md +290 -0
- package/dist/artifacts/10-shard-build-plugin/architect/subtask-implementation.md +105 -0
- package/dist/artifacts/10-shard-build-plugin/plan.md +409 -0
- package/dist/artifacts/10-shard-build-plugin/researcher/research.md +109 -0
- package/dist/artifacts/10-shard-build-plugin/task.md +124 -0
- package/dist/artifacts/11-revision-sistema-agentic/analysis.md +43 -0
- package/dist/artifacts/11-revision-sistema-agentic/cli-mcp-impact.md +186 -0
- package/dist/artifacts/11-revision-sistema-agentic/core-impact.md +162 -0
- package/dist/artifacts/11-revision-sistema-agentic/metrics.md +82 -0
- package/dist/artifacts/11-revision-sistema-agentic/modules-create-v2.md +126 -0
- package/dist/artifacts/11-revision-sistema-agentic/modules-v2.md +250 -0
- package/dist/artifacts/11-revision-sistema-agentic/pages-v2.md +366 -0
- package/dist/artifacts/11-revision-sistema-agentic/researcher/research.md +131 -0
- package/dist/artifacts/11-revision-sistema-agentic/results.md +116 -0
- package/dist/artifacts/11-revision-sistema-agentic/shards-v2.md +424 -0
- package/dist/artifacts/11-revision-sistema-agentic/task.md +145 -0
- package/dist/artifacts/11-revision-sistema-agentic/verification.md +119 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/analysis-architecture-change.md +305 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/analysis.md +301 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/error-analysis.md +93 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/implementation-summary.md +111 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/plan.md +387 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/researcher/research.md +266 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/task.md +167 -0
- package/dist/artifacts/13-dual-lifecycle-system/analysis.md +173 -0
- package/dist/artifacts/13-dual-lifecycle-system/architect/review.md +67 -0
- package/dist/artifacts/13-dual-lifecycle-system/plan.md +230 -0
- package/dist/artifacts/13-dual-lifecycle-system/researcher/research.md +243 -0
- package/dist/artifacts/13-dual-lifecycle-system/task.md +130 -0
- package/dist/artifacts/13-dual-lifecycle-system/verification.md +84 -0
- package/dist/artifacts/14-core-tests-refactor/analysis.md +240 -0
- package/dist/artifacts/14-core-tests-refactor/architect/review.md +33 -0
- package/dist/artifacts/14-core-tests-refactor/evaluation.md +40 -0
- package/dist/artifacts/14-core-tests-refactor/plan.md +344 -0
- package/dist/artifacts/14-core-tests-refactor/researcher/research.md +258 -0
- package/dist/artifacts/14-core-tests-refactor/results.md +117 -0
- package/dist/artifacts/14-core-tests-refactor/task.md +163 -0
- package/dist/artifacts/14-core-tests-refactor/verification.md +87 -0
- package/dist/artifacts/15-sistema-evaluacion-agentes/architect/implementation.md +47 -0
- package/dist/artifacts/15-sistema-evaluacion-agentes/brief.md +100 -0
- package/dist/artifacts/15-sistema-evaluacion-agentes/closure.md +81 -0
- package/dist/artifacts/15-sistema-evaluacion-agentes/task.md +83 -0
- package/dist/artifacts/16-refactorizacion-demo-core/analysis.md +160 -0
- package/dist/artifacts/16-refactorizacion-demo-core/architect/implementation.md +180 -0
- package/dist/artifacts/16-refactorizacion-demo-core/changelog.md +15 -0
- package/dist/artifacts/16-refactorizacion-demo-core/metrics.md +17 -0
- package/dist/artifacts/16-refactorizacion-demo-core/plan.md +270 -0
- package/dist/artifacts/16-refactorizacion-demo-core/researcher/research.md +190 -0
- package/dist/artifacts/16-refactorizacion-demo-core/task.md +124 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/analysis.md +108 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/architect/review-subtask-1.md +98 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/architect/review.md +192 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/architect/step-4-postponed.md +41 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/activation-fix-demo.md +73 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/activation-subtask-2.md +80 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/fix-demo-implementation.md +113 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/subtask-2-implementation.md +133 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/subtask-implementation.md +130 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/plan.md +188 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/activation-demo-build.md +80 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/activation-phase-5.md +73 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/activation-subtask-5-7.md +97 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/issue-demo-integrity.md +39 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/subtask-5-7-implementation.md +188 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/verification.md +207 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/researcher/research.md +103 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/subtask-1-engine-refactor.md +64 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/surface-agent/activation-subtask-3.md +81 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/surface-agent/subtask-3-implementation.md +148 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/task.md +146 -0
- package/dist/artifacts/18-refactor-phase-4-implementation/task.md +140 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-scores.md +58 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/1-architect-refactor-research-template.md +78 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/2-architect-refactor-analysis-template.md +76 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/3-architect-update-phase1-workflow.md +77 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/4-architect-update-phase2-workflow.md +76 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/5-architect-create-todo-structure.md +77 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/6-qa-validation.md +95 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/analysis.md +190 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/architect/review.md +68 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/plan.md +203 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/researcher/research.md +296 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/task.md +132 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/verification.md +104 -0
- package/dist/artifacts/2-review-mcp-agent-system/analysis.md +133 -0
- package/dist/artifacts/2-review-mcp-agent-system/architect/infrastructure-migration.md +58 -0
- package/dist/artifacts/2-review-mcp-agent-system/architect/mcp-server-refactor.md +57 -0
- package/dist/artifacts/2-review-mcp-agent-system/architect/review.md +83 -0
- package/dist/artifacts/2-review-mcp-agent-system/changelog.md +22 -0
- package/dist/artifacts/2-review-mcp-agent-system/metrics.md +33 -0
- package/dist/artifacts/2-review-mcp-agent-system/plan.md +141 -0
- package/dist/artifacts/2-review-mcp-agent-system/qa/mcp-test-validation.md +60 -0
- package/dist/artifacts/2-review-mcp-agent-system/researcher/research.md +77 -0
- package/dist/artifacts/2-review-mcp-agent-system/results-acceptance.md +115 -0
- package/dist/artifacts/2-review-mcp-agent-system/task.md +127 -0
- package/dist/artifacts/2-review-mcp-agent-system/verification.md +72 -0
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/analysis.md +139 -0
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/plan.md +146 -0
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/researcher/research.md +142 -0
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/task.md +143 -0
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/verification.md +53 -0
- package/dist/artifacts/2026-01-19-orchestration-init/brief.md +88 -0
- package/dist/artifacts/2026-01-19-orchestration-init/closure.md +80 -0
- package/dist/artifacts/2026-01-19-orchestration-init/implementation.md +20 -0
- package/dist/artifacts/21-portable-agentic-system/researcher/research.md +121 -0
- package/dist/artifacts/21-portable-agentic-system/task.md +115 -0
- package/dist/artifacts/22-standardize-phase-0-artifact/architect/analysis.md +113 -0
- package/dist/artifacts/22-standardize-phase-0-artifact/architect/plan.md +124 -0
- package/dist/artifacts/22-standardize-phase-0-artifact/researcher/research.md +76 -0
- package/dist/artifacts/22-standardize-phase-0-artifact/results.md +36 -0
- package/dist/artifacts/22-standardize-phase-0-artifact/task.md +115 -0
- package/dist/artifacts/22-standardize-phase-0-artifact/verification.md +41 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/acceptance.md +62 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/architect/analysis.md +90 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/architect/plan.md +85 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/audit-report.md +52 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/researcher/research.md +52 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/results.md +31 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/task.md +90 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/verification.md +42 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/analysis.md +64 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/candidate/acceptance.md +68 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/planning.md +79 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/portable-roadmap.md +25 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/researcher/research.md +91 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/task.md +89 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/verification.md +59 -0
- package/dist/artifacts/25-auditoria-omision-gates/acceptance.md +57 -0
- package/dist/artifacts/25-auditoria-omision-gates/brief.md +89 -0
- package/dist/artifacts/25-auditoria-omision-gates/closure.md +88 -0
- package/dist/artifacts/25-auditoria-omision-gates/rca.md +49 -0
- package/dist/artifacts/25-auditoria-omision-gates/task.md +64 -0
- package/dist/artifacts/26-portable-agentic-system/acceptance.md +41 -0
- package/dist/artifacts/26-portable-agentic-system/agent-tasks/1-architect-scaffolding.md +113 -0
- package/dist/artifacts/26-portable-agentic-system/agent-tasks/2-architect-core-migration.md +117 -0
- package/dist/artifacts/26-portable-agentic-system/agent-tasks/3-architect-cli-implementation.md +109 -0
- package/dist/artifacts/26-portable-agentic-system/agent-tasks/4-architect-linking-and-verification.md +104 -0
- package/dist/artifacts/26-portable-agentic-system/analysis.md +117 -0
- package/dist/artifacts/26-portable-agentic-system/architect/review.md +41 -0
- package/dist/artifacts/26-portable-agentic-system/plan.md +146 -0
- package/dist/artifacts/26-portable-agentic-system/researcher/research.md +96 -0
- package/dist/artifacts/26-portable-agentic-system/task.md +50 -0
- package/dist/artifacts/26-portable-agentic-system/verification.md +67 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/acceptance.md +74 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/1-module-agent-update-templates.md +86 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/2-module-agent-update-workflows-long.md +88 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/3-module-agent-update-workflows-short-init.md +89 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/4-module-agent-update-roles.md +85 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/5-module-agent-update-version-manifests.md +84 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/analysis.md +90 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/architect/review.md +44 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/changelog.md +17 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/metrics.md +52 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/plan.md +122 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/researcher/research.md +73 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/results-acceptance.md +51 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/task.md +115 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/verification.md +66 -0
- package/dist/artifacts/28-agent-system-update-conversion/acceptance.md +67 -0
- package/dist/artifacts/28-agent-system-update-conversion/agent-tasks/1-tooling-agent-migration-infrastructure.md +88 -0
- package/dist/artifacts/28-agent-system-update-conversion/agent-tasks/2-tooling-agent-content-transformer.md +87 -0
- package/dist/artifacts/28-agent-system-update-conversion/agent-tasks/3-tooling-agent-cli-wizard-integration.md +86 -0
- package/dist/artifacts/28-agent-system-update-conversion/analysis.md +153 -0
- package/dist/artifacts/28-agent-system-update-conversion/architect/review.md +93 -0
- package/dist/artifacts/28-agent-system-update-conversion/metrics.md +43 -0
- package/dist/artifacts/28-agent-system-update-conversion/plan.md +153 -0
- package/dist/artifacts/28-agent-system-update-conversion/researcher/research.md +66 -0
- package/dist/artifacts/28-agent-system-update-conversion/results-acceptance.md +125 -0
- package/dist/artifacts/28-agent-system-update-conversion/task.md +103 -0
- package/dist/artifacts/28-agent-system-update-conversion/verification.md +60 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/acceptance.md +38 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/1-tooling-agent-core-resolver.md +85 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/2-tooling-agent-init-refactor.md +90 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/3-tooling-agent-scaffolding-system.md +92 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/4-architect-agents-md-trail.md +84 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/5-tooling-agent-mcp-server.md +92 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/6-architect-neo-agent-birth.md +85 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/analysis.md +119 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/architect/review.md +46 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/plan.md +95 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/researcher/research.md +68 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/results-acceptance.md +59 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/task.md +99 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/verification.md +54 -0
- package/dist/artifacts/3-developer-feedback-gate/acceptance-criteria.md +18 -0
- package/dist/artifacts/3-developer-feedback-gate/analysis.md +27 -0
- package/dist/artifacts/3-developer-feedback-gate/changelog.md +10 -0
- package/dist/artifacts/3-developer-feedback-gate/implementation_plan.md +32 -0
- package/dist/artifacts/3-developer-feedback-gate/init.md +13 -0
- package/dist/artifacts/3-developer-feedback-gate/metrics.md +34 -0
- package/dist/artifacts/3-developer-feedback-gate/research.md +28 -0
- package/dist/artifacts/3-developer-feedback-gate/results-acceptance.md +17 -0
- package/dist/artifacts/3-developer-feedback-gate/task.md +17 -0
- package/dist/artifacts/3-developer-feedback-gate/verification.md +35 -0
- package/dist/artifacts/30-task-execution-protocol-gates/acceptance.md +46 -0
- package/dist/artifacts/30-task-execution-protocol-gates/researcher/research.md +34 -0
- package/dist/artifacts/30-task-execution-protocol-gates/task.md +77 -0
- package/dist/artifacts/4-adr-workflows-modulos/adr.md +380 -0
- package/dist/artifacts/4-adr-workflows-modulos/analysis.md +353 -0
- package/dist/artifacts/4-adr-workflows-modulos/plan.md +301 -0
- package/dist/artifacts/4-adr-workflows-modulos/researcher/research.md +253 -0
- package/dist/artifacts/4-adr-workflows-modulos/results.md +202 -0
- package/dist/artifacts/4-adr-workflows-modulos/task.md +143 -0
- package/dist/artifacts/4-adr-workflows-modulos/verification.md +123 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/analysis.md +169 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/architect/review.md +105 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/architect/subtask-implementation.md +90 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/changelog.md +7 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/metrics.md +34 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/plan.md +163 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/researcher/research.md +105 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/results-acceptance.md +153 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/task.md +147 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/verification.md +79 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/analysis.md +153 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/architect/review.md +103 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/architect/subtask-implementation.md +79 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/changelog.md +8 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/metrics.md +34 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/plan.md +131 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/researcher/research.md +86 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/results-acceptance.md +108 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/task.md +147 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/verification.md +74 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/whitelist.txt +33 -0
- package/dist/artifacts/7-modules-globals-constants/analysis.md +205 -0
- package/dist/artifacts/7-modules-globals-constants/architect/review.md +110 -0
- package/dist/artifacts/7-modules-globals-constants/metrics.md +45 -0
- package/dist/artifacts/7-modules-globals-constants/plan.md +276 -0
- package/dist/artifacts/7-modules-globals-constants/researcher/research.md +247 -0
- package/dist/artifacts/7-modules-globals-constants/task.md +112 -0
- package/dist/artifacts/7-modules-globals-constants/verification.md +76 -0
- package/dist/artifacts/8-module-workflow-refactor/analysis.md +131 -0
- package/dist/artifacts/8-module-workflow-refactor/changelog.md +24 -0
- package/dist/artifacts/8-module-workflow-refactor/metrics.md +37 -0
- package/dist/artifacts/8-module-workflow-refactor/plan.md +193 -0
- package/dist/artifacts/8-module-workflow-refactor/researcher/research.md +222 -0
- package/dist/artifacts/8-module-workflow-refactor/results.md +112 -0
- package/dist/artifacts/8-module-workflow-refactor/review.md +76 -0
- package/dist/artifacts/8-module-workflow-refactor/task.md +154 -0
- package/dist/artifacts/8-module-workflow-refactor/verification.md +76 -0
- package/dist/artifacts/8-module-workflow-refactor/walkthrough.md +64 -0
- package/dist/artifacts/9-build-stabilization/analysis.md +62 -0
- package/dist/artifacts/9-build-stabilization/metrics.md +11 -0
- package/dist/artifacts/9-build-stabilization/plan.md +82 -0
- package/dist/artifacts/9-build-stabilization/researcher/research.md +102 -0
- package/dist/artifacts/9-build-stabilization/task.md +23 -0
- package/dist/artifacts/9-build-stabilization/walkthrough.md +56 -0
- package/dist/artifacts/candidate/init.md +34 -0
- package/dist/artifacts/candidate/task.md +24 -0
- package/dist/artifacts/index.md +31 -10
- package/dist/cli/commands/init.js +31 -137
- package/dist/cli/commands/restore.js +4 -11
- package/dist/core/migration/backup.js +2 -3
- package/dist/core/utils/backup.js +3 -24
- package/dist/index.md +57 -0
- package/dist/metrics/agent-scores.md +30 -0
- package/dist/metrics/agents.json +106 -0
- package/dist/metrics/index.md +23 -0
- package/dist/rules/constitution/GEMINI.location.md +17 -14
- package/dist/rules/constitution/agents-behavior.md +111 -107
- package/dist/rules/constitution/clean-code.md +65 -13
- package/dist/rules/constitution/drivers.md +294 -0
- package/dist/rules/constitution/extensio-architecture.md +131 -0
- package/dist/rules/constitution/index.md +20 -17
- package/dist/rules/constitution/modules.md +280 -0
- package/dist/rules/constitution/pages.md +454 -0
- package/dist/rules/constitution/shards.md +484 -0
- package/dist/rules/index.md +57 -12
- package/dist/rules/roles/architect.md +128 -28
- package/dist/rules/roles/driver.md +172 -0
- package/dist/rules/roles/index.md +20 -18
- package/dist/rules/roles/module.md +175 -0
- package/dist/rules/roles/neo.md +6 -18
- package/dist/rules/roles/qa.md +195 -8
- package/dist/rules/roles/researcher.md +75 -10
- package/dist/rules/roles/surface.md +60 -0
- package/dist/rules/roles/tooling.md +55 -9
- package/dist/skills/extensio-build/SKILL.md +161 -0
- package/dist/skills/extensio-create-driver/SKILL.md +89 -0
- package/dist/skills/extensio-create-module/SKILL.md +91 -0
- package/dist/skills/extensio-demo/SKILL.md +84 -0
- package/dist/skills/extensio-test/SKILL.md +96 -0
- package/dist/skills/extensio-validate-code/SKILL.md +262 -0
- package/dist/skills/index.md +79 -0
- package/dist/templates/acceptance.md +20 -20
- package/dist/templates/agent-scores.md +7 -11
- package/dist/templates/agent-task.md +60 -63
- package/dist/templates/analysis.md +92 -92
- package/dist/templates/brief.md +49 -49
- package/dist/templates/changelog.md +8 -12
- package/dist/templates/closure.md +28 -28
- package/dist/templates/driver-create.md +116 -0
- package/dist/templates/driver-delete.md +84 -0
- package/dist/templates/driver-refactor.md +94 -0
- package/dist/templates/index.md +14 -11
- package/dist/templates/init.md +0 -12
- package/dist/templates/module-create.md +117 -0
- package/dist/templates/module-delete.md +79 -0
- package/dist/templates/module-refactor.md +87 -0
- package/dist/templates/planning.md +76 -78
- package/dist/templates/research.md +44 -56
- package/dist/templates/results-acceptance.md +94 -106
- package/dist/templates/review.md +61 -62
- package/dist/templates/subtask-implementation.md +30 -35
- package/dist/templates/supplemental-report.md +8 -12
- package/dist/templates/task-metrics.md +14 -15
- package/dist/templates/task.md +15 -19
- package/dist/templates/todo-item.md +23 -27
- package/dist/templates/verification.md +33 -33
- package/dist/todo/001-anadir-seccion-reasoning.md +42 -0
- package/dist/todo/002-anadir-ejemplos-few-shot.md +46 -0
- package/dist/todo/003-explorar-paralelizacion-phase4.md +46 -0
- package/dist/todo/004-portable-agentic-system.md +44 -0
- package/dist/todo/README.md +58 -0
- package/dist/todo/index.md +27 -0
- package/dist/tools/extensio-cli.md +76 -0
- package/dist/tools/index.md +14 -0
- package/dist/tools/run-command.md +42 -0
- package/dist/workflows/drivers/create.md +139 -0
- package/dist/workflows/drivers/delete.md +124 -0
- package/dist/workflows/drivers/index.md +25 -0
- package/dist/workflows/drivers/refactor.md +125 -0
- package/dist/workflows/index.md +17 -29
- package/dist/workflows/init.md +103 -43
- package/dist/workflows/modules/create.md +160 -0
- package/dist/workflows/modules/delete.md +121 -0
- package/dist/workflows/modules/index.md +27 -0
- package/dist/workflows/modules/pages.create.md +234 -0
- package/dist/workflows/modules/refactor.md +122 -0
- package/dist/workflows/modules/shards.create.md +215 -0
- package/dist/workflows/tasklifecycle-long/index.md +86 -90
- package/dist/workflows/tasklifecycle-long/phase-0-acceptance-criteria.md +130 -118
- package/dist/workflows/tasklifecycle-long/phase-1-research.md +104 -105
- package/dist/workflows/tasklifecycle-long/phase-2-analysis.md +120 -97
- package/dist/workflows/tasklifecycle-long/phase-3-planning.md +136 -75
- package/dist/workflows/tasklifecycle-long/phase-4-implementation.md +163 -73
- package/dist/workflows/tasklifecycle-long/phase-5-verification.md +136 -45
- package/dist/workflows/tasklifecycle-long/phase-6-results-acceptance.md +106 -46
- package/dist/workflows/tasklifecycle-long/phase-7-evaluation.md +96 -51
- package/dist/workflows/tasklifecycle-long/phase-8-commit-push.md +108 -51
- package/dist/workflows/tasklifecycle-short/index.md +30 -27
- package/dist/workflows/tasklifecycle-short/short-phase-1-brief.md +80 -39
- package/dist/workflows/tasklifecycle-short/short-phase-2-implementation.md +78 -44
- package/dist/workflows/tasklifecycle-short/short-phase-3-closure.md +81 -44
- package/package.json +3 -3
- package/dist/bootstrap.md +0 -591
- package/dist/rules/constitution/agent-system.md +0 -77
- package/dist/rules/constitution/project-architecture.md +0 -57
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
---
|
|
2
|
+
trigger: model_decision
|
|
3
|
+
description: Se aplica cuando se crean, modifican o auditan módulos, o cuando un agente toma decisiones sobre ellos, garantizando estructura contractual, reactividad y cumplimiento arquitectónico.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
id: constitution.modules
|
|
8
|
+
type: rule
|
|
9
|
+
owner: architect-agent
|
|
10
|
+
version: 2.0.0
|
|
11
|
+
severity: PERMANENT
|
|
12
|
+
scope: global
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# CONSTITUTION: Módulos (Extensio)
|
|
16
|
+
|
|
17
|
+
## Objetivo
|
|
18
|
+
Este documento define **reglas obligatorias** y contractuales para los módulos de Extensio.
|
|
19
|
+
Todo módulo **DEBE** cumplir estas reglas.
|
|
20
|
+
El `role.module-agent` **DEBE** auditar y hacer cumplir este contrato.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 1. Definición (qué es un módulo)
|
|
25
|
+
|
|
26
|
+
Un módulo es una **unidad de negocio** que organiza lógica reactiva y persistente.
|
|
27
|
+
|
|
28
|
+
Un módulo:
|
|
29
|
+
- Gobierna un dominio funcional concreto
|
|
30
|
+
- Expone un estado reactivo propio
|
|
31
|
+
- Interactúa con drivers mediante APIs
|
|
32
|
+
|
|
33
|
+
Un módulo **NO**:
|
|
34
|
+
- Es UI (las Surfaces son sus vistas)
|
|
35
|
+
- Contiene drivers (los consume como puertos)
|
|
36
|
+
- Depende de otros módulos
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 2. Scopes del Módulo
|
|
41
|
+
|
|
42
|
+
| Scope | Obligatorio | Descripción |
|
|
43
|
+
|-------|-------------|-------------|
|
|
44
|
+
| **Engine** | ✅ Sí | Componente central. Se ejecuta en Service Worker. Gestiona estado reactivo. |
|
|
45
|
+
| **Context** | ❌ Opcional | Extensión del Engine para lógica que requiere DOM o APIs no disponibles en SW. |
|
|
46
|
+
| **Surfaces** | ❌ Opcional | Capa visual: Pages (documentos) y Shards (componentes). |
|
|
47
|
+
|
|
48
|
+
**Regla**: Si existe Context o Surfaces, **DEBE** documentarse el motivo y relación con Engine.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 3. Estructura Obligatoria
|
|
53
|
+
|
|
54
|
+
Cada módulo **DEBE** seguir esta estructura mínima:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
packages/modules/<module-name>/
|
|
58
|
+
├── src/
|
|
59
|
+
│ ├── index.mts # Entry point público
|
|
60
|
+
│ ├── types.d.mts # Tipos locales del módulo
|
|
61
|
+
│ ├── constants.mts # Constantes tipadas
|
|
62
|
+
│ ├── engine/
|
|
63
|
+
│ │ └── index.mts # Engine del módulo (OBLIGATORIO)
|
|
64
|
+
│ ├── context/ # (si aplica)
|
|
65
|
+
│ │ └── index.mts
|
|
66
|
+
│ └── surface/
|
|
67
|
+
│ ├── pages/
|
|
68
|
+
│ │ └── index.mts # Índice de Pages (si usa Pages)
|
|
69
|
+
│ └── shards/
|
|
70
|
+
│ └── index.mts # Registro de Shards (si usa Shards)
|
|
71
|
+
├── package.json
|
|
72
|
+
└── tsconfig.json
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 3.1 Types (`src/types.d.mts`)
|
|
76
|
+
|
|
77
|
+
- El módulo **DEBE** definir sus tipos localmente.
|
|
78
|
+
- Import interno: `import type { X } from '../types.d.mts'`
|
|
79
|
+
- Los módulos **NO** consumen tipos de otros módulos directamente.
|
|
80
|
+
- Tipos consumidos externamente **DEBEN** registrarse en `global.d.mts`:
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
// global.d.mts
|
|
84
|
+
declare global {
|
|
85
|
+
namespace Extensio {
|
|
86
|
+
namespace SessionManager {
|
|
87
|
+
export type SessionState = SessionState;
|
|
88
|
+
export type SessionConfig = SessionConfig;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 3.2 Constants (`src/constants.mts`)
|
|
95
|
+
|
|
96
|
+
- Todo string repetido o enumeración string-based debe centralizarse aquí.
|
|
97
|
+
- Toda enumeración **DEBE** definirse como `Record<string, string>`.
|
|
98
|
+
- Prohibido hardcodear "magic strings" en el código.
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
// constants.mts
|
|
102
|
+
export const SessionStatus = {
|
|
103
|
+
Active: 'active',
|
|
104
|
+
Idle: 'idle',
|
|
105
|
+
Expired: 'expired',
|
|
106
|
+
} as const;
|
|
107
|
+
|
|
108
|
+
export type SessionStatusType = typeof SessionStatus[keyof typeof SessionStatus];
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 3.3 Naming Conventions
|
|
112
|
+
|
|
113
|
+
| Elemento | Convención | Ejemplo |
|
|
114
|
+
|----------|------------|---------|
|
|
115
|
+
| Archivos/carpetas | kebab-case | `session-manager/`, `user-profile.mts` |
|
|
116
|
+
| Clases | PascalCase | `SessionManagerEngine`, `UserProfileContext` |
|
|
117
|
+
| Registro de Shards | kebab-case con guión | `session-manager-widget` |
|
|
118
|
+
| Namespace global | PascalCase | `Extensio.SessionManager` |
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 4. Ciclo de Vida del Módulo (PERMANENT)
|
|
123
|
+
|
|
124
|
+
Todo módulo **DEBE** respetar estrictamente la siguiente secuencia:
|
|
125
|
+
|
|
126
|
+
### Secuencia de Ejecución
|
|
127
|
+
|
|
128
|
+
| # | Método | Tipo | Descripción |
|
|
129
|
+
|---|--------|------|-------------|
|
|
130
|
+
| 1 | `run()` | Público | Único punto de entrada. Inicia el ciclo completo. |
|
|
131
|
+
| 2 | `_setup()` | Privado (Core) | Inicializa infraestructura reactiva. **NO sobrescribir.** |
|
|
132
|
+
| 3 | `_listen()` | Privado (Core) | Registra listeners internos del framework. **NO sobrescribir.** |
|
|
133
|
+
| 4 | `setup()` | Público | Configuración del dominio. **NO acceder a props persistentes.** |
|
|
134
|
+
| 5 | `listen()` | Público | Registro de listeners con `@onChanged`. **NO lógica de negocio.** |
|
|
135
|
+
| 6 | `loadProps()` | Interno | Carga propiedades persistentes desde storage. |
|
|
136
|
+
| 7 | `start()` | Público | Ejecución inicial. **PUEDE** leer props y ejecutar lógica. |
|
|
137
|
+
|
|
138
|
+
### Reglas del Ciclo de Vida
|
|
139
|
+
|
|
140
|
+
- `run()` es el **único** punto de arranque.
|
|
141
|
+
- `_setup()` y `_listen()` son privados y gestionados por Core.
|
|
142
|
+
- `setup()` y `listen()` **NO DEBEN** acceder a estado persistente.
|
|
143
|
+
- `start()` es el primer punto donde se puede leer estado y ejecutar lógica inicial.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## 5. Reactividad (PERMANENT)
|
|
148
|
+
|
|
149
|
+
### Decoradores Obligatorios
|
|
150
|
+
|
|
151
|
+
| Decorador | Uso | Regla |
|
|
152
|
+
|-----------|-----|-------|
|
|
153
|
+
| `@property` | Declarar propiedades persistentes | **OBLIGATORIO** para todo estado reactivo |
|
|
154
|
+
| `@onChanged` | Reaccionar a cambios de propiedades | **OBLIGATORIO** para listeners |
|
|
155
|
+
|
|
156
|
+
### Sincronización
|
|
157
|
+
|
|
158
|
+
En clases que extienden de Core (Engine, Context):
|
|
159
|
+
- **OBLIGATORIO** usar `await this.waitingLoadProps()` si un listener accede a props reactivas.
|
|
160
|
+
|
|
161
|
+
```ts
|
|
162
|
+
@onChanged('session')
|
|
163
|
+
async onSessionChanged(value: SessionState) {
|
|
164
|
+
await this.waitingLoadProps();
|
|
165
|
+
// Ahora es seguro acceder a otras props
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## 6. Aislamiento (PERMANENT)
|
|
172
|
+
|
|
173
|
+
- Un módulo **NO PUEDE** depender de otro módulo.
|
|
174
|
+
- No se permiten dependencias cruzadas (ni directas ni indirectas).
|
|
175
|
+
- Los drivers se consumen como **puertos de acceso**, sin acoplamiento conceptual.
|
|
176
|
+
- El módulo **NO CONOCE** la implementación interna del driver.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## 7. Integración con Surfaces
|
|
181
|
+
|
|
182
|
+
### 7.1 Pages (`src/surface/pages/index.mts`)
|
|
183
|
+
|
|
184
|
+
Si el módulo define Pages:
|
|
185
|
+
- Este archivo es **OBLIGATORIO**.
|
|
186
|
+
- **Responsabilidad**: Importar archivos `.html` y exportar URLs resueltas.
|
|
187
|
+
|
|
188
|
+
```ts
|
|
189
|
+
// src/surface/pages/index.mts
|
|
190
|
+
import dashboard from "./dashboard/dashboard.html";
|
|
191
|
+
export const Pages = { dashboard };
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
- El Engine debe importar este índice para que el CLI detecte las páginas.
|
|
195
|
+
|
|
196
|
+
### 7.2 Shards (`src/surface/shards/index.mts`)
|
|
197
|
+
|
|
198
|
+
Si el módulo implementa Shards:
|
|
199
|
+
- Este archivo es **OBLIGATORIO**.
|
|
200
|
+
- **Único lugar** donde se registran los WebComponents.
|
|
201
|
+
- Usar `Shard.register(tagName, ComponentClass)`.
|
|
202
|
+
|
|
203
|
+
```ts
|
|
204
|
+
// src/surface/shards/index.mts
|
|
205
|
+
import { Shard } from '@extensio/core/shard';
|
|
206
|
+
import { MyShard } from './my-shard.mts';
|
|
207
|
+
|
|
208
|
+
Shard.register('my-module-shard', MyShard);
|
|
209
|
+
export { MyShard };
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
- El Engine debe importar los Shards para que el CLI los compile independientemente.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## 8. Tooling
|
|
217
|
+
|
|
218
|
+
- Los módulos **DEBEN** generarse con `mcp_extensio-cli` cuando esté disponible.
|
|
219
|
+
- Si no existe soporte CLI, la creación manual es válida solo si:
|
|
220
|
+
- Cumple este contrato
|
|
221
|
+
- Queda registrada como lección aprendida
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 9. Auditoría
|
|
226
|
+
|
|
227
|
+
Criterios mínimos de auditoría para un módulo:
|
|
228
|
+
|
|
229
|
+
| Criterio | Verificación |
|
|
230
|
+
|----------|--------------|
|
|
231
|
+
| Estructura de carpetas | Conforme a §3 |
|
|
232
|
+
| Ciclo de vida | Conforme a §4 |
|
|
233
|
+
| Reactividad | `@property` y `@onChanged` correctos |
|
|
234
|
+
| Types/Constants | Aislados en sus archivos |
|
|
235
|
+
| Aislamiento | Sin dependencias cruzadas |
|
|
236
|
+
| Surfaces indexadas | Si aplica, conforme a §7 |
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## 10. Severidad
|
|
241
|
+
|
|
242
|
+
Cualquier violación de:
|
|
243
|
+
- Estructura (§3)
|
|
244
|
+
- Ciclo de vida (§4)
|
|
245
|
+
- Reactividad (§5)
|
|
246
|
+
- Aislamiento (§6)
|
|
247
|
+
|
|
248
|
+
se considera **SEVERITY: HIGH** y bloquea la validación del módulo.
|
|
249
|
+
|
|
250
|
+
---
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
---
|
|
2
|
+
trigger: model_decision
|
|
3
|
+
description: Se aplica cuando se crean, modifican o auditan Pages, o cuando un agente toma decisiones sobre ellas, garantizando estructura contractual, ciclo de vida y cumplimiento arquitectónico.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
id: constitution.pages
|
|
8
|
+
type: rule
|
|
9
|
+
owner: architect-agent
|
|
10
|
+
version: 2.1.0
|
|
11
|
+
severity: PERMANENT
|
|
12
|
+
scope: global
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# CONSTITUTION: Pages (Extensio)
|
|
16
|
+
|
|
17
|
+
## Objetivo
|
|
18
|
+
Este documento define **reglas obligatorias** y contractuales para las Pages de Extensio.
|
|
19
|
+
Toda Page **DEBE** cumplir estas reglas.
|
|
20
|
+
Los agentes **DEBEN** auditar y hacer cumplir este contrato.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 1. Definición (qué es una Page)
|
|
25
|
+
|
|
26
|
+
Una Page es una **Surface de nivel superior** que representa un documento HTML completo dentro de la extensión.
|
|
27
|
+
|
|
28
|
+
Una Page:
|
|
29
|
+
- Es un documento HTML que vive dentro de la extensión
|
|
30
|
+
- Se renderiza en su propio contexto (popup, tab, panel)
|
|
31
|
+
- Hereda de la clase `Page` que extiende `Surface` → `Core`
|
|
32
|
+
- Carga JavaScript mediante `<script type="module" src="...">`
|
|
33
|
+
- Puede tener de 1 a N scripts asociados
|
|
34
|
+
- Sigue el ciclo de vida estándar de Extensio: `run()` → `listen()` → `start()`
|
|
35
|
+
|
|
36
|
+
Una Page **NO**:
|
|
37
|
+
- Contiene lógica de negocio (eso es responsabilidad del Engine)
|
|
38
|
+
- Accede directamente al estado del módulo sin usar el sistema reactivo
|
|
39
|
+
- Se instancia directamente; se navega mediante `Engine.navigate()`
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 2. Jerarquía de Clases
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Core
|
|
47
|
+
└── Surface (clase abstracta)
|
|
48
|
+
└── Page (clase concreta)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Clase Base: `Surface`
|
|
52
|
+
|
|
53
|
+
La clase `Surface` extiende `Core` y añade:
|
|
54
|
+
- Hooks DOM: `onMount()` (inicia ciclo con `run()`), `onUnmount()` (cleanup)
|
|
55
|
+
- Listener de Storage: `onStorageChanged()`, `checkListeners()`
|
|
56
|
+
- El sistema reactivo (`@property`, `@onChanged`) viene de `Core`
|
|
57
|
+
|
|
58
|
+
### Clase: `Page`
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
import { Surface } from '../surface.mts';
|
|
62
|
+
import { Scope } from '../../constants.mts';
|
|
63
|
+
|
|
64
|
+
export class Page extends Surface {
|
|
65
|
+
constructor(name: string, scope: string = Scope.Page) {
|
|
66
|
+
super(name, scope);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 3. Estructura Obligatoria
|
|
74
|
+
|
|
75
|
+
Cada Page **DEBE** seguir esta estructura dentro del módulo:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
packages/modules/<module-name>/
|
|
79
|
+
└── src/
|
|
80
|
+
└── surface/
|
|
81
|
+
└── pages/
|
|
82
|
+
├── index.mts # Índice de Pages (OBLIGATORIO)
|
|
83
|
+
└── <page-name>/
|
|
84
|
+
├── index.html # Documento HTML
|
|
85
|
+
├── index.mts # Script principal (lógica de la Page)
|
|
86
|
+
└── styles.css # Estilos (opcional)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 3.1 Índice de Pages (`src/surface/pages/index.mts`)
|
|
90
|
+
|
|
91
|
+
Este archivo es **OBLIGATORIO** si el módulo define Pages.
|
|
92
|
+
|
|
93
|
+
**Responsabilidad**:
|
|
94
|
+
- Importar todos los archivos `.html` del módulo
|
|
95
|
+
- Exportar las URLs resueltas para uso con `navigate()`
|
|
96
|
+
- Permitir al CLI detectar y procesar las páginas
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
// src/surface/pages/index.mts
|
|
100
|
+
import dashboard from "./dashboard/index.html";
|
|
101
|
+
import settings from "./settings/index.html";
|
|
102
|
+
|
|
103
|
+
export const Pages = {
|
|
104
|
+
dashboard,
|
|
105
|
+
settings,
|
|
106
|
+
};
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
> **IMPORTANTE**: El import de un `.html` es transformado por el CLI en una URL runtime.
|
|
110
|
+
> El valor exportado es un `string` (la URL), **NO** un objeto JavaScript.
|
|
111
|
+
|
|
112
|
+
### 3.2 Documento HTML (`index.html`)
|
|
113
|
+
|
|
114
|
+
El archivo HTML **DEBE**:
|
|
115
|
+
- Ser un documento HTML5 válido
|
|
116
|
+
- Incluir al menos un `<script type="module" src="...">` que cargue el entry point
|
|
117
|
+
- No contener lógica inline (todo en archivos externos)
|
|
118
|
+
|
|
119
|
+
```html
|
|
120
|
+
<!DOCTYPE html>
|
|
121
|
+
<html lang="en">
|
|
122
|
+
<head>
|
|
123
|
+
<meta charset="UTF-8">
|
|
124
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
125
|
+
<title>Dashboard</title>
|
|
126
|
+
<link rel="stylesheet" href="./styles.css">
|
|
127
|
+
</head>
|
|
128
|
+
<body>
|
|
129
|
+
<div id="app"></div>
|
|
130
|
+
<script type="module" src="./index.mts"></script>
|
|
131
|
+
</body>
|
|
132
|
+
</html>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 3.3 Script Principal (`index.mts`)
|
|
136
|
+
|
|
137
|
+
El script de entrada **DEBE**:
|
|
138
|
+
- Extender la clase `Page`
|
|
139
|
+
- Implementar el ciclo de vida de Extensio
|
|
140
|
+
- Llamar a `run()` para iniciar
|
|
141
|
+
|
|
142
|
+
```ts
|
|
143
|
+
// index.mts
|
|
144
|
+
import { Page } from '@extensio/core/surface/pages';
|
|
145
|
+
|
|
146
|
+
class DashboardPage extends Page {
|
|
147
|
+
constructor() {
|
|
148
|
+
super('dashboard-page');
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Opcional: configurar listeners de eventos/drivers
|
|
152
|
+
override listen() {
|
|
153
|
+
super.listen();
|
|
154
|
+
// Registrar listeners aquí
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// Punto de entrada principal - se ejecuta después de cargar props
|
|
158
|
+
override start() {
|
|
159
|
+
this.render();
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
private render() {
|
|
163
|
+
const app = document.getElementById('app');
|
|
164
|
+
if (app) {
|
|
165
|
+
app.innerHTML = '<h1>Dashboard</h1>';
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// Iniciar la Page
|
|
171
|
+
const page = new DashboardPage();
|
|
172
|
+
page.run();
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## 4. Ciclo de Vida de una Page
|
|
178
|
+
|
|
179
|
+
El ciclo de vida de una Page sigue el patrón estándar de Extensio:
|
|
180
|
+
|
|
181
|
+
### 4.1 Secuencia de Ejecución
|
|
182
|
+
|
|
183
|
+
| # | Método | Tipo | Descripción |
|
|
184
|
+
|---|--------|------|-------------|
|
|
185
|
+
| 1 | `constructor()` | Público | Inicializa la Page con nombre |
|
|
186
|
+
| 2 | `run()` | Público | **Punto de entrada**. Inicia el ciclo de vida completo. |
|
|
187
|
+
| 3 | `_setup()` | Privado (Core) | Inicializa infraestructura reactiva. Llama a `_listen()`, `listen()`, `loadProps()`. |
|
|
188
|
+
| 4 | `_listen()` | Privado (Surface) | Registra listener de Storage |
|
|
189
|
+
| 5 | `listen()` | Público | Punto para registrar listeners de eventos y drivers |
|
|
190
|
+
| 6 | `loadProps()` | Interno | Carga propiedades persistentes |
|
|
191
|
+
| 7 | `start()` | Público | **Método principal**. Aquí se ejecuta la lógica de la Page. |
|
|
192
|
+
|
|
193
|
+
### 4.2 Reglas del Ciclo de Vida
|
|
194
|
+
|
|
195
|
+
- `run()` es el **único** punto de arranque de la Page
|
|
196
|
+
- `listen()` es para registrar listeners, **NO** para lógica de negocio
|
|
197
|
+
- `start()` es el primer punto donde se puede leer estado y renderizar
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## 5. Navegación
|
|
202
|
+
|
|
203
|
+
### 5.1 Cargar una Page desde el Engine
|
|
204
|
+
|
|
205
|
+
Las Pages se cargan mediante el método `navigate()` del Engine:
|
|
206
|
+
|
|
207
|
+
```ts
|
|
208
|
+
// En el Engine
|
|
209
|
+
import { Pages } from './surface/pages/index.mts';
|
|
210
|
+
|
|
211
|
+
// Navegar a una Page de la extensión
|
|
212
|
+
// Pages.dashboard es un STRING (la URL del HTML)
|
|
213
|
+
await this.navigate(Pages.dashboard);
|
|
214
|
+
|
|
215
|
+
// Navegar con opciones
|
|
216
|
+
await this.navigate(Pages.settings, {
|
|
217
|
+
type: 'popup',
|
|
218
|
+
rect: { width: 400, height: 600 },
|
|
219
|
+
active: true,
|
|
220
|
+
});
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
> **NOTA**: `navigate()` recibe el **path del HTML** (string), nunca un objeto JavaScript.
|
|
224
|
+
|
|
225
|
+
### 5.2 Cómo funciona `navigate()`
|
|
226
|
+
|
|
227
|
+
```ts
|
|
228
|
+
public async navigate(url: string | { default: string }, options?: NavigationOptions) {
|
|
229
|
+
const resolvedUrl = typeof url === 'object' && 'default' in url
|
|
230
|
+
? url.default
|
|
231
|
+
: this.getUrl(url as string);
|
|
232
|
+
|
|
233
|
+
return Navigation.open(resolvedUrl, options);
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
El método acepta:
|
|
238
|
+
- Un `string` directo (URL o path)
|
|
239
|
+
- Un objeto con `{ default: string }` (para compatibilidad con imports)
|
|
240
|
+
|
|
241
|
+
### 5.3 NavigationOptions
|
|
242
|
+
|
|
243
|
+
| Opción | Tipo | Default | Descripción |
|
|
244
|
+
|--------|------|---------|-------------|
|
|
245
|
+
| `type` | `'regular' \| 'popup'` | `'regular'` | Tipo de ventana |
|
|
246
|
+
| `rect.width` | `number` | - | Ancho de la ventana (solo popup) |
|
|
247
|
+
| `rect.height` | `number` | - | Alto de la ventana (solo popup) |
|
|
248
|
+
| `rect.top` | `number` | - | Posición Y (solo popup) |
|
|
249
|
+
| `rect.left` | `number` | - | Posición X (solo popup) |
|
|
250
|
+
| `active` | `boolean` | `true` | Si la ventana debe tener foco |
|
|
251
|
+
|
|
252
|
+
### 5.4 Escuchar Navegación (onNavigate)
|
|
253
|
+
|
|
254
|
+
Cada Engine tiene un listener `onNavigate` que captura eventos de navegación:
|
|
255
|
+
|
|
256
|
+
```ts
|
|
257
|
+
// En el Engine
|
|
258
|
+
override onNavigate(event: NavigationEvent) {
|
|
259
|
+
console.log('Navegación detectada:', event);
|
|
260
|
+
|
|
261
|
+
if (event.isExtensionPage) {
|
|
262
|
+
// Es una Page de la extensión
|
|
263
|
+
} else {
|
|
264
|
+
// Es una URL externa
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### 5.5 NavigationEvent
|
|
270
|
+
|
|
271
|
+
| Campo | Tipo | Descripción |
|
|
272
|
+
|-------|------|-------------|
|
|
273
|
+
| `event` | `string` | Tipo de evento: `'load'`, `'focus'`, `'window'` |
|
|
274
|
+
| `url` | `string` | URL de la página |
|
|
275
|
+
| `title` | `string?` | Título de la página |
|
|
276
|
+
| `tabId` | `number` | ID del tab |
|
|
277
|
+
| `windowId` | `number` | ID de la ventana |
|
|
278
|
+
| `isExtensionPage` | `boolean` | `true` si es una Page de la extensión |
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## 6. Integración con Shards (PENDIENTE)
|
|
283
|
+
|
|
284
|
+
> **NOTA**: Esta funcionalidad está pendiente de implementar en Core.
|
|
285
|
+
|
|
286
|
+
Una Page **PODRÁ**:
|
|
287
|
+
- Registrar Shards locales
|
|
288
|
+
- Cargar Shards dinámicamente en su DOM
|
|
289
|
+
- Comunicarse con Shards mediante el sistema reactivo
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## 7. Build y Compilación
|
|
294
|
+
|
|
295
|
+
### 7.1 Plugin `surface-pages`
|
|
296
|
+
|
|
297
|
+
El CLI usa el plugin `surface-pages` para procesar Pages:
|
|
298
|
+
|
|
299
|
+
1. **Detección**: Intercepta imports de archivos `.html`
|
|
300
|
+
2. **Parsing**: Lee el HTML y busca `<script src="...">`
|
|
301
|
+
3. **Compilación**: Compila cada script como módulo ES (`.mjs`)
|
|
302
|
+
4. **Transformación**: Actualiza las referencias en el HTML de `.mts/.ts` a `.mjs`
|
|
303
|
+
5. **Copia**: Escribe el HTML transformado en `dist/`
|
|
304
|
+
6. **Export**: Retorna la URL runtime del HTML
|
|
305
|
+
|
|
306
|
+
### 7.2 Transformación del Import
|
|
307
|
+
|
|
308
|
+
```ts
|
|
309
|
+
// Código fuente
|
|
310
|
+
import dashboard from "./dashboard/index.html";
|
|
311
|
+
|
|
312
|
+
// Código transformado por el CLI
|
|
313
|
+
const runtimeUrl = globalThis.Extension?.Runtime?.getURL("surface/pages/dashboard/index.html") || "surface/pages/dashboard/index.html";
|
|
314
|
+
export default runtimeUrl;
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### 7.3 Output
|
|
318
|
+
|
|
319
|
+
```
|
|
320
|
+
dist/
|
|
321
|
+
└── surface/
|
|
322
|
+
└── pages/
|
|
323
|
+
└── dashboard/
|
|
324
|
+
├── index.html # HTML con referencias actualizadas
|
|
325
|
+
├── index.mjs # Script compilado
|
|
326
|
+
└── styles.css # Estilos copiados
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## 8. Naming Conventions
|
|
332
|
+
|
|
333
|
+
| Elemento | Convención | Ejemplo |
|
|
334
|
+
|----------|------------|---------|
|
|
335
|
+
| Carpeta de Page | kebab-case | `user-settings/` |
|
|
336
|
+
| Archivo HTML | `index.html` | `index.html` |
|
|
337
|
+
| Archivo Script | `index.mts` | `index.mts` |
|
|
338
|
+
| Clase Page | PascalCase + `Page` | `UserSettingsPage` |
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## 9. Auditoría
|
|
343
|
+
|
|
344
|
+
Criterios mínimos de auditoría para una Page:
|
|
345
|
+
|
|
346
|
+
| Criterio | Verificación |
|
|
347
|
+
|----------|--------------|
|
|
348
|
+
| Estructura | Conforme a §3 |
|
|
349
|
+
| Índice de Pages | Existe y exporta la Page |
|
|
350
|
+
| HTML válido | Documento HTML5 con `<script type="module">` |
|
|
351
|
+
| Ciclo de vida | Extiende `Page`, usa `run()` y `start()` |
|
|
352
|
+
| Navegación | Se carga mediante `Engine.navigate()` |
|
|
353
|
+
| No lógica de negocio | Solo UI y comunicación reactiva |
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
357
|
+
## 10. Severidad
|
|
358
|
+
|
|
359
|
+
Cualquier violación de:
|
|
360
|
+
- Estructura (§3)
|
|
361
|
+
- Ciclo de vida (§4)
|
|
362
|
+
- Navegación (§5)
|
|
363
|
+
|
|
364
|
+
se considera **SEVERITY: HIGH** y bloquea la validación de la Page.
|
|
365
|
+
|
|
366
|
+
---
|