@tacuchi/agent-workflow-cli 6.1.0 → 7.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/README.md +65 -12
- package/dist/application/profile/profile-service.d.ts +53 -0
- package/dist/application/profile/profile-service.d.ts.map +1 -0
- package/dist/application/profile/profile-service.js +210 -0
- package/dist/application/profile/profile-service.js.map +1 -0
- package/dist/application/render/history-row.d.ts.map +1 -1
- package/dist/application/render/history-row.js +5 -0
- package/dist/application/render/history-row.js.map +1 -1
- package/dist/application/self/bootstrap.js +2 -1
- package/dist/application/self/bootstrap.js.map +1 -1
- package/dist/application/self/detect-hosts.d.ts +18 -0
- package/dist/application/self/detect-hosts.d.ts.map +1 -0
- package/dist/application/self/detect-hosts.js +37 -0
- package/dist/application/self/detect-hosts.js.map +1 -0
- package/dist/application/self/install-hooks.d.ts +30 -0
- package/dist/application/self/install-hooks.d.ts.map +1 -0
- package/dist/application/self/install-hooks.js +253 -0
- package/dist/application/self/install-hooks.js.map +1 -0
- package/dist/application/self/install-skill.d.ts +2 -0
- package/dist/application/self/install-skill.d.ts.map +1 -1
- package/dist/application/self/install-skill.js +69 -3
- package/dist/application/self/install-skill.js.map +1 -1
- package/dist/application/session-close-service.d.ts +10 -0
- package/dist/application/session-close-service.d.ts.map +1 -1
- package/dist/application/session-close-service.js +87 -10
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/cli/commands/self.d.ts.map +1 -1
- package/dist/cli/commands/self.js +9 -1
- package/dist/cli/commands/self.js.map +1 -1
- package/dist/cli/commands/session-close.d.ts.map +1 -1
- package/dist/cli/commands/session-close.js +11 -0
- package/dist/cli/commands/session-close.js.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.js +100 -24
- package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
- package/package.json +2 -2
- package/skills/agent-workflow/commands/README.md +24 -0
- package/skills/agent-workflow/commands/agent-workflow-compact.md +24 -0
- package/skills/agent-workflow/commands/agent-workflow-doctor.md +100 -0
- package/skills/agent-workflow/commands/agent-workflow-export-arq.md +77 -0
- package/skills/agent-workflow/commands/agent-workflow-export-conclusions.md +78 -0
- package/skills/agent-workflow/commands/agent-workflow-export-plan.md +74 -0
- package/skills/agent-workflow/commands/agent-workflow-export-qa-note.md +30 -0
- package/skills/agent-workflow/commands/agent-workflow-export-report.md +78 -0
- package/skills/agent-workflow/commands/agent-workflow-export-requirement.md +30 -0
- package/skills/agent-workflow/commands/agent-workflow-export-scripts.md +92 -0
- package/skills/agent-workflow/commands/agent-workflow-export-tech-manuals.md +75 -0
- package/skills/agent-workflow/commands/agent-workflow-export-tech-note.md +30 -0
- package/skills/agent-workflow/commands/agent-workflow-hub-init.md +82 -0
- package/skills/agent-workflow/commands/agent-workflow-migrate.md +56 -0
- package/skills/agent-workflow/commands/agent-workflow-project-init.md +60 -0
- package/skills/agent-workflow/commands/agent-workflow-resume.md +22 -0
- package/skills/agent-workflow/commands/agent-workflow-rules.md +40 -0
- package/skills/agent-workflow/commands/agent-workflow-session.md +35 -0
- package/skills/agent-workflow/doctrine/README.md +15 -0
- package/skills/agent-workflow/doctrine/compact/SKILL.md +145 -0
- package/skills/agent-workflow/doctrine/doctor/SKILL.md +86 -0
- package/skills/agent-workflow/doctrine/doctor/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/doctrine/hub-init/SKILL.md +157 -0
- package/skills/agent-workflow/doctrine/hub-init/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/doctrine/hub-init/references/multiroot-manual.md +51 -0
- package/skills/agent-workflow/doctrine/implement/SKILL.md +290 -0
- package/skills/agent-workflow/doctrine/implement/references/branch-verification.md +16 -0
- package/skills/agent-workflow/doctrine/implement/references/design-md-template.md +108 -0
- package/skills/agent-workflow/doctrine/implement/references/rollback-guide.md +81 -0
- package/skills/agent-workflow/doctrine/migrate/SKILL.md +281 -0
- package/skills/agent-workflow/doctrine/migrate/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/doctrine/project-init/SKILL.md +100 -0
- package/skills/agent-workflow/doctrine/project-init/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/doctrine/refactor/SKILL.md +208 -0
- package/skills/agent-workflow/doctrine/refactor/references/refactor-md-template.md +108 -0
- package/skills/agent-workflow/doctrine/refactor/references/strangler-checklist.md +116 -0
- package/skills/agent-workflow/doctrine/resume/SKILL.md +199 -0
- package/skills/agent-workflow/doctrine/rules/SKILL.md +224 -0
- package/skills/agent-workflow/doctrine/rules/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/doctrine/session/SKILL.md +383 -0
- package/skills/agent-workflow/doctrine/session/references/auto-plan-rules.md +63 -0
- package/skills/agent-workflow/doctrine/session/references/backlog-template.md +95 -0
- package/skills/agent-workflow/doctrine/session/references/branch-verification.md +198 -0
- package/skills/agent-workflow/doctrine/session/references/commits-policy.md +111 -0
- package/skills/agent-workflow/doctrine/session/references/communication-style.md +50 -0
- package/skills/agent-workflow/doctrine/session/references/graduacion-routing.md +88 -0
- package/skills/agent-workflow/doctrine/session/references/lifecycle-deep.md +160 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/C1-specialty-selection.md +11 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/C2-cost-guard.md +14 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M1-closure-commit-prompt.md +104 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M10-next-step.md +17 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M11-context.md +16 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M2-branch-caso-A.md +14 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M3-branch-caso-C.md +33 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M4-cross-source-hard-gate.md +33 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M5-modality-analyze.md +15 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M6-phase-gate.md +31 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M7-refactor-legacy-detected.md +28 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M8-refactor-cleanup.md +16 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M9-contract-review.md +39 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S1-type-design.md +15 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S2-topic-change-detection.md +14 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S3-flow-detection.md +28 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S4-resume.md +27 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S5-post-compact.md +17 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S6-scope.md +16 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S7-design-review.md +37 -0
- package/skills/agent-workflow/doctrine/session/references/prompts-catalog.md +210 -0
- package/skills/agent-workflow/doctrine/session/references/sandbox-readonly-rules.md +82 -0
- package/skills/agent-workflow/doctrine/session/references/specialty-decision-tree.md +56 -0
- package/skills/agent-workflow/doctrine/session/references/topic-change-rules.md +67 -0
- package/skills/agent-workflow/exports/README.md +15 -0
- package/skills/agent-workflow/exports/export-arq/SKILL.md +229 -0
- package/skills/agent-workflow/exports/export-arq/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/exports/export-arq/references/lexico-tecnico.md +94 -0
- package/skills/agent-workflow/exports/export-arq/references/template-c4.md +293 -0
- package/skills/agent-workflow/exports/export-arq/references/template-plantuml.puml +77 -0
- package/skills/agent-workflow/exports/export-arq/references/template-structurizr.dsl +72 -0
- package/skills/agent-workflow/exports/export-arq/references/validations.md +231 -0
- package/skills/agent-workflow/exports/export-conclusions/SKILL.md +169 -0
- package/skills/agent-workflow/exports/export-conclusions/references/dedup-rules.md +154 -0
- package/skills/agent-workflow/exports/export-conclusions/references/template-conclusions.md +158 -0
- package/skills/agent-workflow/exports/export-plan/SKILL.md +225 -0
- package/skills/agent-workflow/exports/export-plan/references/state-transitions.md +141 -0
- package/skills/agent-workflow/exports/export-plan/references/template-plan.md +132 -0
- package/skills/agent-workflow/exports/export-qa-note/SKILL.md +31 -0
- package/skills/agent-workflow/exports/export-report/SKILL.md +262 -0
- package/skills/agent-workflow/exports/export-report/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/exports/export-report/references/lexico.md +174 -0
- package/skills/agent-workflow/exports/export-report/references/template-a.md +95 -0
- package/skills/agent-workflow/exports/export-report/references/template-b.md +221 -0
- package/skills/agent-workflow/exports/export-report/references/template-c.md +180 -0
- package/skills/agent-workflow/exports/export-report/references/validations.md +255 -0
- package/skills/agent-workflow/exports/export-requirement/SKILL.md +31 -0
- package/skills/agent-workflow/exports/export-scripts/SKILL.md +324 -0
- package/skills/agent-workflow/exports/export-scripts/references/code-scan-recommendations.md +83 -0
- package/skills/agent-workflow/exports/export-scripts/references/deprecation-plan.md +80 -0
- package/skills/agent-workflow/exports/export-scripts/references/lexico-tecnico.md +80 -0
- package/skills/agent-workflow/exports/export-scripts/references/manifest-template.md +253 -0
- package/skills/agent-workflow/exports/export-scripts/references/readme-template.md +79 -0
- package/skills/agent-workflow/exports/export-scripts/references/theme-handling.md +168 -0
- package/skills/agent-workflow/exports/export-scripts/references/validations.md +242 -0
- package/skills/agent-workflow/exports/export-tech-manuals/SKILL.md +214 -0
- package/skills/agent-workflow/exports/export-tech-manuals/references/lexico-tecnico.md +97 -0
- package/skills/agent-workflow/exports/export-tech-manuals/references/template-index.md +123 -0
- package/skills/agent-workflow/exports/export-tech-manuals/references/template-manual.md +143 -0
- package/skills/agent-workflow/exports/export-tech-manuals/references/validations.md +211 -0
- package/skills/agent-workflow/exports/export-tech-note/SKILL.md +31 -0
- package/skills/agent-workflow/hooks/README.md +15 -0
- package/skills/agent-workflow/hooks/hooks.template.json +90 -0
- package/skills/agent-workflow/references/README.md +12 -0
- package/skills/agent-workflow/references/legacy-anchors.md +50 -0
- package/skills/agent-workflow/references/profile-parametrization.md +88 -0
- package/skills/agent-workflow/specialties/README.md +14 -0
- package/skills/agent-workflow/specialties/analyze-conclude/SKILL.md +175 -0
- package/skills/agent-workflow/specialties/analyze-conclude/references/incident-classification.md +61 -0
- package/skills/agent-workflow/specialties/analyze-investigate/SKILL.md +148 -0
- package/skills/agent-workflow/specialties/analyze-investigate/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/specialties/analyze-investigate/references/cost-guard.md +85 -0
- package/skills/agent-workflow/specialties/analyze-synthesize/SKILL.md +127 -0
- package/skills/agent-workflow/specialties/design-brief/SKILL.md +90 -0
- package/skills/agent-workflow/specialties/design-deliver/SKILL.md +121 -0
- package/skills/agent-workflow/specialties/design-develop/SKILL.md +115 -0
- package/skills/agent-workflow/specialties/design-discover/SKILL.md +103 -0
- package/skills/agent-workflow/standards/README.md +12 -0
- package/skills/agent-workflow/standards/coding-standards/SKILL.md +102 -0
- package/skills/agent-workflow/standards/coding-standards/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/standards/coding-standards/references/angular-typescript.md +266 -0
- package/skills/agent-workflow/standards/coding-standards/references/database-conventions.md +170 -0
- package/skills/agent-workflow/standards/coding-standards/references/fe-be-integration.md +300 -0
- package/skills/agent-workflow/standards/coding-standards/references/frontend-structure.md +182 -0
- package/skills/agent-workflow/standards/coding-standards/references/java-spring.md +244 -0
- package/skills/agent-workflow/standards/coding-standards/references/project-structure.md +197 -0
- package/skills/agent-workflow/standards/frontend-design/SKILL.md +62 -0
- package/skills/agent-workflow/standards/frontend-design/references/feedback-toasts-patterns.md +249 -0
- package/skills/agent-workflow/standards/frontend-design/references/form-patterns.md +278 -0
- package/skills/agent-workflow/standards/frontend-design/references/list-patterns.md +256 -0
- package/skills/agent-workflow/standards/frontend-design/references/modal-patterns.md +220 -0
- package/skills/agent-workflow/standards/frontend-design/references/navigation-patterns.md +224 -0
- package/skills/agent-workflow/standards/redaccion-simple/SKILL.md +128 -0
- package/skills/agent-workflow/standards/sql-rollback-generator/SKILL.md +197 -0
- package/skills/agent-workflow/standards/sql-rollback-generator/references/irreversible-checklist.md +161 -0
- package/skills/agent-workflow/standards/sql-rollback-generator/references/release-rollback.md +131 -0
- package/skills/agent-workflow/standards/sql-rollback-generator/references/rollback-patterns.md +255 -0
- package/skills/agent-workflow/standards/sql-script-organizer/SKILL.md +244 -0
- package/skills/agent-workflow/standards/sql-script-organizer/references/bundle-readme-template.md +82 -0
- package/skills/agent-workflow/standards/sql-script-organizer/references/categorization-rules.md +122 -0
- package/skills/agent-workflow/standards/sql-script-organizer/references/consolidation-cross-session.md +125 -0
- package/skills/agent-workflow/standards/sql-script-organizer/references/scripts-sql-format.md +140 -0
- package/skills/agent-workflow/standards/testing-strategy/SKILL.md +113 -0
- package/skills/agent-workflow/standards/testing-strategy/references/test-levels.md +255 -0
- package/skills/agent-workflow/workflows/README.md +12 -0
- package/skills/agent-workflow/workflows/analyze-workflow/SKILL.md +107 -0
- package/skills/agent-workflow/workflows/design-workflow/SKILL.md +100 -0
- package/skills/agent-workflow/workflows/dev-workflow/SKILL.md +195 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: export-arq
|
|
3
|
+
description: "Genera documentación técnica de arquitectura (`.md` con diagramas C4 embebidos) consolidando sesiones del workspace + `docs/` (especificaciones, decisiones, arq existente). Output: contexto, contenedores, componentes, integraciones externas, modelo de datos (si MCP disponible), decisiones arquitectónicas y riesgos/deuda. Structurizr DSL por default (notación C4 formal); Mermaid y PlantUML opt-in vía `--diagrams`. Output en `docs/arquitectura/NNN-export-arq-YYYY-MM-DD/`. Read-only sobre corpus + MCP read-only para schemas. Audiencia: devs/arquitectos. Invocado sólo vía `/agent-workflow:export-arq`. v1.1 (session077): el default pasa de Mermaid a Structurizr para alinear con la regla canónica «el tipo de documento manda» (manuales técnicos / dossiers C4 → Structurizr). Mermaid auxiliar permanece embebido en arquitectura.md para lectura offline. v1.2 (session078): cada bloque Mermaid embebido lleva debajo un blockquote con link `https://mermaid.ink/img/<base64>` (PNG renderizada). v1.3 (session081): corpus extendido a `docs/` además de sesiones (DEC-002) — ver `docs/shared-contract/export-corpus-sources.md`."
|
|
4
|
+
version: 1.3.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
> **Profile parametrization**: lee `mcp_databases[]` de `profile.json` (resuelto vía cascade 5 capas). Ver [`references/profile-parametrization.md`](../../references/profile-parametrization.md) para el contrato completo y comportamiento por defecto cuando el profile está vacío.
|
|
8
|
+
|
|
9
|
+
# Export Arq — Documentación de arquitectura desde fuentes + corpus
|
|
10
|
+
|
|
11
|
+
Genera un dossier técnico de arquitectura del workspace, agregando fuentes declaradas, integraciones externas y decisiones tomadas. **Read-only / reporte** — no commitea, no muta nada.
|
|
12
|
+
|
|
13
|
+
> Segundo comando de la familia `/agent-workflow:export-*`. Hermano de `export-func` (informe ejecutivo). Propuesta del modelo: `docs/conclusiones/007-export-commands-family.md`.
|
|
14
|
+
|
|
15
|
+
## Excepción session-aware
|
|
16
|
+
|
|
17
|
+
Este skill requiere conocimiento del lifecycle. **No crea ni modifica sesiones**. Si el workspace no tiene AW-PROJECT con fuentes declaradas → abortar con `ok: false`.
|
|
18
|
+
|
|
19
|
+
**Solo formato actual (v0.9+)**: sesiones legacy abortan; migrar con `/agent-workflow:migrate --upgrade-topology`.
|
|
20
|
+
|
|
21
|
+
**Consumo de CLI `agent-workflow`** (no leer paths hardcodeados):
|
|
22
|
+
- `agent-workflow project-md-upsert --read` — `workspace_mode`, fuentes, integraciones declaradas, working branches.
|
|
23
|
+
- `agent-workflow history-data` — sesiones cerradas (insumo de decisiones + riesgos).
|
|
24
|
+
- `agent-workflow session-artifacts --code <NNN>` — lectura lazy de OBJECTIVE/DECISIONS/CONCLUSIONS por sesión.
|
|
25
|
+
- `agent-workflow decisiones-list --code <NNN>` — DEC-NNN cronológicas.
|
|
26
|
+
- `agent-workflow next-number docs/arquitectura` — numeración determinística.
|
|
27
|
+
|
|
28
|
+
**MCP read-only** (opcional, sólo si `--scope` incluye `datos` y MCP está configurado):
|
|
29
|
+
- `<mcp-cert>` / `<mcp-prod>` — `SELECT count(*)`, `EXPLAIN`, `\d <tabla>` para esquemas BD.
|
|
30
|
+
|
|
31
|
+
## When to use
|
|
32
|
+
|
|
33
|
+
- "Documento de arquitectura", "diagrama del sistema", "C4 del workspace".
|
|
34
|
+
- Onboarding técnico de nuevos miembros del equipo.
|
|
35
|
+
- Antes de cambios estructurales (validar arquitectura vigente).
|
|
36
|
+
- Auditoría técnica.
|
|
37
|
+
- Acompañamiento a propuestas de cambio mayor.
|
|
38
|
+
|
|
39
|
+
## Qué hace este skill
|
|
40
|
+
|
|
41
|
+
1. Lee AW-PROJECT (fuentes + mode + integraciones declaradas).
|
|
42
|
+
2. Lee corpus de sesiones cerradas (decisiones arquitectónicas + riesgos abiertos).
|
|
43
|
+
3. Inspecciona filesystem por fuente: hooks instalados, MCP configurado, plugins/commands.
|
|
44
|
+
4. Si `--scope` incluye `datos` y MCP disponible: consulta esquemas BD (read-only).
|
|
45
|
+
5. Selecciona variante de diagrama (`--diagrams`) y plantilla.
|
|
46
|
+
6. Renderiza secciones según `--scope`.
|
|
47
|
+
7. Aplica validations V1-V6 (`references/validations.md`).
|
|
48
|
+
8. Si pasa: escribe `docs/arquitectura/NNN-export-arq-YYYY-MM-DD/`.
|
|
49
|
+
9. Si `--dry-run`: imprime reporte (secciones que aparecerían, counts, variante).
|
|
50
|
+
|
|
51
|
+
## Qué NO hace
|
|
52
|
+
|
|
53
|
+
- Ejecutar commits, merges, push, SQL ni envío de correos.
|
|
54
|
+
- Mutar corpus de sesiones ni AW-PROJECT.
|
|
55
|
+
- Validar que las integraciones declaradas funcionen (eso es `/agent-workflow:doctor`).
|
|
56
|
+
- Renderizar visualmente el diagrama (sólo source Mermaid/DSL/PUML; el render visual lo hace el lector con sus herramientas).
|
|
57
|
+
- Filtrar el "estado actual" del sistema por `--since` o `--period` (el snapshot es siempre el último); esos flags sólo afectan la sección "Decisiones arquitectónicas".
|
|
58
|
+
|
|
59
|
+
## Sandbox read-only
|
|
60
|
+
|
|
61
|
+
`../session/references/sandbox-readonly-rules.md`. En plan mode esta skill describe:
|
|
62
|
+
- Variante de diagrama resuelta + plantilla a cargar.
|
|
63
|
+
- Secciones que aparecerían (resolvidas por `--scope`).
|
|
64
|
+
- Fuentes a inspeccionar + integraciones declaradas.
|
|
65
|
+
- Si `--scope datos`: queries MCP propuestas con costo estimado (cost guard).
|
|
66
|
+
- Hallazgos de V4 (Modelo de datos presente/omitido, Decisiones presentes/omitidas).
|
|
67
|
+
|
|
68
|
+
NO ejecuta: `Write` del `.md` output, mutaciones MCP, `next-number` con efecto.
|
|
69
|
+
|
|
70
|
+
## Estilo de comunicación
|
|
71
|
+
|
|
72
|
+
`../session/references/communication-style.md`. La audiencia es técnica — sin léxico ejecutivo. `agent-workflow:redaccion-simple` aplica con preset default (frases cortas, listas sobre prosa, sin relleno). No hay traducción técnica→ejecutiva.
|
|
73
|
+
|
|
74
|
+
## Entrada
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
/agent-workflow:export-arq [--since sessionNNN] [--source <alias>]
|
|
78
|
+
[--diagrams mermaid|structurizr|plantuml]
|
|
79
|
+
[--scope c4|integraciones|datos|decisiones|riesgos|todo]
|
|
80
|
+
[--dry-run]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Matriz `--diagrams` × `--scope`
|
|
84
|
+
|
|
85
|
+
`--diagrams` selecciona el motor del render de C4; `--scope` selecciona qué secciones aparecen.
|
|
86
|
+
|
|
87
|
+
| `--scope` | Secciones presentes |
|
|
88
|
+
|---|---|
|
|
89
|
+
| `c4` | Sistema (C4 Context) + Contenedores (C4 Container) + Componentes (C4 Component) |
|
|
90
|
+
| `integraciones` | Integraciones externas |
|
|
91
|
+
| `datos` | Modelo de datos (sólo si MCP disponible) |
|
|
92
|
+
| `decisiones` | Decisiones arquitectónicas |
|
|
93
|
+
| `riesgos` | Riesgos y deuda |
|
|
94
|
+
| `todo` (default) | Todas las secciones aplicables |
|
|
95
|
+
|
|
96
|
+
| `--diagrams` | Motor de C4 |
|
|
97
|
+
|---|---|
|
|
98
|
+
| `structurizr` (default) | `workspace.dsl` aparte + Mermaid auxiliar embebido en MD (lectura offline) |
|
|
99
|
+
| `mermaid` | Mermaid C4Context / C4Container / C4Component nativo embebido en MD (sin DSL aparte) |
|
|
100
|
+
| `plantuml` | `arquitectura.puml` aparte (C4-stdlib) + nota en MD |
|
|
101
|
+
|
|
102
|
+
**Regla canónica del default (DEC-004 session077)**: `export-arq` cubre documentación técnica / manuales / dossiers de arquitectura. Structurizr DSL es el estándar C4 formal (separa modelo de vistas, soporta tooling externo). Mermaid permanece como opt-in cuando se prefiere render embebido sin DSL separado.
|
|
103
|
+
|
|
104
|
+
### Resolución de `--since` y `--source`
|
|
105
|
+
|
|
106
|
+
- `--since sessionNNN`: filtra **sólo** la sección "Decisiones arquitectónicas" (cronológicas). El snapshot del sistema vigente NO se filtra por `--since`.
|
|
107
|
+
- `--source <alias>`: limita el output a esa fuente y sus integraciones internas; con default agrega todas las fuentes del hub.
|
|
108
|
+
|
|
109
|
+
### `--sessions` excluido
|
|
110
|
+
|
|
111
|
+
`export-arq` produce un **snapshot del sistema vigente** (estado actual de C4, integraciones, datos, riesgos). La selección discreta de sesiones por código (`--sessions NNN[,NNN]`) **no aplica** a este export: el snapshot siempre refleja el último estado conocido. Sólo `--since sessionNNN` afecta cronológicamente la sub-sección "Decisiones arquitectónicas". Decisión canónica G4 de `docs/conclusiones/008-roadmap-export-plan-lifecycle.md` (session062).
|
|
112
|
+
|
|
113
|
+
## Flujo
|
|
114
|
+
|
|
115
|
+
### Paso 1 — Resolver contexto
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
agent-workflow project-md-upsert --read
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Extrae `workspace_mode`, `fuentes[]`, integraciones declaradas, `mode` (hub/project). Determina root del workspace + path destino:
|
|
122
|
+
- `hub` → `<hub>/docs/arquitectura/NNN-export-arq-YYYY-MM-DD/`.
|
|
123
|
+
- `project` → `<cwd>/docs/arquitectura/NNN-export-arq-YYYY-MM-DD/`.
|
|
124
|
+
|
|
125
|
+
### Paso 2 — Inspeccionar fuentes y sus internas
|
|
126
|
+
|
|
127
|
+
Por cada fuente declarada:
|
|
128
|
+
- Resolver `<source.path>` → leer estructura básica.
|
|
129
|
+
- Detectar componentes internos: `commands/`, `skills/`, `hooks/`, `.claude-plugin/`, MCP configurado.
|
|
130
|
+
- Detectar tecnologías (lenguaje, framework) por archivos de manifest (`package.json`, `pom.xml`, etc.).
|
|
131
|
+
|
|
132
|
+
### Paso 3 — Filtrar corpus para decisiones
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
agent-workflow history-data
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Aplicar filtro `--since sessionNNN` sólo si está presente.
|
|
139
|
+
|
|
140
|
+
Para cada sesión cerrada del corpus filtrado:
|
|
141
|
+
```
|
|
142
|
+
agent-workflow decisiones-list --code <CODE>
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Acumular DEC-NNN cronológicas. Si 0 DEC → V4 omite sección "Decisiones".
|
|
146
|
+
|
|
147
|
+
### Paso 4 — Inspeccionar MCP (opcional)
|
|
148
|
+
|
|
149
|
+
Si `--scope` incluye `datos` y MCP `<mcp-cert>` o `<mcp-prod>` está configurado:
|
|
150
|
+
- `\d <tabla_principal>` por cada esquema relevante.
|
|
151
|
+
- `SELECT count(*) FROM <tabla>` para magnitud (cost guard: ver `agent-workflow:analyze-investigate/references/cost-guard.md`).
|
|
152
|
+
- Recolectar relaciones FK para erDiagram.
|
|
153
|
+
|
|
154
|
+
Si MCP no disponible o `--scope` excluye `datos` → V4 omite sección "Modelo de datos" con nota inline.
|
|
155
|
+
|
|
156
|
+
### Paso 5 — Identificar riesgos y deuda
|
|
157
|
+
|
|
158
|
+
Escanear corpus filtrado por keywords:
|
|
159
|
+
- `## Open (gaps)` en CONCLUSIONS.md.
|
|
160
|
+
- "deuda técnica" / "deuda funcional" / "riesgo" en CHECKPOINT.md o CONCLUSIONS.md.
|
|
161
|
+
- Sesiones con estado `requirement` o `planning` no cerradas > 30 días → deuda de "trabajo en curso estancado".
|
|
162
|
+
|
|
163
|
+
### Paso 6 — Resolver variante y cargar plantilla
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
references/template-c4.md
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Reglas por flag:
|
|
170
|
+
- **`--diagrams structurizr` (default)** → cargar `references/template-structurizr.dsl` y rellenarlo con el modelo + vistas. El `arquitectura.md` incluye además un Mermaid auxiliar embebido derivado del DSL (fallback offline).
|
|
171
|
+
- **`--diagrams mermaid`** → omitir `workspace.dsl`; el `arquitectura.md` lleva Mermaid C4 nativo (`C4Context`/`C4Container`/`C4Component`).
|
|
172
|
+
- **`--diagrams plantuml`** → cargar `references/template-plantuml.puml` (opt-in C4-stdlib); `arquitectura.md` deja nota inline apuntando al `.puml`.
|
|
173
|
+
|
|
174
|
+
### Paso 7 — Renderizar secciones
|
|
175
|
+
|
|
176
|
+
Aplicar:
|
|
177
|
+
1. **Plantilla** con placeholders reemplazados por datos del corpus.
|
|
178
|
+
2. **Léxico técnico mínimo** (`references/lexico-tecnico.md`): cero placeholders sin reemplazar, cero fragments de plantilla, cero paths absolutos del developer, sin jerga inventada sin glosa.
|
|
179
|
+
3. **`agent-workflow:redaccion-simple` preset default**: frases cortas, listas sobre prosa, sin relleno.
|
|
180
|
+
4. **Link de visualización por bloque Mermaid (v1.2 — session078)**: por cada bloque ```` ```mermaid ```` en arquitectura.md (Mermaid auxiliar bajo Structurizr default, o Mermaid C4 nativo bajo `--diagrams mermaid`), agregar inmediatamente después del fence de cierre: línea en blanco + blockquote `> Ver diagrama renderizado: <https://mermaid.ink/img/BASE64>`. El `BASE64` es el código Mermaid plano codificado en base64 URL-safe (RFC 4648 §5; alfabeto `A-Z a-z 0-9 - _`). Texto fijo "Ver diagrama renderizado" en español técnico. NO aplica a `workspace.dsl` ni `arquitectura.puml` (mermaid.ink solo renderiza Mermaid).
|
|
181
|
+
|
|
182
|
+
### Paso 8 — Validar (V1-V6)
|
|
183
|
+
|
|
184
|
+
Aplicar checks de `references/validations.md`:
|
|
185
|
+
- V1 estructura (secciones requeridas por `--scope` presentes).
|
|
186
|
+
- V2 noise vetado (grep determinístico).
|
|
187
|
+
- V3 secciones en orden.
|
|
188
|
+
- V4 condicionales (Datos omitido si no MCP; Decisiones omitido si 0 DEC).
|
|
189
|
+
- V5 header bien formado.
|
|
190
|
+
- V6 referencias resolubles (paths a `docs/<categoria>/`).
|
|
191
|
+
|
|
192
|
+
Si V1, V3 o V4 fallan → abortar con error report. V2, V5, V6 → warning.
|
|
193
|
+
|
|
194
|
+
### Paso 9 — Escribir output
|
|
195
|
+
|
|
196
|
+
Si `--dry-run`: imprimir reporte (count secciones, variante, V4 outcome). No escribir.
|
|
197
|
+
|
|
198
|
+
Si pasa: `agent-workflow next-number docs/arquitectura` → escribir directorio:
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
docs/arquitectura/NNN-export-arq-YYYY-MM-DD/
|
|
202
|
+
├── README.md # índice + counts + how-to-read
|
|
203
|
+
├── arquitectura.md # documento principal con Mermaid auxiliar embebido (lectura offline)
|
|
204
|
+
├── workspace.dsl # default (--diagrams structurizr); ausente sólo con --diagrams mermaid
|
|
205
|
+
└── arquitectura.puml # opcional (--diagrams plantuml)
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## Composición con otras skills
|
|
209
|
+
|
|
210
|
+
- **`agent-workflow:redaccion-simple`** — preset default aplicado durante el render (paso 7).
|
|
211
|
+
- **`agent-workflow:rules`** — anchors transversales (sandbox-readonly, commits-policy) consultables.
|
|
212
|
+
- **`agent-workflow:analyze-investigate`** — referenciable para reglas de cost guard MCP cuando `--scope datos`.
|
|
213
|
+
- **`session`** — este skill NO invoca graduación ni cierre. La sesión activa puede consumirlo durante validation o closure para producir un snapshot de arquitectura.
|
|
214
|
+
|
|
215
|
+
## Re-ejecución
|
|
216
|
+
|
|
217
|
+
Idempotente funcional: cada invocación toma siguiente NNN. No sobrescribe outputs previos.
|
|
218
|
+
|
|
219
|
+
Para regenerar el último: borrar el directorio manualmente y re-invocar.
|
|
220
|
+
|
|
221
|
+
## Recursos adicionales
|
|
222
|
+
|
|
223
|
+
- **`references/template-c4.md`** — plantilla canónica con C4 Levels 1-3 + integraciones + datos + decisiones + riesgos.
|
|
224
|
+
- **`references/template-structurizr.dsl`** — Phase 4 opt-in (`workspace.dsl` con `model` + `views`).
|
|
225
|
+
- **`references/template-plantuml.puml`** — Phase 4 opt-in (C4-stdlib).
|
|
226
|
+
- **`references/lexico-tecnico.md`** — lista mínima de "noise" vetado para V2.
|
|
227
|
+
- **`references/validations.md`** — V1-V6 detalladas con condiciones de hard-fail.
|
|
228
|
+
- **`docs/conclusiones/007-export-commands-family.md`** — Propuesta original de la familia `/agent-workflow:export-*` (session055).
|
|
229
|
+
- **`agent-workflow/skills/export-func/SKILL.md`** — hermano (informe ejecutivo) que comparte patrón estructural.
|
|
File without changes
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Léxico técnico — limpieza mínima de noise para export-arq
|
|
2
|
+
|
|
3
|
+
A diferencia de `export-func/references/lexico.md` (que traduce técnico→ejecutivo para audiencia gerencial), este léxico es **mínimo**: la audiencia de `export-arq` es técnica (devs/arquitectos) y los términos técnicos son bienvenidos. Sólo se veta el "noise" interno no profesional.
|
|
4
|
+
|
|
5
|
+
## Lista vetada (V2 — para grep determinista)
|
|
6
|
+
|
|
7
|
+
Términos / patrones que **no deben aparecer** en el cuerpo del output (excepto en `## Referencias`):
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
{{
|
|
11
|
+
}}
|
|
12
|
+
<-- TODO
|
|
13
|
+
<-- FIXME
|
|
14
|
+
<-- WIP
|
|
15
|
+
<-- XXX
|
|
16
|
+
{{PRODUCTO}}
|
|
17
|
+
{{FECHA
|
|
18
|
+
{{C4_CONTEXT
|
|
19
|
+
{{C4_CONTAINER
|
|
20
|
+
{{C4_COMPONENT
|
|
21
|
+
{{INTEGRACIONES
|
|
22
|
+
{{MODELO_DATOS
|
|
23
|
+
{{DECISIONES
|
|
24
|
+
{{RIESGOS
|
|
25
|
+
{{REFERENCIAS
|
|
26
|
+
{{RESUMEN
|
|
27
|
+
{{LISTA_FUENTES
|
|
28
|
+
{{DIAGRAMS_ENGINE
|
|
29
|
+
sessionXXX
|
|
30
|
+
sessionYYY
|
|
31
|
+
sessionNNN
|
|
32
|
+
DEC-NNN
|
|
33
|
+
NNN-export
|
|
34
|
+
YYYY-MM-DD
|
|
35
|
+
/Users/
|
|
36
|
+
~/Git/
|
|
37
|
+
TODO:
|
|
38
|
+
FIXME:
|
|
39
|
+
WIP:
|
|
40
|
+
XXX:
|
|
41
|
+
HACK:
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Qué busca esta lista**:
|
|
45
|
+
- **Placeholders no reemplazados** (`{{...}}`, `sessionXXX`, `DEC-NNN`, `NNN-export`, `YYYY-MM-DD`): indica fallo del render.
|
|
46
|
+
- **Fragmentos de plantilla** (`<-- TODO`, `<-- FIXME`, comentarios HTML que debían stripearse): noise residual.
|
|
47
|
+
- **Paths absolutos del developer** (`/Users/`, `~/Git/`): no son útiles para el lector y filtran info local.
|
|
48
|
+
- **Markers de "WIP"** (TODO/FIXME/HACK con dos puntos): si quedaron en el doc final, V2 los marca como noise.
|
|
49
|
+
|
|
50
|
+
**Excepciones autorizadas** (V2 las exime):
|
|
51
|
+
- La sección `## Referencias` puede contener placeholders esperados (ej. `docs/arquitectura/NNN-...` como path tipo).
|
|
52
|
+
- El header puede contener identificadores del producto que sean canónicos (ej. "qtc-*").
|
|
53
|
+
|
|
54
|
+
## Cómo validar
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Strippear header (antes del primer #) y sección Referencias
|
|
58
|
+
awk '
|
|
59
|
+
BEGIN { body=0 }
|
|
60
|
+
/^# Referencias/ { body=0 }
|
|
61
|
+
body { print }
|
|
62
|
+
/^# / && !/Referencias/ { body=1 }
|
|
63
|
+
' output.md > /tmp/body.md
|
|
64
|
+
|
|
65
|
+
# grep contra la lista vetada (fixed strings, case-sensitive para placeholders).
|
|
66
|
+
grep -n -F -f lexico-noise-vetado.txt /tmp/body.md
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Salida vacía → V2 pasa. Salida con matches → V2 falla.
|
|
70
|
+
|
|
71
|
+
## Reglas adicionales de redacción
|
|
72
|
+
|
|
73
|
+
Aplicables al render del documento. Heredan de `agent-workflow:redaccion-simple` con preset default:
|
|
74
|
+
|
|
75
|
+
- **Frases cortas**: ≤20 palabras (más permisivo que en export-func ejecutivo).
|
|
76
|
+
- **Listas sobre prosa**: 3+ items paralelos → bullets.
|
|
77
|
+
- **Una idea por línea en bullets**.
|
|
78
|
+
- **Sin relleno**: cero "es importante notar que", "cabe destacar", etc.
|
|
79
|
+
- **Verbos directos**: "valida" mejor que "realiza la validación de".
|
|
80
|
+
- **Términos técnicos OK**: jerga del dominio (propuesta, MCP, C4, hook, skill) está autorizada — la audiencia la maneja.
|
|
81
|
+
- **Acrónimos**: glosarlos la primera vez sólo si no son del dominio cotidiano del lector técnico. Ej: "C4 (Context-Container-Component-Code)" la primera vez OK; "MCP" se asume conocido.
|
|
82
|
+
- **Sin nombres del developer** (ni paths absolutos, ni emails, ni handles).
|
|
83
|
+
- **Diagramas integrados con texto**: cada diagrama Mermaid va acompañado de 1-2 líneas que lo introducen o resumen. Diagrama suelto sin texto es noise estructural.
|
|
84
|
+
|
|
85
|
+
## Diferencias con `export-func/references/lexico.md`
|
|
86
|
+
|
|
87
|
+
| Aspecto | `export-arq/lexico-tecnico.md` | `export-func/lexico.md` |
|
|
88
|
+
|---|---|---|
|
|
89
|
+
| Foco | Limpieza de noise interno | Traducción técnica → ejecutiva |
|
|
90
|
+
| Tamaño de tabla | ~25 términos vetados | ~75 términos vetados |
|
|
91
|
+
| Tabla de traducción | ninguna | ~45 pares |
|
|
92
|
+
| Términos técnicos | autorizados | vetados (deben traducirse) |
|
|
93
|
+
| Audiencia | devs/arquitectos | gerencia/jefatura/comité |
|
|
94
|
+
| Grep modo | `-F -f` (case-sensitive ok) | `-i -F -f` (case-insensitive) |
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
# Plantilla canónica — arquitectura.md (export-arq)
|
|
2
|
+
|
|
3
|
+
Plantilla con placeholders identificables. Las llaves dobles `{{PLACEHOLDER}}` se reemplazan por el render del skill. Los comentarios `<!-- ... -->` orientan al AI sobre contenido por sección; no aparecen en el output final.
|
|
4
|
+
|
|
5
|
+
**Secciones condicionales**: aparecen o se omiten según `--scope` y disponibilidad de MCP. Ver `validations.md` V3/V4.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# Arquitectura — {{PRODUCTO}}
|
|
11
|
+
|
|
12
|
+
Snapshot del sistema al {{FECHA_SNAPSHOT}}.
|
|
13
|
+
Fuentes incluidas: {{LISTA_FUENTES}}.
|
|
14
|
+
Variante de diagrama: {{DIAGRAMS_ENGINE}}.
|
|
15
|
+
|
|
16
|
+
## Resumen
|
|
17
|
+
|
|
18
|
+
<!-- 2-4 frases. Qué es el sistema, qué hace, en qué consta a alto nivel.
|
|
19
|
+
Audiencia: devs/arquitectos. Sin jerga inventada sin glosa.
|
|
20
|
+
Sin commits, sin nombres de archivos internos. -->
|
|
21
|
+
|
|
22
|
+
{{RESUMEN}}
|
|
23
|
+
|
|
24
|
+
## Sistema (C4 Context)
|
|
25
|
+
|
|
26
|
+
<!-- C4 Level 1: el sistema como caja única + usuarios + sistemas vecinos.
|
|
27
|
+
Default Structurizr DSL (ver workspace.dsl); Mermaid auxiliar embebido para lectura offline.
|
|
28
|
+
Con --diagrams mermaid el bloque queda como Mermaid C4Context nativo.
|
|
29
|
+
Con --diagrams plantuml se reemplaza por nota inline a arquitectura.puml.
|
|
30
|
+
v1.2 (session078): cada bloque Mermaid lleva debajo blockquote con link mermaid.ink/img/<base64>. -->
|
|
31
|
+
|
|
32
|
+
```mermaid
|
|
33
|
+
{{C4_CONTEXT_MERMAID}}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
> Ver diagrama renderizado: <{{C4_CONTEXT_MERMAID_RENDER_LINK}}>
|
|
37
|
+
|
|
38
|
+
{{C4_CONTEXT_TEXTO}}
|
|
39
|
+
|
|
40
|
+
## Contenedores (C4 Container)
|
|
41
|
+
|
|
42
|
+
<!-- C4 Level 2: aplicaciones / servicios / data stores que componen el sistema.
|
|
43
|
+
Cada fuente declarada en AW-PROJECT aparece como un contenedor.
|
|
44
|
+
Tecnologías por contenedor identificables por manifests (package.json, etc.).
|
|
45
|
+
Default Structurizr DSL (vista `container` en workspace.dsl); Mermaid auxiliar embebido.
|
|
46
|
+
v1.2 (session078): cada bloque Mermaid lleva debajo blockquote con link mermaid.ink/img/<base64>. -->
|
|
47
|
+
|
|
48
|
+
```mermaid
|
|
49
|
+
{{C4_CONTAINER_MERMAID}}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
> Ver diagrama renderizado: <{{C4_CONTAINER_MERMAID_RENDER_LINK}}>
|
|
53
|
+
|
|
54
|
+
{{C4_CONTAINER_TEXTO}}
|
|
55
|
+
|
|
56
|
+
## Componentes (C4 Component)
|
|
57
|
+
|
|
58
|
+
<!-- C4 Level 3: módulos internos relevantes por contenedor.
|
|
59
|
+
Sólo para los contenedores con suficiente complejidad interna.
|
|
60
|
+
1 diagrama por contenedor relevante; el resto se omite.
|
|
61
|
+
Default Structurizr DSL (vistas `component` por contenedor en workspace.dsl); Mermaid auxiliar embebido.
|
|
62
|
+
Condicional por scope: aparece si --scope ∈ {c4, todo}. -->
|
|
63
|
+
|
|
64
|
+
{{C4_COMPONENT_BLOQUES}}
|
|
65
|
+
|
|
66
|
+
## Integraciones externas
|
|
67
|
+
|
|
68
|
+
<!-- Sistemas externos con los que el workspace interactúa.
|
|
69
|
+
Para qtc-* runtime hub: MCP servers, hooks PreToolUse, marketplace, npm registry.
|
|
70
|
+
Tabla + opcional sequenceDiagram para flows críticos.
|
|
71
|
+
Condicional por scope: aparece si --scope ∈ {integraciones, todo}. -->
|
|
72
|
+
|
|
73
|
+
| Integración | Dirección | Tecnología | Uso |
|
|
74
|
+
|---|---|---|---|
|
|
75
|
+
{{INTEGRACIONES_TABLA}}
|
|
76
|
+
|
|
77
|
+
{{INTEGRACIONES_DIAGRAMA_OPCIONAL}}
|
|
78
|
+
|
|
79
|
+
## Modelo de datos
|
|
80
|
+
|
|
81
|
+
<!-- Esquemas BD relevantes, vía MCP read-only (`\d`, `SELECT count`).
|
|
82
|
+
erDiagram con tablas + FK relevantes.
|
|
83
|
+
Condicional por scope+MCP: aparece si --scope ∈ {datos, todo} Y MCP disponible.
|
|
84
|
+
Si MCP no disponible: nota inline _(MCP no configurado — modelo de datos no disponible)_. -->
|
|
85
|
+
|
|
86
|
+
{{MODELO_DATOS_OR_OMIT}}
|
|
87
|
+
|
|
88
|
+
## Decisiones arquitectónicas
|
|
89
|
+
|
|
90
|
+
<!-- Tabla cronológica de DEC-NNN del corpus + propuestas graduadas.
|
|
91
|
+
Cada decisión linkea a su sesión origen.
|
|
92
|
+
Condicional por scope: aparece si --scope ∈ {decisiones, todo}.
|
|
93
|
+
Si 0 DEC → sección omitida con nota o nada (decisión del render). -->
|
|
94
|
+
|
|
95
|
+
| Fecha | DEC | Decisión | Origen |
|
|
96
|
+
|---|---|---|---|
|
|
97
|
+
{{DECISIONES_TABLA}}
|
|
98
|
+
|
|
99
|
+
## Riesgos y deuda
|
|
100
|
+
|
|
101
|
+
<!-- Bullets categorizados (negocio / operativo / técnico).
|
|
102
|
+
Extraídos de `## Open (gaps)`, `## Recommendations`, menciones a "deuda" / "riesgo" en el corpus.
|
|
103
|
+
Cada item ≤30 palabras.
|
|
104
|
+
Condicional por scope: aparece si --scope ∈ {riesgos, todo}. -->
|
|
105
|
+
|
|
106
|
+
{{RIESGOS_BULLETS}}
|
|
107
|
+
|
|
108
|
+
## Referencias
|
|
109
|
+
|
|
110
|
+
<!-- Links a artefactos del workspace.
|
|
111
|
+
Hasta 8 referencias. Omitir categorías sin material. -->
|
|
112
|
+
|
|
113
|
+
{{REFERENCIAS}}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Placeholders detallados
|
|
119
|
+
|
|
120
|
+
### `{{PRODUCTO}}`
|
|
121
|
+
|
|
122
|
+
Nombre del sistema/producto desde `AW-PROJECT.proyecto`. Si la descripción es larga, usar la primera frase (≤10 palabras). Capitalización natural (no mayúsculas a la fuerza).
|
|
123
|
+
|
|
124
|
+
Ejemplo: `Runtime qtc-*` o `Sistema de mantenimiento de parámetros`.
|
|
125
|
+
|
|
126
|
+
### `{{FECHA_SNAPSHOT}}`
|
|
127
|
+
|
|
128
|
+
Fecha del sistema al momento de generar el doc. Formato natural ES: `18 de mayo de 2026`.
|
|
129
|
+
|
|
130
|
+
### `{{LISTA_FUENTES}}`
|
|
131
|
+
|
|
132
|
+
Lista coma-separada de los alias de fuentes declaradas en AW-PROJECT. Si `--source <alias>`, sólo esa fuente.
|
|
133
|
+
|
|
134
|
+
Ejemplo: `agent-workflow, agent-workflow, qtc-plugins-marketplace`.
|
|
135
|
+
|
|
136
|
+
### `{{DIAGRAMS_ENGINE}}`
|
|
137
|
+
|
|
138
|
+
Valor del flag `--diagrams` resuelto: `Structurizr DSL (default)` / `Mermaid C4 nativo` / `PlantUML (C4-stdlib)`. v1.1 (session077) invirtió el default: la elección refleja la regla "tipo de documento manda" — `export-arq` genera dossiers técnicos, Structurizr es el estándar C4 formal.
|
|
139
|
+
|
|
140
|
+
### `{{RESUMEN}}` (2-4 frases)
|
|
141
|
+
|
|
142
|
+
Descripción del sistema en términos técnicos. Sin marketing, sin tono ejecutivo. Audiencia: devs.
|
|
143
|
+
|
|
144
|
+
### `{{C4_CONTEXT_MERMAID}}`
|
|
145
|
+
|
|
146
|
+
Bloque Mermaid `C4Context`. Ejemplo de estructura:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
C4Context
|
|
150
|
+
title Diagrama de Contexto: Runtime qtc-*
|
|
151
|
+
Person(dev, "Developer", "Miembro del equipo")
|
|
152
|
+
System(sistema, "Runtime qtc-*", "Coordinación de sesiones")
|
|
153
|
+
System_Ext(claude, "Claude Code", "Host AI")
|
|
154
|
+
System_Ext(codex, "Codex", "Host AI alternativo")
|
|
155
|
+
System_Ext(npm, "npm registry", "Distribución CLI")
|
|
156
|
+
Rel(dev, sistema, "Usa")
|
|
157
|
+
Rel(sistema, claude, "Se integra con")
|
|
158
|
+
Rel(sistema, codex, "Se integra con")
|
|
159
|
+
Rel(sistema, npm, "Publica a")
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Default `--diagrams structurizr`**: este bloque contiene el export Mermaid del DSL (auxiliar embebido para lectura offline); el archivo canónico es `workspace.dsl`. Con `--diagrams mermaid`: el bloque es Mermaid C4 nativo y `workspace.dsl` no se genera. Con `--diagrams plantuml`: se reemplaza por nota inline `> Ver arquitectura.puml para el diagrama C4 Context en PlantUML.`
|
|
163
|
+
|
|
164
|
+
### `{{C4_CONTEXT_TEXTO}}`
|
|
165
|
+
|
|
166
|
+
1-2 párrafos describiendo el contexto. Quiénes son los actores, qué interacciones existen, qué quedó fuera de scope.
|
|
167
|
+
|
|
168
|
+
### `{{C4_CONTAINER_MERMAID}}`
|
|
169
|
+
|
|
170
|
+
Bloque Mermaid `C4Container` con un contenedor por fuente. Ejemplo:
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
C4Container
|
|
174
|
+
title Diagrama de Contenedores: Runtime qtc-*
|
|
175
|
+
Person(dev, "Developer")
|
|
176
|
+
System_Boundary(sistema, "Runtime qtc-*") {
|
|
177
|
+
Container(cli, "agent-workflow CLI", "Node.js / TypeScript", "Línea de comandos del runtime")
|
|
178
|
+
Container(plugin, "agent-workflow", "Markdown skills + hooks", "Skills y comandos invocables")
|
|
179
|
+
Container(marketplace, "qtc-plugins-marketplace", "JSON manifest", "Distribución del plugin")
|
|
180
|
+
}
|
|
181
|
+
Rel(dev, cli, "Ejecuta")
|
|
182
|
+
Rel(cli, plugin, "Lee skills")
|
|
183
|
+
Rel(plugin, marketplace, "Distribuido via")
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### `{{C4_CONTAINER_TEXTO}}`
|
|
187
|
+
|
|
188
|
+
1 párrafo por contenedor: responsabilidad + tecnología + dependencias externas relevantes.
|
|
189
|
+
|
|
190
|
+
### `{{C4_COMPONENT_BLOQUES}}`
|
|
191
|
+
|
|
192
|
+
Para cada contenedor con complejidad interna suficiente: header `### <Contenedor>` + Mermaid C4Component + texto descriptivo.
|
|
193
|
+
|
|
194
|
+
Si ningún contenedor justifica C4 Component → omitir esta sub-sección completa con nota inline `_(No se identificaron contenedores con complejidad interna que justifiquen C4 Component nivel.)_`.
|
|
195
|
+
|
|
196
|
+
### `{{INTEGRACIONES_TABLA}}`
|
|
197
|
+
|
|
198
|
+
Filas por integración:
|
|
199
|
+
|
|
200
|
+
| Integración | Dirección | Tecnología | Uso |
|
|
201
|
+
|---|---|---|---|
|
|
202
|
+
| Claude Code | bidireccional | CLI + hooks JSON | Host AI principal |
|
|
203
|
+
| Codex | bidireccional | CLI + hooks JSON | Host AI alternativo |
|
|
204
|
+
| MCP <mcp-cert> | salida read-only | PostgreSQL via MCP | Consulta de esquemas BD |
|
|
205
|
+
| npm registry | salida write | HTTPS | Distribución CLI |
|
|
206
|
+
|
|
207
|
+
### `{{INTEGRACIONES_DIAGRAMA_OPCIONAL}}`
|
|
208
|
+
|
|
209
|
+
Sequence Mermaid opcional para flows críticos (ej. session-create cross-runtime). Sólo si aporta claridad real.
|
|
210
|
+
|
|
211
|
+
### `{{MODELO_DATOS_OR_OMIT}}`
|
|
212
|
+
|
|
213
|
+
**A. Si MCP disponible Y `--scope` ∈ {datos, todo}**:
|
|
214
|
+
|
|
215
|
+
```mermaid
|
|
216
|
+
erDiagram
|
|
217
|
+
TABLA_A ||--o{ TABLA_B : "tiene"
|
|
218
|
+
TABLA_A {
|
|
219
|
+
int id PK
|
|
220
|
+
string nombre
|
|
221
|
+
}
|
|
222
|
+
TABLA_B {
|
|
223
|
+
int id PK
|
|
224
|
+
int a_id FK
|
|
225
|
+
string detalle
|
|
226
|
+
}
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
+ tabla con tamaños (cantidad de filas por tabla relevante).
|
|
230
|
+
|
|
231
|
+
**B. Si MCP NO disponible o `--scope` excluye datos**:
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
_(MCP no configurado en este workspace — modelo de datos no disponible.
|
|
235
|
+
Esta sección aparece en workspaces de producto con MCP <mcp-cert> / <mcp-prod> habilitado.)_
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Encabezado de sección sigue presente; el body es la nota.
|
|
239
|
+
|
|
240
|
+
### `{{DECISIONES_TABLA}}`
|
|
241
|
+
|
|
242
|
+
Filas cronológicas (más reciente primero):
|
|
243
|
+
|
|
244
|
+
| Fecha | DEC | Decisión | Origen |
|
|
245
|
+
|---|---|---|---|
|
|
246
|
+
| 2026-05-18 | DEC-001 | Skill standalone sin foundation export-shared | session057-dev-export-func |
|
|
247
|
+
| 2026-05-18 | DEC-002 | Skill orquesta, sin sub-comando CLI dedicado | session057-dev-export-func |
|
|
248
|
+
| ... | ... | ... | ... |
|
|
249
|
+
|
|
250
|
+
Si 0 DEC en el corpus filtrado por `--since` → omitir la sección completa o reemplazar por nota `_(Sin decisiones formales DEC-NNN registradas en el período filtrado.)_` (decisión del render según contexto).
|
|
251
|
+
|
|
252
|
+
### `{{RIESGOS_BULLETS}}`
|
|
253
|
+
|
|
254
|
+
Bullets categorizados:
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
**De negocio**:
|
|
258
|
+
- ...
|
|
259
|
+
|
|
260
|
+
**Operativos**:
|
|
261
|
+
- ...
|
|
262
|
+
|
|
263
|
+
**Técnicos**:
|
|
264
|
+
- ...
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Omitir sub-categorías vacías. Cada item ≤30 palabras.
|
|
268
|
+
|
|
269
|
+
### `{{REFERENCIAS}}`
|
|
270
|
+
|
|
271
|
+
Bullets agrupados:
|
|
272
|
+
|
|
273
|
+
```
|
|
274
|
+
- Decisiones documentadas: docs/decisiones/
|
|
275
|
+
- Propuestas técnicas: docs/conclusiones/
|
|
276
|
+
- Especificaciones: docs/especificaciones/
|
|
277
|
+
- Manuales operativos: docs/manuales/
|
|
278
|
+
- Informes ejecutivos: docs/funcional/
|
|
279
|
+
- Scripts SQL: docs/scripts/
|
|
280
|
+
- README del workspace: ./README.md (si existe)
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
V6 valida que cada path resoluble exista en filesystem; los que no existen → omitidos.
|
|
284
|
+
|
|
285
|
+
## Reglas de render
|
|
286
|
+
|
|
287
|
+
1. **Sin cota dura de palabras**: este doc es técnico; completitud > concisión.
|
|
288
|
+
2. **Léxico**: aplica `lexico-tecnico.md` (mínimo — sólo vetar noise/jerga inventada/placeholders sin reemplazar). NO traducción ejecutiva.
|
|
289
|
+
3. **Diagrama central**: el documento sin diagramas C4 (al menos Context+Container) no es válido — V1 hard-fail.
|
|
290
|
+
4. **Modelo de datos**: condicional V4. Si MCP no configurado → nota inline, no placeholder vacío.
|
|
291
|
+
5. **Decisiones**: condicional. Si 0 DEC → nota o sección omitida (consistente con el patrón).
|
|
292
|
+
6. **Link mermaid.ink por bloque Mermaid (v1.2 — session078)**: cada bloque ```` ```mermaid ```` lleva blockquote inline debajo: `> Ver diagrama renderizado: <https://mermaid.ink/img/BASE64>`. Encoding plain base64 URL-safe del código Mermaid plano. NO aplica a workspace.dsl ni arquitectura.puml.
|
|
293
|
+
7. **Idempotencia conceptual**: dos generaciones consecutivas sobre el mismo workspace producen documentos equivalentes en estructura y datos (diagramas pueden tener layout distintos por nature del render; el BASE64 del link cambia solo si cambia el código Mermaid).
|