sistema-multiagente-sdlc 1.3.0 → 1.6.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/CHANGELOG.md +60 -1
- package/README.md +257 -105
- package/migrations/1.4.0/README.md +8 -0
- package/migrations/1.4.0/up.mjs +14 -0
- package/migrations/1.5.0/README.md +3 -0
- package/migrations/1.5.0/up.mjs +14 -0
- package/migrations/1.6.0/README.md +7 -0
- package/migrations/1.6.0/up.mjs +14 -0
- package/package.json +20 -6
- package/phase-contract.yaml +194 -0
- package/profiles/full-harness.yaml +30 -0
- package/schemas/phase-evidence.schema.json +73 -0
- package/scripts/validate-mustache-references-exist.mjs +1 -0
- package/src/cli.js +42 -2
- package/src/harness.js +367 -0
- package/src/migrations.js +7 -1
- package/src/render.js +77 -4
- package/src/runtime.js +483 -0
- package/templates/.agents/skills/continua/SKILL.md +8 -0
- package/templates/.agents/skills/resume/SKILL.md +8 -0
- package/templates/.agents/skills/save/SKILL.md +8 -0
- package/templates/.claude/skills/contexto-proyecto/SKILL.md +9 -4
- package/templates/.claude/skills/continua/SKILL.md +18 -0
- package/templates/.claude/skills/enrich-us/SKILL.md +12 -8
- package/templates/.claude/skills/resume/SKILL.md +18 -0
- package/templates/.claude/skills/save/SKILL.md +18 -0
- package/templates/.github/AGENTS.md +4 -0
- package/templates/.github/agents/README.md +7 -1
- package/templates/.github/agents/ownership-matrix.md +5 -0
- package/templates/.github/agents/product-owner-agent.agent.md +25 -0
- package/templates/.github/agents/project-manager-agent.agent.md +25 -0
- package/templates/.github/agents/qa-test-architect-agent.agent.md +25 -0
- package/templates/.github/agents/tech-writer-agent.agent.md +25 -0
- package/templates/.github/agents/ux-designer-agent.agent.md +25 -0
- package/templates/.github/copilot-instructions-greenfield.md +4 -0
- package/templates/.github/copilot-instructions-legacy.md +11 -5
- package/templates/.github/copilot-instructions.md +26 -1
- package/templates/.github/skills/contexto-proyecto/SKILL.md +9 -4
- package/templates/.github/skills/continua/SKILL.md +18 -0
- package/templates/.github/skills/enrich-us/SKILL.md +12 -8
- package/templates/.github/skills/party-mode/SKILL.md +31 -0
- package/templates/.github/skills/resume/SKILL.md +18 -0
- package/templates/.github/skills/save/SKILL.md +18 -0
- package/templates/.sdlc/session.json +8 -0
- package/templates/.windsurf/skills/continua/SKILL.md +8 -0
- package/templates/.windsurf/skills/resume/SKILL.md +8 -0
- package/templates/.windsurf/skills/save/SKILL.md +8 -0
- package/templates/AGENTS.md +2 -0
- package/templates/CLAUDE.md +7 -3
- package/templates/docs/agents/catalogo-comandos-proyecto.md +3 -3
- package/templates/docs/agents/external-tools-matrix.md +83 -16
- package/templates/docs/guides/memoria-persistente-multiagente.md +14 -8
- package/templates/docs/guides/tool-hierarchy-and-profiles.md +141 -0
- package/templates/indice-operativo.md +1 -0
- package/templates/manifest.yaml +46 -0
- package/templates/phases/F0-bootstrap/README.md +12 -0
- package/templates/phases/F0-bootstrap/evidence.template.yaml +14 -0
- package/templates/phases/F0-bootstrap/inputs.template.md +6 -0
- package/templates/phases/F0-bootstrap/outputs.template.md +6 -0
- package/templates/phases/F1-requirements-analysis/README.md +12 -0
- package/templates/phases/F1-requirements-analysis/evidence.template.yaml +14 -0
- package/templates/phases/F1-requirements-analysis/inputs.template.md +6 -0
- package/templates/phases/F1-requirements-analysis/outputs.template.md +6 -0
- package/templates/phases/F10-security/README.md +12 -0
- package/templates/phases/F10-security/evidence.template.yaml +14 -0
- package/templates/phases/F10-security/inputs.template.md +6 -0
- package/templates/phases/F10-security/outputs.template.md +6 -0
- package/templates/phases/F11-commit/README.md +12 -0
- package/templates/phases/F11-commit/evidence.template.yaml +14 -0
- package/templates/phases/F11-commit/inputs.template.md +6 -0
- package/templates/phases/F11-commit/outputs.template.md +6 -0
- package/templates/phases/F12-pr/README.md +12 -0
- package/templates/phases/F12-pr/evidence.template.yaml +14 -0
- package/templates/phases/F12-pr/inputs.template.md +6 -0
- package/templates/phases/F12-pr/outputs.template.md +6 -0
- package/templates/phases/F13-human-gate/README.md +12 -0
- package/templates/phases/F13-human-gate/evidence.template.yaml +14 -0
- package/templates/phases/F13-human-gate/inputs.template.md +6 -0
- package/templates/phases/F13-human-gate/outputs.template.md +6 -0
- package/templates/phases/F14-merge/README.md +12 -0
- package/templates/phases/F14-merge/evidence.template.yaml +14 -0
- package/templates/phases/F14-merge/inputs.template.md +6 -0
- package/templates/phases/F14-merge/outputs.template.md +6 -0
- package/templates/phases/F15-post-merge/README.md +12 -0
- package/templates/phases/F15-post-merge/evidence.template.yaml +14 -0
- package/templates/phases/F15-post-merge/inputs.template.md +6 -0
- package/templates/phases/F15-post-merge/outputs.template.md +6 -0
- package/templates/phases/F16-archive/README.md +12 -0
- package/templates/phases/F16-archive/evidence.template.yaml +14 -0
- package/templates/phases/F16-archive/inputs.template.md +6 -0
- package/templates/phases/F16-archive/outputs.template.md +6 -0
- package/templates/phases/F17-living-docs/README.md +12 -0
- package/templates/phases/F17-living-docs/evidence.template.yaml +14 -0
- package/templates/phases/F17-living-docs/inputs.template.md +6 -0
- package/templates/phases/F17-living-docs/outputs.template.md +6 -0
- package/templates/phases/F2-human-draft-review/README.md +12 -0
- package/templates/phases/F2-human-draft-review/evidence.template.yaml +14 -0
- package/templates/phases/F2-human-draft-review/inputs.template.md +6 -0
- package/templates/phases/F2-human-draft-review/outputs.template.md +6 -0
- package/templates/phases/F3-local-issue-validation/README.md +12 -0
- package/templates/phases/F3-local-issue-validation/evidence.template.yaml +14 -0
- package/templates/phases/F3-local-issue-validation/inputs.template.md +6 -0
- package/templates/phases/F3-local-issue-validation/outputs.template.md +6 -0
- package/templates/phases/F3_5-branch/README.md +12 -0
- package/templates/phases/F3_5-branch/evidence.template.yaml +14 -0
- package/templates/phases/F3_5-branch/inputs.template.md +6 -0
- package/templates/phases/F3_5-branch/outputs.template.md +6 -0
- package/templates/phases/F4-readiness/README.md +12 -0
- package/templates/phases/F4-readiness/evidence.template.yaml +14 -0
- package/templates/phases/F4-readiness/inputs.template.md +6 -0
- package/templates/phases/F4-readiness/outputs.template.md +6 -0
- package/templates/phases/F5-sdd-planning/README.md +12 -0
- package/templates/phases/F5-sdd-planning/evidence.template.yaml +14 -0
- package/templates/phases/F5-sdd-planning/inputs.template.md +6 -0
- package/templates/phases/F5-sdd-planning/outputs.template.md +6 -0
- package/templates/phases/F6-handoff/README.md +12 -0
- package/templates/phases/F6-handoff/evidence.template.yaml +14 -0
- package/templates/phases/F6-handoff/inputs.template.md +6 -0
- package/templates/phases/F6-handoff/outputs.template.md +6 -0
- package/templates/phases/F7-orchestration/README.md +12 -0
- package/templates/phases/F7-orchestration/evidence.template.yaml +14 -0
- package/templates/phases/F7-orchestration/inputs.template.md +6 -0
- package/templates/phases/F7-orchestration/outputs.template.md +6 -0
- package/templates/phases/F8-implementation/README.md +12 -0
- package/templates/phases/F8-implementation/evidence.template.yaml +14 -0
- package/templates/phases/F8-implementation/inputs.template.md +6 -0
- package/templates/phases/F8-implementation/outputs.template.md +6 -0
- package/templates/phases/F9-qa/README.md +12 -0
- package/templates/phases/F9-qa/evidence.template.yaml +14 -0
- package/templates/phases/F9-qa/inputs.template.md +6 -0
- package/templates/phases/F9-qa/outputs.template.md +6 -0
- package/templates/scripts/agent-skills.manifest.json +7 -1
- package/templates/scripts/bootstrap-agent-skills.ps1 +65 -1
- package/templates/scripts/continua.mjs +119 -0
- package/templates/scripts/continua.ps1 +11 -121
- package/templates/scripts/validate-local-gate.mjs +41 -0
- package/templates/scripts/validate-local-gate.ps1 +195 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,65 @@
|
|
|
4
4
|
|
|
5
5
|
_No hay cambios pendientes._
|
|
6
6
|
|
|
7
|
+
## [1.6.0] — 2026-05-26
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- ADR `0005-tool-hierarchy-and-operational-profiles.md`: jerarquía de retrieval y perfiles `LEAN` / `ANALYSIS` / `ORCHESTRATION`.
|
|
12
|
+
- Guía `docs/guides/tool-hierarchy-and-profiles.md` y template instalable equivalente.
|
|
13
|
+
- Migración `1.6.0` con marcador `.sdlc/migrations/1.6.0-applied.txt`.
|
|
14
|
+
- Script template `scripts/validate-local-gate.ps1` para reproducir el control plane antes de push/PR.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- `SDLC_SHARED_RULES` ahora incluye reglas 7-9 para jerarquía de retrieval, perfiles operativos y gate local pre-push/pre-PR.
|
|
19
|
+
- Skills `contexto-proyecto`, `enrich-us` y `party-mode` aplican selección de perfil y límites de herramienta.
|
|
20
|
+
- External tools matrix documenta perfil elegible y cuándo no usar cada herramienta.
|
|
21
|
+
- Workflows de GitHub Actions optan a Node 24 para evitar warnings de acciones JavaScript sobre Node 20.
|
|
22
|
+
|
|
23
|
+
## [1.5.0] — 2026-05-24
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- Harness ejecutable F0-F17 con `phase-contract.yaml`, `schemas/phase-evidence.schema.json` y `templates/phases/F0...F17`.
|
|
28
|
+
- Comandos CLI nuevos: `sdlc phase-gate`, `sdlc governance-check`, `sdlc tools-doctor` y `sdlc pr-body-check`.
|
|
29
|
+
- Bloque `SDLC_SHARED_RULES` con hash para paridad entre `AGENTS.md`, `CLAUDE.md`, `.github/AGENTS.md` y `.github/copilot-instructions.md`.
|
|
30
|
+
- Roles upstream: `product-owner-agent`, `project-manager-agent`, `qa-test-architect-agent`, `tech-writer-agent` y `ux-designer-agent`.
|
|
31
|
+
- Skill `party-mode` anclada a F1/F2/F5 y separación entre QA temprana y `qa-security-review` para F9/F10.
|
|
32
|
+
- Perfil `full-harness` para reportar OpenSpec, Graphify, CodeGraph, Obsidian, Headroom, Caveman, autoskills, Vercel skills, party-mode y pnpm.
|
|
33
|
+
- Migración `1.5.0` con marcador `.sdlc/migrations/1.5.0-applied.txt`.
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
- Migración del desarrollo y workflows del framework a `pnpm@11.3.0`.
|
|
38
|
+
- `resume` y `continua` incorporan lectura del contrato de fase y reportan bloqueos por evidencia faltante.
|
|
39
|
+
- `buildManagedFiles` genera mirrors cross-IDE desde `.github/skills/` para evitar drift entre Claude Code, Codex, Copilot y Windsurf.
|
|
40
|
+
|
|
41
|
+
### Tests
|
|
42
|
+
|
|
43
|
+
- Regresión extendida con smoke tests de `phase-gate`, `governance-check` y `tools-doctor`.
|
|
44
|
+
|
|
45
|
+
## [1.4.0] — 2026-05-24
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
|
|
49
|
+
- ADR `0004-codegraph-graphify-orden-canonico.md`: cierra la decisión pendiente de ADR 0002 y canoniza CodeGraph para estructura de código + Graphify para semántica documental/export Obsidian.
|
|
50
|
+
- Runtime Node multiagente como interfaz canónica: `sdlc session-start`, `resume`, `save`, `continua`, `memory-sync`, `validate-runtime` y `hooks install --post-merge-checkpoint`.
|
|
51
|
+
- `.sdlc/session.json` como estado generado de sesión para healthcheck y continuidad cross-IDE.
|
|
52
|
+
- Skills canónicas `resume`, `save` y `continua` bajo `.github/skills/` y mirrors para `.claude/`, `.agents/` y `.windsurf/`, todas apuntando al mismo CLI `sdlc`.
|
|
53
|
+
- `templates/scripts/continua.mjs` como implementación portable Node de continuidad; `continua.ps1` queda como wrapper Windows delgado.
|
|
54
|
+
- Migración `1.4.0` con marcador `.sdlc/migrations/1.4.0-applied.txt`.
|
|
55
|
+
|
|
56
|
+
### Changed
|
|
57
|
+
|
|
58
|
+
- `sdlc doctor` y el runner de regresión validan la versión `1.4.0`.
|
|
59
|
+
- El manifest de skills gobernadas incluye `resume`, `save` y `continua`.
|
|
60
|
+
- La continuidad multiagente deja de depender de PowerShell como runtime primario; PowerShell queda para compatibilidad en Windows.
|
|
61
|
+
|
|
62
|
+
### Tests
|
|
63
|
+
|
|
64
|
+
- Regresión extendida con smoke tests de `session-start`, `resume`, `save --no-mutate`, `continua`, `memory-sync --mode health`, `validate-runtime` y `hooks install`.
|
|
65
|
+
|
|
7
66
|
## [1.3.0] — 2026-05-23
|
|
8
67
|
|
|
9
68
|
### Added
|
|
@@ -80,7 +139,7 @@ _No hay cambios pendientes._
|
|
|
80
139
|
### Phase 7 — Validators
|
|
81
140
|
|
|
82
141
|
- Agrega 9 validators nuevos: placeholder scripts, politica de herramientas externas, precedencia de gobierno, consistencia de skills, schema de personas, links docs, OpenSpec, Mustache y `models.yaml`.
|
|
83
|
-
- `
|
|
142
|
+
- `pnpm run validate` ahora ejecuta 14 validators en cadena.
|
|
84
143
|
|
|
85
144
|
### Phase 8 — Doctor
|
|
86
145
|
|
package/README.md
CHANGED
|
@@ -1,182 +1,334 @@
|
|
|
1
1
|
# SistemaMultiagente_SDLC
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Framework SDLC asistido por IA con governance enterprise, SDD y enfoque brownfield-first.
|
|
4
4
|
|
|
5
5
|
> BMAD orquesta; SistemaMultiagente_SDLC orquesta y verifica.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Por qué
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Este proyecto instala un SDLC multi-agente gobernado en repos greenfield o legacy. Combina personas de agente reutilizables, flujos OpenSpec/SDD, phase gates, migraciones, validadores, rollback y memoria persistente opcional.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
El modelo operativo es SDD waterfall por slice y ágil por release: cada slice tiene gates explícitos de requisitos, readiness, diseño, implementación, verificación y archivo, mientras los releases permanecen iterativos.
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Inicio rápido
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Flujo con paquete publicado (>=1.2.1):
|
|
16
16
|
|
|
17
17
|
```powershell
|
|
18
18
|
# Desde la raíz del repo destino (cwd = repo).
|
|
19
19
|
# --target es opcional desde v1.2.1: si se omite, se usa el directorio actual.
|
|
20
|
-
npx sistema-multiagente-sdlc init --mode greenfield --project-name "
|
|
20
|
+
npx sistema-multiagente-sdlc init --mode greenfield --project-name "Mi Proyecto"
|
|
21
21
|
|
|
22
22
|
# Smoke previo sin escribir nada:
|
|
23
|
-
npx sistema-multiagente-sdlc init --mode greenfield --project-name "
|
|
23
|
+
npx sistema-multiagente-sdlc init --mode greenfield --project-name "Mi Proyecto" --dry-run --json
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Para v1.2.0 (compatibilidad), el comando equivalente requería `--target` explícito:
|
|
27
27
|
|
|
28
28
|
```powershell
|
|
29
|
-
npx sistema-multiagente-sdlc@1.2.0 init --target . --mode greenfield --project-name "
|
|
29
|
+
npx sistema-multiagente-sdlc@1.2.0 init --target . --mode greenfield --project-name "Mi Proyecto"
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Flujo de desarrollo local:
|
|
33
33
|
|
|
34
34
|
```powershell
|
|
35
35
|
git clone https://github.com/JuanCastrejon/SistemaMultiagente_SDLC.git
|
|
36
36
|
cd SistemaMultiagente_SDLC
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
corepack prepare pnpm@11.3.0 --activate
|
|
38
|
+
pnpm install --frozen-lockfile
|
|
39
|
+
pnpm run validate
|
|
40
|
+
pnpm test
|
|
41
|
+
node ./bin/sdlc.js install --target ../mi-proyecto --mode greenfield --project-name "Mi Proyecto"
|
|
41
42
|
```
|
|
42
43
|
|
|
43
44
|
Legacy/brownfield:
|
|
44
45
|
|
|
45
46
|
```powershell
|
|
46
|
-
node ./bin/sdlc.js install --target ../legacy
|
|
47
|
-
node ./bin/sdlc.js doctor --target ../legacy
|
|
47
|
+
node ./bin/sdlc.js install --target ../proyecto-legacy --mode legacy --project-name "Proyecto Legacy"
|
|
48
|
+
node ./bin/sdlc.js doctor --target ../proyecto-legacy --json
|
|
48
49
|
```
|
|
49
50
|
|
|
50
|
-
##
|
|
51
|
+
## Runtime Multiagente
|
|
51
52
|
|
|
52
|
-
|
|
53
|
+
Desde `1.4.0`, `sdlc` incluye comandos ejecutables para continuidad cross-IDE. El runtime primario es Node; los wrappers PowerShell solo existen para ergonomía Windows.
|
|
54
|
+
|
|
55
|
+
```powershell
|
|
56
|
+
sdlc session-start --target . --json
|
|
57
|
+
sdlc resume --target . --markdown
|
|
58
|
+
sdlc save --target . --event manual --json
|
|
59
|
+
sdlc continua --target . --platform codex --json
|
|
60
|
+
sdlc memory-sync --target . --mode health --json
|
|
61
|
+
sdlc validate-runtime --target . --json
|
|
62
|
+
sdlc hooks install --target . --post-merge-checkpoint --json
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Reglas base:
|
|
66
|
+
|
|
67
|
+
- `session-start` crea `.sdlc/session.json` con healthcheck de Headroom, CodeGraph, Graphify, caveman, vault y slice actual.
|
|
68
|
+
- `resume` es solo lectura y recompone contexto en orden repo → CodeGraph → Graphify → vault.
|
|
69
|
+
- `save` escribe checkpoints locales en el vault; no promueve GitHub Issues, OpenSpec ni PRs sin gate humano.
|
|
70
|
+
- `hooks install --post-merge-checkpoint` instala un hook local `post-merge` que ejecuta `sdlc save --event post-merge`.
|
|
71
|
+
- `memory-sync --mode nightly --apply` importa chats y exporta Graphify al vault; no crea checkpoints automáticos.
|
|
72
|
+
|
|
73
|
+
## Harness Ejecutable F0-F17
|
|
74
|
+
|
|
75
|
+
Desde `1.5.0`, el flujo F0-F17 tiene contrato ejecutable y evidencia por fase.
|
|
76
|
+
|
|
77
|
+
```powershell
|
|
78
|
+
sdlc phase-gate --target . --phase F5 --slice <slice> --json
|
|
79
|
+
sdlc governance-check --target . --json
|
|
80
|
+
sdlc tools-doctor --target . --profile full --json
|
|
81
|
+
sdlc pr-body-check --repo . --pr <number> --json
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Reglas base:
|
|
85
|
+
|
|
86
|
+
- `phase-contract.yaml` declara owner, participantes, entradas, salidas, gate humano y siguiente fase.
|
|
87
|
+
- `.github/agent-state/evidence/<slice>/<phase>.yaml` registra evidencia trazable cuando la fase lo exige.
|
|
88
|
+
- `governance-check` compara el bloque `SDLC_SHARED_RULES` entre IDEs y valida mirrors de skills.
|
|
89
|
+
- `tools-doctor --profile full` reporta el stack de harness completo: OpenSpec, Graphify, CodeGraph, Obsidian, Headroom, Caveman, autoskills, Vercel skills, party-mode y pnpm.
|
|
90
|
+
|
|
91
|
+
## Modos
|
|
92
|
+
|
|
93
|
+
| Modo | Cuándo usar | Qué agrega |
|
|
53
94
|
| --- | --- | --- |
|
|
54
|
-
| `greenfield` |
|
|
55
|
-
| `legacy` |
|
|
95
|
+
| `greenfield` | repo nuevo o inicio limpio de producto | plantillas SDD greenfield y governance |
|
|
96
|
+
| `legacy` | repo existente, migración o modernización brownfield | plantillas de research obligatorio y gates de descubrimiento legacy |
|
|
56
97
|
|
|
57
|
-
##
|
|
98
|
+
## Agentes
|
|
58
99
|
|
|
59
|
-
|
|
|
100
|
+
| Plano | Personas |
|
|
60
101
|
| --- | --- |
|
|
61
102
|
| Control | `planificador-opus`, `orquestador-opus` |
|
|
62
|
-
|
|
|
63
|
-
|
|
|
103
|
+
| Producto/coordinación | `product-owner-agent`, `project-manager-agent` |
|
|
104
|
+
| Definición | `analista-requisitos`, `arquitecto-modular-clean`, `qa-test-architect-agent` |
|
|
105
|
+
| Especialista | `api-nestjs`, `web-admin`, `mobile-sync`, `ux-designer-agent`, `tech-writer-agent` |
|
|
64
106
|
| Gate | `qa-security-review` |
|
|
65
107
|
|
|
66
|
-
##
|
|
108
|
+
## Flujo de Fases
|
|
67
109
|
|
|
68
110
|
```mermaid
|
|
69
111
|
flowchart LR
|
|
70
|
-
F0["F0 Bootstrap"] --> F1["F1
|
|
71
|
-
F1 --> F2["F2
|
|
72
|
-
F2 --> F3["F3
|
|
73
|
-
F3 --> F35["F3.5
|
|
74
|
-
F35 --> F4["F4
|
|
75
|
-
F4 --> F5["F5 SDD
|
|
76
|
-
F5 --> F6["F6
|
|
77
|
-
F6 --> F7["F7
|
|
78
|
-
F7 --> F8["F8
|
|
112
|
+
F0["F0 Bootstrap"] --> F1["F1 Requisitos"]
|
|
113
|
+
F1 --> F2["F2 Revisión humana borrador"]
|
|
114
|
+
F2 --> F3["F3 Issue local"]
|
|
115
|
+
F3 --> F35["F3.5 Rama"]
|
|
116
|
+
F35 --> F4["F4 Handoff readiness"]
|
|
117
|
+
F4 --> F5["F5 Planificación SDD"]
|
|
118
|
+
F5 --> F6["F6 Handoff planificador"]
|
|
119
|
+
F6 --> F7["F7 Orquestación"]
|
|
120
|
+
F7 --> F8["F8 Implementación"]
|
|
79
121
|
F8 --> F9["F9 QA"]
|
|
80
|
-
F9 --> F10["F10
|
|
122
|
+
F9 --> F10["F10 Seguridad"]
|
|
81
123
|
F10 --> F11["F11 Commit"]
|
|
82
124
|
F11 --> F12["F12 PR"]
|
|
83
|
-
F12 --> F13["F13
|
|
125
|
+
F12 --> F13["F13 Gate humano"]
|
|
84
126
|
F13 --> F14["F14 Merge"]
|
|
85
|
-
F14 --> F15["F15
|
|
86
|
-
F15 --> F16["F16
|
|
87
|
-
F16 --> F17["F17 Docs +
|
|
127
|
+
F14 --> F15["F15 Verificación"]
|
|
128
|
+
F15 --> F16["F16 Archivo"]
|
|
129
|
+
F16 --> F17["F17 Docs + trazabilidad"]
|
|
88
130
|
```
|
|
89
131
|
|
|
90
|
-
##
|
|
132
|
+
## Validadores
|
|
133
|
+
|
|
134
|
+
`pnpm run validate` ejecuta los validadores del framework:
|
|
91
135
|
|
|
92
|
-
|
|
136
|
+
- schema de config
|
|
137
|
+
- sin rutas personales
|
|
138
|
+
- sanitización de plantillas
|
|
139
|
+
- sin contenido gestionado inline
|
|
140
|
+
- integridad del manifiesto
|
|
141
|
+
- sin scripts placeholder
|
|
142
|
+
- política de herramientas externas
|
|
143
|
+
- precedencia de governance
|
|
144
|
+
- consistencia del manifiesto de skills
|
|
145
|
+
- schema de persona de agente
|
|
146
|
+
- existencia de links en docs
|
|
147
|
+
- consistencia de OpenSpec
|
|
148
|
+
- existencia de referencias Mustache
|
|
149
|
+
- schema de modelos
|
|
93
150
|
|
|
94
|
-
|
|
95
|
-
- no personal paths
|
|
96
|
-
- template sanitization
|
|
97
|
-
- no inline managed content
|
|
98
|
-
- manifest integrity
|
|
99
|
-
- no placeholder scripts
|
|
100
|
-
- external tools policy
|
|
101
|
-
- governance precedence
|
|
102
|
-
- skill manifest consistency
|
|
103
|
-
- agent persona schema
|
|
104
|
-
- docs links exist
|
|
105
|
-
- OpenSpec consistency
|
|
106
|
-
- Mustache references exist
|
|
107
|
-
- models schema
|
|
151
|
+
## Herramientas Externas — Guía de Instalación para el Agente
|
|
108
152
|
|
|
109
|
-
|
|
153
|
+
Las herramientas externas son opt-in. El framework funciona sin ellas; al activarlas reducen reconstrucción de contexto, mejoran trazabilidad y ahorran tokens de forma significativa. Esta sección está dirigida al **agente que trabaja en el repo consumidor** para que pueda guiar al desarrollador correctamente.
|
|
110
154
|
|
|
111
|
-
|
|
155
|
+
Ver detalles completos en `templates/docs/agents/external-tools-matrix.md`.
|
|
112
156
|
|
|
113
|
-
|
|
|
157
|
+
| Herramienta | Requerida | Propósito |
|
|
114
158
|
| --- | --- | --- |
|
|
115
|
-
| OpenSpec |
|
|
116
|
-
|
|
|
117
|
-
|
|
|
118
|
-
|
|
|
119
|
-
|
|
|
159
|
+
| OpenSpec | sí | SDD: specs, changes y archivo |
|
|
160
|
+
| gh CLI | sí para GitHub | issues, PRs y releases |
|
|
161
|
+
| headroom | no | proxy de contexto + ahorro de tokens en llamadas Anthropic |
|
|
162
|
+
| Graphify | no | grafo semántico de docs para exploración cross-módulo |
|
|
163
|
+
| CodeGraph | no | grafo estructural AST para navegación de código |
|
|
164
|
+
| Obsidian | no | vault local para checkpoints y continuidad multi-sesión |
|
|
165
|
+
| caveman | no | compresión de tokens en comunicación operativa |
|
|
166
|
+
| autoskills | no | discovery de skills externas curadas |
|
|
167
|
+
| vercel-labs/agent-skills | no | skills UI/deploy opcionales |
|
|
168
|
+
|
|
169
|
+
### headroom (proxy de contexto)
|
|
170
|
+
|
|
171
|
+
headroom actúa como proxy entre el agente y la API de Anthropic. Comprime payloads, aplica presupuestos de contexto y reduce costos en sesiones largas.
|
|
172
|
+
|
|
173
|
+
**Instalación:**
|
|
174
|
+
|
|
175
|
+
```powershell
|
|
176
|
+
npm install -g headroom
|
|
177
|
+
# o con npx sin instalar globalmente
|
|
178
|
+
npx headroom proxy --no-telemetry
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Configuración en Claude Code** (`~/.claude/settings.json`):
|
|
182
|
+
|
|
183
|
+
```json
|
|
184
|
+
{
|
|
185
|
+
"env": {
|
|
186
|
+
"ANTHROPIC_BASE_URL": "http://127.0.0.1:8787"
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**Arranque del proxy** (script incluido en `templates/scripts/`):
|
|
192
|
+
|
|
193
|
+
```powershell
|
|
194
|
+
pwsh -NonInteractive -File scripts/headroom-start.ps1
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**Autoarranque en Windows** (una sola vez por máquina — acción del usuario, no automatizable por el agente):
|
|
198
|
+
|
|
199
|
+
```powershell
|
|
200
|
+
pwsh -ExecutionPolicy Bypass -File scripts/register-headroom-task.ps1
|
|
201
|
+
Get-ScheduledTask -TaskName "<ProjectSlug>-Headroom-Autostart"
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
Sin esta tarea registrada, Codex y VS Code/Copilot no arrancan headroom automáticamente; Claude Code sí (via hook SessionStart en `~/.claude/settings.json`).
|
|
120
205
|
|
|
121
|
-
|
|
206
|
+
**Regla crítica:** si el proxy falla tras los reintentos, **no limpiar `ANTHROPIC_BASE_URL`**. Eso causaría que el agente llame directamente a Anthropic sin que el usuario lo sepa. El script registra el fallo en `%APPDATA%\headroom\health-last-fail.txt` y termina con `exit 1` para que el error sea visible.
|
|
207
|
+
|
|
208
|
+
### Graphify (grafo semántico de documentación)
|
|
209
|
+
|
|
210
|
+
Graphify indexa `docs/`, `openspec/`, `.github/agents/`, `.github/skills/` y raíz como knowledge graph semántico. **No indexa código de producto** (`apps/`, `packages/`).
|
|
211
|
+
|
|
212
|
+
```powershell
|
|
213
|
+
pip install --user graphifyy
|
|
214
|
+
graphify update . # re-extracción AST local, sin costo LLM
|
|
215
|
+
graphify query "<tema>" # búsqueda semántica
|
|
216
|
+
graphify path "<A>" "<B>" # relaciones entre nodos
|
|
217
|
+
graphify explain "<nodo>" # descripción expandida
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Cuándo usar: onboarding al proyecto, análisis de arquitectura cross-módulo, research de prior art en paso 4.5 de `enrich-us`. **No usar en loops normales de implementación.**
|
|
221
|
+
|
|
222
|
+
### CodeGraph (grafo estructural de código)
|
|
223
|
+
|
|
224
|
+
CodeGraph construye un índice AST de todo el código de producto. Responde preguntas estructurales sub-milisegundo sin grep.
|
|
225
|
+
|
|
226
|
+
```powershell
|
|
227
|
+
codegraph init -i # construir índice
|
|
228
|
+
codegraph status # verificar salud
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Cuándo usar: "¿dónde está definida X?", "¿qué llama a Y?", "¿qué rompería si cambio Z?", firma de un símbolo, navegación cross-module en `apps/` y `packages/`. **No usar para docs ni semántica.**
|
|
232
|
+
|
|
233
|
+
### Regla de ahorro de tokens: CodeGraph vs Graphify vs Grep
|
|
234
|
+
|
|
235
|
+
Esta regla es crítica. Violarla duplica contexto y eleva costos 3x–8x en sesiones largas.
|
|
236
|
+
|
|
237
|
+
| Pregunta | Herramienta correcta |
|
|
238
|
+
|---|---|
|
|
239
|
+
| Estructura de código (callers, callees, impacto, firma) | CodeGraph — siempre primero, sin fallback a grep |
|
|
240
|
+
| Semántica cross-doc (docs, ADRs, specs, guides, agents) | Graphify si el grafo existe, sino docs raw |
|
|
241
|
+
| Texto literal (strings de log, comentarios, contenido sin estructura) | Grep — solo si no aplican los anteriores |
|
|
242
|
+
|
|
243
|
+
**Nunca ejecutar CodeGraph y Graphify para la misma consulta.** Son capas distintas con distinto scope.
|
|
244
|
+
|
|
245
|
+
### caveman (compresión de tokens en conversación)
|
|
246
|
+
|
|
247
|
+
caveman comprime solo los tokens de **output** del agente, no el razonamiento ni los payloads MCP. Útil para coordinación operativa entre agentes.
|
|
248
|
+
|
|
249
|
+
```text
|
|
250
|
+
/caveman lite → modo conversacional comprimido (sin artículos, fragmentos OK)
|
|
251
|
+
/caveman full → máxima compresión (solo para coordinación interna)
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Regla: caveman **solo en conversación operativa**. Off en documentación, commits, PRs y artefactos finales. Las decisiones durables van a OpenSpec, docs o `.github/agent-state/`.
|
|
255
|
+
|
|
256
|
+
**party-mode** solo en fases F2 (Análisis), F3 (Diseño) y F4 (Validación). El costo multiagente (3x–8x tokens) solo se justifica en decisiones de diseño con trade-offs reales.
|
|
257
|
+
|
|
258
|
+
### Skills multi-entorno (bootstrap)
|
|
259
|
+
|
|
260
|
+
Después de instalar el framework, sincronizar las skills a todos los agentes:
|
|
261
|
+
|
|
262
|
+
```powershell
|
|
263
|
+
pwsh -ExecutionPolicy Bypass -File scripts/bootstrap-agent-skills.ps1
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
Esto copia las skills gobernadas desde `.github/skills/` a `.claude/skills/`, `.agents/skills/` y `.windsurf/skills/`. Si el manifiesto tiene entradas `crossMirrorSkills`, también copia skills entre carpetas de agente (por ejemplo, caveman ecosystem a Claude Code).
|
|
267
|
+
|
|
268
|
+
Verificar con:
|
|
269
|
+
|
|
270
|
+
```powershell
|
|
271
|
+
pwsh -ExecutionPolicy Bypass -File scripts/bootstrap-agent-skills.ps1 -Json
|
|
272
|
+
sdlc tools-doctor --target . --profile full --json
|
|
273
|
+
```
|
|
122
274
|
|
|
123
|
-
## BMAD
|
|
275
|
+
## Comparativa BMAD
|
|
124
276
|
|
|
125
|
-
|
|
277
|
+
Comparativa lado a lado de los dos frameworks. La intención no es competir sino aclarar dónde se solapan y dónde cada uno se especializa. Datos de BMAD tomados de su README oficial v6 (`bmad-code-org/BMAD-METHOD`, npm `bmad-method`).
|
|
126
278
|
|
|
127
|
-
|
|
|
279
|
+
| Característica | BMAD-METHOD v6 | SistemaMultiagente_SDLC v1.5.0 |
|
|
128
280
|
| --- | --- | --- |
|
|
129
|
-
|
|
|
130
|
-
| Runtime requisitos | Node ≥20.12, Python ≥3.10, `uv` | Node ≥
|
|
131
|
-
|
|
|
132
|
-
| Scope principal |
|
|
133
|
-
|
|
|
281
|
+
| Licencia | MIT | MIT |
|
|
282
|
+
| Runtime requisitos | Node ≥20.12, Python ≥3.10, `uv` | Node ≥22.13, PowerShell (pwsh/powershell), Git |
|
|
283
|
+
| Comando de instalación | `npx bmad-method install` (interactivo) o `--yes --modules --tools` (CI) | `npx sistema-multiagente-sdlc init` (cwd default desde v1.2.1) |
|
|
284
|
+
| Scope principal | Desarrollo ágil asistido por IA | SDLC asistido por IA con governance enterprise y SDD |
|
|
285
|
+
| Flujos de trabajo | 34+ flujos ágiles (BMM core) | SDD waterfall por slice + ágil por release (fases F0-F17) |
|
|
134
286
|
| Scale-adaptive | sí, automático (bug → enterprise) | scale hint activo desde v1.3.0 |
|
|
135
|
-
| Agentes/personas | 12+ personas (PM,
|
|
136
|
-
|
|
|
137
|
-
|
|
|
138
|
-
|
|
|
139
|
-
|
|
|
140
|
-
|
|
|
141
|
-
|
|
|
142
|
-
| Brownfield-first | no | sí (legacy
|
|
143
|
-
|
|
|
144
|
-
| OpenSpec / SDD |
|
|
145
|
-
| Readiness L1/L2/L3 + matriz NFR |
|
|
146
|
-
|
|
|
147
|
-
|
|
|
148
|
-
|
|
|
149
|
-
| Provenance (SLSA) | n/d explícito | sí, SLSA v1 +
|
|
150
|
-
|
|
|
151
|
-
|
|
|
152
|
-
|
|
153
|
-
Lectura corta: BMAD lidera en
|
|
287
|
+
| Agentes/personas | 12+ personas (PM, Arquitecto, Dev, UX, …) | 8 personas activas + roadmap extensible |
|
|
288
|
+
| Modo party / colaboración | sí (múltiples personas en sesión) | roundtable opt-in planificado v1.3.0 |
|
|
289
|
+
| CLI de ayuda / coach de siguiente paso | skill `bmad-help` | `sdlc doctor` (verificaciones de estado); `sdlc next` planificado v1.3.0 |
|
|
290
|
+
| Módulos / ecosistema | BMM (core) + BMB (builder) + TEA (test architect) + BMGD (game dev) + CIS (creative) | basado en modos (`greenfield` / `legacy`) + packs extensibles planificados v2.0.0 |
|
|
291
|
+
| Arquitectura de skills | sí (V6 + Sub-Agent inclusion + Cross-Platform Agent Team) | mirroring de skills a `.claude/`, `.agents/`, `.windsurf/` (`bootstrap-agent-skills.ps1`) con soporte `crossMirrorSkills` |
|
|
292
|
+
| Constructor de agentes/flujos personalizados | BMad Builder v1 | personas `.agent.md` + validadores (`validate-agent-persona-schema`) |
|
|
293
|
+
| Automatización del loop de desarrollo | en roadmap V6 | `phase-graph.yaml` + rework label-driven + lock TTL |
|
|
294
|
+
| Brownfield-first | no | sí (modo legacy con research obligatorio antes de proposal) |
|
|
295
|
+
| Validadores de governance | no es core | 14 validadores (config, personal-paths, template-sanitization, manifest-integrity, governance-precedence, …) |
|
|
296
|
+
| OpenSpec / SDD | no es core | integrado (capacidades canónicas en `openspec/specs/`) |
|
|
297
|
+
| Readiness L1/L2/L3 + matriz NFR | no es core | integrado (spec `business-production-readiness`) |
|
|
298
|
+
| Sistema de migración + rollback | no es core | backup automático + `sdlc upgrade --to-version` + `sdlc rollback --to <id>` |
|
|
299
|
+
| Lock multi-agente | no es core | TTL `platform-context.json` lock |
|
|
300
|
+
| Sanitización de paths/plantillas | no es core | `validate:no-personal-paths` + `validate:template-sanitization` |
|
|
301
|
+
| Provenance (SLSA) | n/d explícito | sí, SLSA v1 + firmas vía OIDC GitHub (workflow `publish.yml`) |
|
|
302
|
+
| Comunidad | Discord abierto, YouTube, X | GitHub Issues + Discussions (Discord no necesario) |
|
|
303
|
+
| Marca registrada | BMad / BMAD-METHOD trademarks of BMad Code, LLC | sin restricción explícita más allá de MIT |
|
|
304
|
+
|
|
305
|
+
Lectura corta: BMAD lidera en amplitud ágil y comunidad (12+ personas, 34+ flujos, 5 módulos, Discord activo, Skills Architecture V6). SistemaMultiagente_SDLC lidera en governance + brownfield + SDD + validadores (14) + sistema de migración + readiness L1/L2/L3 + sanitización. Ambos pueden coexistir: BMAD orquesta; SistemaMultiagente_SDLC orquesta **y verifica**.
|
|
154
306
|
|
|
155
307
|
## Roadmap
|
|
156
308
|
|
|
157
309
|
v1.3.0:
|
|
158
310
|
|
|
159
|
-
- bash
|
|
311
|
+
- paridad bash para scripts críticos
|
|
160
312
|
- `sdlc next`
|
|
161
|
-
-
|
|
162
|
-
-
|
|
313
|
+
- scale adaptativo: bug, feature, epic, platform
|
|
314
|
+
- extensiones de calibración
|
|
163
315
|
- roundtable opt-in
|
|
164
|
-
-
|
|
165
|
-
-
|
|
166
|
-
- bump `actions/checkout@v5` + `actions/setup-node@v5` con `node-version: 24`; deadline GitHub: Node 20 deprecated jun 2026,
|
|
316
|
+
- sitio de documentación
|
|
317
|
+
- matriz de instalación de regresión: agregar `macos-latest` (cobertura triple ubuntu + windows + macos)
|
|
318
|
+
- bump `actions/checkout@v5` + `actions/setup-node@v5` con `node-version: 24`; deadline GitHub: Node 20 deprecated jun 2026, removido sep 2026
|
|
167
319
|
|
|
168
320
|
v2.0.0:
|
|
169
321
|
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
- marketplace
|
|
173
|
-
-
|
|
174
|
-
-
|
|
322
|
+
- packs extensibles
|
|
323
|
+
- API de plugins
|
|
324
|
+
- registro marketplace
|
|
325
|
+
- internacionalización en inglés
|
|
326
|
+
- ayuda contextual interactiva
|
|
175
327
|
|
|
176
|
-
##
|
|
328
|
+
## Contribución
|
|
177
329
|
|
|
178
|
-
|
|
330
|
+
Leer `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md` y `SECURITY.md`.
|
|
179
331
|
|
|
180
|
-
##
|
|
332
|
+
## Licencia
|
|
181
333
|
|
|
182
334
|
MIT.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Migration 1.4.0
|
|
2
|
+
|
|
3
|
+
Adds the executable runtime layer for multi-agent continuity:
|
|
4
|
+
|
|
5
|
+
- Node-first `sdlc` runtime commands.
|
|
6
|
+
- Generated `.sdlc/session.json`.
|
|
7
|
+
- Cross-IDE `resume`, `save`, and `continua` skills.
|
|
8
|
+
- Thin PowerShell wrappers for Windows convenience.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function up(files = {}) {
|
|
2
|
+
const extra = {
|
|
3
|
+
".sdlc/migrations/1.4.0-applied.txt": "Migration 1.4.0 applied by SistemaMultiagente_SDLC.\ngenerated-by-sdlc\n"
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
const configPath = ".sdlc/config.json";
|
|
7
|
+
if (typeof files[configPath] === "string") {
|
|
8
|
+
const config = JSON.parse(files[configPath]);
|
|
9
|
+
config.frameworkVersion = "1.4.0";
|
|
10
|
+
extra[configPath] = `${JSON.stringify(config, null, 2)}\n`;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return extra;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function up(files = {}) {
|
|
2
|
+
const extra = {
|
|
3
|
+
".sdlc/migrations/1.5.0-applied.txt": "Migration 1.5.0 applied by SistemaMultiagente_SDLC.\ngenerated-by-sdlc\n"
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
const configPath = ".sdlc/config.json";
|
|
7
|
+
if (typeof files[configPath] === "string") {
|
|
8
|
+
const config = JSON.parse(files[configPath]);
|
|
9
|
+
config.frameworkVersion = "1.5.0";
|
|
10
|
+
extra[configPath] = `${JSON.stringify(config, null, 2)}\n`;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return extra;
|
|
14
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Migration 1.6.0
|
|
2
|
+
|
|
3
|
+
Actualiza el contrato instalado a la doctrina de jerarquia de retrieval y perfiles operativos.
|
|
4
|
+
|
|
5
|
+
- Recalcula `frameworkVersion` a `1.6.0`.
|
|
6
|
+
- Registra marcador local `.sdlc/migrations/1.6.0-applied.txt`.
|
|
7
|
+
- Los archivos gobernados se regeneran desde templates durante `sdlc upgrade`; no publica npm ni toca configs locales.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function up(files = {}) {
|
|
2
|
+
const extra = {
|
|
3
|
+
".sdlc/migrations/1.6.0-applied.txt": "Migration 1.6.0 applied by SistemaMultiagente_SDLC.\ngenerated-by-sdlc\n"
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
const configPath = ".sdlc/config.json";
|
|
7
|
+
if (typeof files[configPath] === "string") {
|
|
8
|
+
const config = JSON.parse(files[configPath]);
|
|
9
|
+
config.frameworkVersion = "1.6.0";
|
|
10
|
+
extra[configPath] = `${JSON.stringify(config, null, 2)}\n`;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return extra;
|
|
14
|
+
}
|