trackops 2.0.4 → 2.0.6

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.
Files changed (92) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +660 -575
  3. package/bin/trackops.js +127 -106
  4. package/lib/cli-format.js +118 -0
  5. package/lib/config.js +352 -326
  6. package/lib/control.js +408 -246
  7. package/lib/env.js +234 -222
  8. package/lib/i18n.js +5 -4
  9. package/lib/init.js +390 -282
  10. package/lib/locale.js +41 -41
  11. package/lib/opera-bootstrap.js +1066 -880
  12. package/lib/opera.js +615 -444
  13. package/lib/preferences.js +74 -74
  14. package/lib/registry.js +214 -214
  15. package/lib/release.js +56 -56
  16. package/lib/runtime-state.js +144 -144
  17. package/lib/skills.js +114 -89
  18. package/lib/workspace.js +259 -248
  19. package/locales/en.json +311 -167
  20. package/locales/es.json +314 -170
  21. package/package.json +61 -58
  22. package/scripts/postinstall-locale.js +21 -21
  23. package/scripts/skills-marketplace-smoke.js +124 -124
  24. package/scripts/smoke-tests.js +563 -517
  25. package/scripts/sync-skill-version.js +21 -21
  26. package/scripts/validate-skill.js +103 -103
  27. package/skills/trackops/SKILL.md +126 -122
  28. package/skills/trackops/agents/openai.yaml +7 -7
  29. package/skills/trackops/locales/en/SKILL.md +126 -122
  30. package/skills/trackops/locales/en/references/activation.md +94 -90
  31. package/skills/trackops/locales/en/references/troubleshooting.md +73 -67
  32. package/skills/trackops/locales/en/references/workflow.md +55 -32
  33. package/skills/trackops/references/activation.md +94 -90
  34. package/skills/trackops/references/troubleshooting.md +73 -67
  35. package/skills/trackops/references/workflow.md +55 -32
  36. package/skills/trackops/skill.json +29 -29
  37. package/templates/hooks/post-checkout +2 -2
  38. package/templates/hooks/post-commit +2 -2
  39. package/templates/hooks/post-merge +2 -2
  40. package/templates/opera/agent.md +28 -27
  41. package/templates/opera/architecture/dependency-graph.md +24 -24
  42. package/templates/opera/architecture/runtime-automation.md +24 -24
  43. package/templates/opera/architecture/runtime-operations.md +34 -34
  44. package/templates/opera/en/agent.md +22 -21
  45. package/templates/opera/en/architecture/dependency-graph.md +24 -24
  46. package/templates/opera/en/architecture/runtime-automation.md +24 -24
  47. package/templates/opera/en/architecture/runtime-operations.md +34 -34
  48. package/templates/opera/en/reviews/delivery-audit.md +18 -18
  49. package/templates/opera/en/reviews/integration-audit.md +18 -18
  50. package/templates/opera/en/router.md +24 -19
  51. package/templates/opera/references/autonomy-and-recovery.md +117 -117
  52. package/templates/opera/references/opera-cycle.md +193 -193
  53. package/templates/opera/registry.md +28 -28
  54. package/templates/opera/reviews/delivery-audit.md +18 -18
  55. package/templates/opera/reviews/integration-audit.md +18 -18
  56. package/templates/opera/router.md +54 -49
  57. package/templates/skills/changelog-updater/SKILL.md +69 -69
  58. package/templates/skills/commiter/SKILL.md +99 -99
  59. package/templates/skills/opera-contract-auditor/SKILL.md +38 -38
  60. package/templates/skills/opera-contract-auditor/locales/en/SKILL.md +38 -38
  61. package/templates/skills/opera-policy-guard/SKILL.md +26 -26
  62. package/templates/skills/opera-policy-guard/locales/en/SKILL.md +26 -26
  63. package/templates/skills/opera-skill/SKILL.md +279 -0
  64. package/templates/skills/opera-skill/locales/en/SKILL.md +279 -0
  65. package/templates/skills/opera-skill/locales/en/references/phase-dod.md +138 -0
  66. package/templates/skills/opera-skill/references/phase-dod.md +138 -0
  67. package/templates/skills/project-starter-skill/SKILL.md +150 -131
  68. package/templates/skills/project-starter-skill/locales/en/SKILL.md +143 -105
  69. package/templates/skills/project-starter-skill/references/opera-cycle.md +195 -193
  70. package/ui/css/base.css +284 -284
  71. package/ui/css/charts.css +425 -425
  72. package/ui/css/components.css +1107 -1107
  73. package/ui/css/onboarding.css +133 -133
  74. package/ui/css/terminal.css +125 -125
  75. package/ui/css/timeline.css +58 -58
  76. package/ui/css/tokens.css +284 -284
  77. package/ui/favicon.svg +5 -5
  78. package/ui/index.html +99 -99
  79. package/ui/js/charts.js +526 -526
  80. package/ui/js/console-logger.js +172 -172
  81. package/ui/js/filters.js +247 -247
  82. package/ui/js/icons.js +129 -129
  83. package/ui/js/keyboard.js +229 -229
  84. package/ui/js/router.js +142 -142
  85. package/ui/js/theme.js +100 -100
  86. package/ui/js/time-tracker.js +248 -248
  87. package/ui/js/views/dashboard.js +870 -870
  88. package/ui/js/views/flash.js +47 -47
  89. package/ui/js/views/projects.js +745 -745
  90. package/ui/js/views/scrum.js +476 -476
  91. package/ui/js/views/settings.js +331 -331
  92. package/ui/js/views/timeline.js +265 -265
@@ -0,0 +1,138 @@
1
+ # Definition of Done por Fase
2
+
3
+ > Referencia usada por la opera-skill para decidir si una fase puede cerrarse.
4
+ > Cargala solo cuando se pida cerrar fase, se dude del readiness o haya que justificar por que no se puede avanzar.
5
+
6
+ ---
7
+
8
+ ## O — Orquestar
9
+
10
+ ### Objetivo de salida
11
+ Base operativa clara: problema definido, usuario identificado, contrato coherente.
12
+
13
+ ### Criterios obligatorios
14
+ - [ ] Problema principal definido
15
+ - [ ] Usuario objetivo definido
16
+ - [ ] Resultado singular deseado definido y verificable
17
+ - [ ] Fuente de verdad definida
18
+ - [ ] Las 5 preguntas de descubrimiento respondidas (directriz, integraciones, fuente de verdad, payload, reglas)
19
+ - [ ] Preferencias de repositorio y control de versiones preguntadas y registradas
20
+ - [ ] Preferencias de entorno y despliegue preguntadas y registradas
21
+ - [ ] Esquema JSON de Input/Output definido en `genesis.md` (al menos provisional)
22
+ - [ ] Reglas de comportamiento documentadas
23
+ - [ ] `ops/bootstrap/intake.json` completo con campos minimos (incluye `versionControl` y `deployment`)
24
+ - [ ] `ops/bootstrap/spec-dossier.md` escrito con todas las secciones
25
+ - [ ] `ops/contract/operating-contract.json` compilado
26
+ - [ ] `opera-contract-auditor` ejecutado sin contradicciones criticas
27
+ - [ ] `ops/bootstrap/open-questions.md` actualizado si quedan huecos
28
+ - [ ] `task_plan.md` aprobado por el usuario
29
+
30
+ ### Bloqueadores
31
+ - bootstrap en estado `awaiting_agent` o `needs_review`
32
+ - contradicciones criticas detectadas por el auditor
33
+ - campos obligatorios vacios en intake.json
34
+
35
+ ### Senal de delegacion
36
+ - Si falta intake.json o spec-dossier.md → delega a `project-starter-skill`
37
+ - Si hay contradicciones en contrato → delega a `opera-contract-auditor`
38
+
39
+ ---
40
+
41
+ ## P — Probar
42
+
43
+ ### Objetivo de salida
44
+ Entorno verificado, conectividad confirmada, viabilidad tecnica real.
45
+
46
+ ### Criterios obligatorios
47
+ - [ ] Todas las credenciales en `.env` verificadas (existen y no estan vacias)
48
+ - [ ] Entorno de ejecucion revisado y funcional
49
+ - [ ] Conectividad critica confirmada (APIs, servicios externos)
50
+ - [ ] Shapes de respuesta validados contra schema de `genesis.md`
51
+ - [ ] Resultados documentados en `findings.md`
52
+ - [ ] Si algun test falla, la tarea esta marcada como bloqueada con razon documentada
53
+ - [ ] Ningun finding abierto con severity `critical`
54
+
55
+ ### Bloqueadores
56
+ - credenciales ausentes o invalidas
57
+ - servicio externo critico no responde
58
+ - shape de respuesta no coincide con schema
59
+
60
+ ### Senal de delegacion
61
+ - Si hay riesgo al probar sistemas externos → consulta `opera-policy-guard`
62
+ - Si aparecen contradicciones entre pruebas y contrato → delega a `opera-contract-auditor`
63
+
64
+ ---
65
+
66
+ ## E — Estructurar
67
+
68
+ ### Objetivo de salida
69
+ Trabajo implementado, trazado y alineado con contrato y backlog.
70
+
71
+ ### Criterios obligatorios
72
+ - [ ] Tareas relevantes iniciadas y cerradas con TrackOps
73
+ - [ ] Codigo o configuracion implementados y alineados con el contrato
74
+ - [ ] SOPs escritos en `architecture/` cuando la complejidad lo requiera
75
+ - [ ] Grafo de dependencias documentado en `genesis.md` si hay pipeline
76
+ - [ ] Herramientas con side-effects marcadas con META tags (`idempotent`, `side-effect`, `requires-confirmation`)
77
+ - [ ] Commits siguiendo convencion (skill `commiter` activada)
78
+ - [ ] `CHANGELOG.md` actualizado si el flujo del repo lo requiere (skill `changelog-updater`)
79
+ - [ ] Cambios operativos sincronizados con `trackops sync`
80
+
81
+ ### Bloqueadores
82
+ - tareas de implementacion sin iniciar en trackops
83
+ - codigo que contradice el contrato sin justificacion
84
+ - cambios sin commit
85
+
86
+ ### Senal de delegacion
87
+ - Al hacer commit → delega a `commiter`
88
+ - Post-commit → delega a `changelog-updater`
89
+
90
+ ---
91
+
92
+ ## R — Refinar
93
+
94
+ ### Objetivo de salida
95
+ Outputs alineados con contrato, calidad verificada, contradicciones cerradas.
96
+
97
+ ### Criterios obligatorios
98
+ - [ ] Revision de coherencia completada
99
+ - [ ] Salidas validadas contra templates en `templates/` si existen
100
+ - [ ] Formatos de entrega (Markdown, HTML, JSON) verificados
101
+ - [ ] Si hay interfaz: revision visual completada
102
+ - [ ] `opera-contract-auditor` ejecutado sin contradicciones criticas
103
+ - [ ] `opera-policy-guard` consultado para acciones de riesgo
104
+ - [ ] Ningun finding abierto con severity `critical` o `high`
105
+ - [ ] Findings resueltos o explicitamente aceptados por el usuario
106
+
107
+ ### Bloqueadores
108
+ - contradicciones materiales abiertas entre outputs y contrato
109
+ - acciones rojas/amarillas sin resolver
110
+ - findings criticos abiertos
111
+
112
+ ### Senal de delegacion
113
+ - Para validar contrato → delega a `opera-contract-auditor`
114
+ - Para acciones de riesgo → delega a `opera-policy-guard`
115
+
116
+ ---
117
+
118
+ ## A — Automatizar
119
+
120
+ ### Objetivo de salida
121
+ Automatizacion o release listos, entorno verificado, deuda temporal resuelta.
122
+
123
+ ### Criterios obligatorios
124
+ - [ ] `.tmp/` limpio (sin archivos residuales relevantes)
125
+ - [ ] Codigo desplegado o preparado para despliegue segun `intake.json.deployment`
126
+ - [ ] Triggers configurados y verificados (cron, webhooks) si aplica
127
+ - [ ] Smoke test superado en destino
128
+ - [ ] `progress.md` actualizado con estado final
129
+ - [ ] `trackops sync` ejecutado
130
+ - [ ] Si `versionControl.remote` es true: cambios pusheados al remoto
131
+
132
+ ### Bloqueadores
133
+ - automatizacion que rompe politica o entorno
134
+ - smoke test fallando
135
+ - deuda temporal que impide release limpio
136
+
137
+ ### Senal de delegacion
138
+ - Para acciones de deploy → consulta `opera-policy-guard`
@@ -1,131 +1,150 @@
1
- ---
2
- name: "project-starter-skill"
3
- description: "Skill para discovery y estructuracion inicial de proyectos con TrackOps y OPERA. Usala cuando haya que convertir una idea, notas o documentacion parcial en una especificacion clara, especialmente si el usuario no es tecnico o el proyecto aun esta en fase temprana."
4
- metadata:
5
- version: "4.0"
6
- type: "global"
7
- triggers:
8
- - "nuevo proyecto"
9
- - "iniciar proyecto"
10
- - "project starter"
11
- - "scaffold"
12
- - "idea de proyecto"
13
- - "spec dossier"
14
- ---
15
-
16
- # Project Starter Skill
17
-
18
- Tu trabajo es convertir una idea o una documentacion parcial en un proyecto estructurado y explicable.
19
-
20
- ## Regla principal
21
-
22
- Empieza siempre por la persona, no por la arquitectura.
23
-
24
- - identifica el nivel tecnico del usuario
25
- - adapta el lenguaje y la profundidad a ese nivel
26
- - si ya existe documentacion, leela y consolidala
27
- - si no existe documentacion, construye la primera especificacion util desde la idea
28
-
29
- ## Cuando TrackOps ya esta instalado
30
-
31
- Si el repo ya contiene TrackOps u OPERA:
32
-
33
- - no ejecutes `trackops init`
34
- - no recrees `app/`, `ops/` ni el resto del workspace
35
- - usa `ops/contract/operating-contract.json` como fuente de verdad de maquina si ya existe
36
- - usa `ops/genesis.md` como vista humana compilada
37
- - usa `ops/project_control.json` para backlog y estado operativo
38
- - trabaja sobre `ops/bootstrap/agent-handoff.md`
39
- - escribe:
40
- - `ops/bootstrap/intake.json`
41
- - `ops/bootstrap/spec-dossier.md`
42
- - `ops/bootstrap/open-questions.md` si quedan vacios importantes
43
-
44
- ## Lo que debe producir la skill
45
-
46
- `ops/bootstrap/intake.json` debe dejar, como minimo:
47
-
48
- - `technicalLevel`
49
- - `projectState`
50
- - `documentationState`
51
- - `decisionOwnership`
52
- - `problemStatement`
53
- - `targetUser`
54
- - `singularDesiredOutcome`
55
- - `userLanguage`
56
- - `needsPlainLanguage`
57
- - `recommendedStack`
58
- - `externalServices`
59
- - `sourceOfTruth`
60
- - `payload`
61
- - `behaviorRules`
62
- - `architecturalInvariants`
63
- - `inputSchema`
64
- - `outputSchema`
65
- - `pipeline`
66
- - `templates`
67
-
68
- `ops/bootstrap/spec-dossier.md` debe explicar:
69
-
70
- - `## Problem statement`
71
- - `## Target user`
72
- - `## Singular desired outcome`
73
- - `## Delivery target`
74
- - `## Source of truth`
75
- - flujo funcional principal
76
- - stack recomendado o stack heredado
77
- - integraciones externas
78
- - restricciones relevantes
79
-
80
- `ops/bootstrap/open-questions.md` debe listar:
81
-
82
- - preguntas que siguen abiertas
83
- - contradicciones entre idea, repo y documentacion
84
- - decisiones que TrackOps u OPERA no deben inventar
85
-
86
- ## Calidad minima antes de entregar
87
-
88
- No des por cerrado el discovery si falta alguno de estos campos:
89
-
90
- - problema principal
91
- - usuario objetivo
92
- - resultado singular deseado
93
- - objetivo de entrega
94
- - fuente de verdad
95
- - schema de entrada y salida, aunque sea provisional
96
-
97
- Si algo sigue incierto, dejalo en `open-questions.md` en lugar de inventarlo.
98
-
99
- ## Si TrackOps aun no esta instalado
100
-
101
- No improvises una estructura propia.
102
-
103
- Explica el flujo correcto:
104
-
105
- ```bash
106
- npx skills add Baxahaun/trackops
107
- npm install -g trackops
108
- trackops init
109
- trackops opera install
110
- ```
111
-
112
- Si el usuario solo tiene una idea, deja claro que TrackOps puede derivar el bootstrap a una conversacion guiada con el agente.
113
- - flujo funcional principal
114
- - decisiones de stack, si ya existen o si hay que proponerlas
115
- - integraciones externas
116
- - restricciones relevantes
117
-
118
- ## Si TrackOps aun no esta instalado
119
-
120
- No improvises una estructura propia.
121
-
122
- Explica el flujo correcto:
123
-
124
- ```bash
125
- npx skills add Baxahaun/trackops
126
- npm install -g trackops
127
- trackops init
128
- trackops opera install
129
- ```
130
-
131
- Si el usuario solo tiene una idea, deja claro que TrackOps puede derivar el bootstrap a una conversacion guiada con el agente.
1
+ ---
2
+ name: "project-starter-skill"
3
+ description: "Skill para discovery y estructuracion inicial de proyectos con TrackOps y OPERA. Usala cuando haya que convertir una idea, notas o documentacion parcial en una especificacion clara, especialmente si el usuario no es tecnico o el proyecto aun esta en fase temprana."
4
+ metadata:
5
+ version: "5.0"
6
+ type: "global"
7
+ triggers:
8
+ - "nuevo proyecto"
9
+ - "iniciar proyecto"
10
+ - "project starter"
11
+ - "scaffold"
12
+ - "idea de proyecto"
13
+ - "spec dossier"
14
+ ---
15
+
16
+ # Project Starter Skill
17
+
18
+ Tu trabajo es convertir una idea o una documentacion parcial en un proyecto estructurado y explicable.
19
+
20
+ > **IMPORTANTE**: El framework se llama **OPERA** (Orquestar, Probar, Estructurar, Refinar, Automatizar). NUNCA uses "ETAPA", "E.T.A.P.A." ni ningun otro nombre alternativo. El nombre correcto y unico es **OPERA**.
21
+
22
+ ## Regla principal
23
+
24
+ Empieza siempre por la persona, no por la arquitectura.
25
+
26
+ - identifica el nivel tecnico del usuario
27
+ - adapta el lenguaje y la profundidad a ese nivel
28
+ - si ya existe documentacion, leela y consolidala
29
+ - si no existe documentacion, construye la primera especificacion util desde la idea
30
+
31
+ ## No asumas pregunta
32
+
33
+ Antes de tomar decisiones de infraestructura, repositorio, licencia o stack, **pregunta al usuario**. No des nada por sentado.
34
+
35
+ ### Preguntas de repositorio y control de versiones
36
+
37
+ Estas preguntas son obligatorias durante el descubrimiento:
38
+
39
+ 1. **Repositorio remoto**: ¿Quieres un repositorio remoto? (si/no)
40
+ 2. **Plataforma**: Si si, ¿cual? (GitHub / GitLab / Bitbucket / otro — especificar)
41
+ 3. **Repositorio existente**: ¿Ya existe el repositorio o hay que crearlo?
42
+ 4. **Visibilidad**: ¿Publico o privado?
43
+ 5. **Licencia**: ¿Que licencia de software? (MIT / Apache 2.0 / GPL / propietaria / otra — o "no se, recomiendame")
44
+ 6. **Organizacion**: ¿Bajo que usuario u organizacion?
45
+
46
+ ### Preguntas de entorno y despliegue
47
+
48
+ Complementarias al repositorio:
49
+
50
+ 7. **Entorno de ejecucion**: ¿Donde se ejecutara? (local / servidor / cloud / edge / no se aun)
51
+ 8. **CI/CD**: ¿Necesitas integracion continua o despliegue automatico? (si/no/no se)
52
+ 9. **Dominio/URL**: ¿Tienes dominio o URL de destino?
53
+
54
+ Si el usuario no sabe o no tiene preferencia, puedes recomendar, pero **marca la recomendacion como tal** y pide confirmacion antes de proceder. Nunca crees repositorios, licencias ni estructura sin aprobacion explicita.
55
+
56
+ ## Cuando TrackOps ya esta instalado
57
+
58
+ Si el repo ya contiene TrackOps u OPERA:
59
+
60
+ - no ejecutes `trackops init`
61
+ - no recrees `app/`, `ops/` ni el resto del workspace
62
+ - usa `ops/contract/operating-contract.json` como fuente de verdad de maquina si ya existe
63
+ - usa `ops/genesis.md` como vista humana compilada
64
+ - usa `ops/project_control.json` para backlog y estado operativo
65
+ - trabaja sobre `ops/bootstrap/agent-handoff.md`
66
+ - escribe:
67
+ - `ops/bootstrap/intake.json`
68
+ - `ops/bootstrap/spec-dossier.md`
69
+ - `ops/bootstrap/open-questions.md` si quedan vacios importantes
70
+
71
+ ## Lo que debe producir la skill
72
+
73
+ `ops/bootstrap/intake.json` debe dejar, como minimo:
74
+
75
+ - `technicalLevel`
76
+ - `projectState`
77
+ - `documentationState`
78
+ - `decisionOwnership`
79
+ - `problemStatement`
80
+ - `targetUser`
81
+ - `singularDesiredOutcome`
82
+ - `userLanguage`
83
+ - `needsPlainLanguage`
84
+ - `recommendedStack`
85
+ - `externalServices`
86
+ - `sourceOfTruth`
87
+ - `payload`
88
+ - `behaviorRules`
89
+ - `architecturalInvariants`
90
+ - `inputSchema`
91
+ - `outputSchema`
92
+ - `pipeline`
93
+ - `templates`
94
+ - `versionControl` — objeto con las decisiones de repositorio:
95
+ - `remote` (boolean)
96
+ - `platform` (github/gitlab/bitbucket/other/none)
97
+ - `repoExists` (boolean)
98
+ - `visibility` (public/private)
99
+ - `license` (MIT/Apache-2.0/GPL-3.0/proprietary/other)
100
+ - `org` (usuario u organizacion)
101
+ - `deployment` objeto con las decisiones de entorno:
102
+ - `target` (local/server/cloud/edge/undecided)
103
+ - `cicd` (boolean o null si no decidido)
104
+ - `domain` (string o null)
105
+
106
+ `ops/bootstrap/spec-dossier.md` debe explicar:
107
+
108
+ - `## Problem statement`
109
+ - `## Target user`
110
+ - `## Singular desired outcome`
111
+ - `## Delivery target`
112
+ - `## Source of truth`
113
+ - flujo funcional principal
114
+ - stack recomendado o stack heredado
115
+ - integraciones externas
116
+ - restricciones relevantes
117
+
118
+ `ops/bootstrap/open-questions.md` debe listar:
119
+
120
+ - preguntas que siguen abiertas
121
+ - contradicciones entre idea, repo y documentacion
122
+ - decisiones que TrackOps u OPERA no deben inventar
123
+
124
+ ## Calidad minima antes de entregar
125
+
126
+ No des por cerrado el discovery si falta alguno de estos campos:
127
+
128
+ - problema principal
129
+ - usuario objetivo
130
+ - resultado singular deseado
131
+ - objetivo de entrega
132
+ - fuente de verdad
133
+ - schema de entrada y salida, aunque sea provisional
134
+ - preferencias de repositorio y control de versiones
135
+
136
+ Si algo sigue incierto, dejalo en `open-questions.md` en lugar de inventarlo.
137
+
138
+ ## Si TrackOps aun no esta instalado
139
+
140
+ No improvises una estructura propia.
141
+
142
+ Explica el flujo correcto:
143
+
144
+ ```bash
145
+ npx skills add Baxahaun/trackops
146
+ trackops init
147
+ trackops opera install
148
+ ```
149
+
150
+ Si el usuario solo tiene una idea, deja claro que TrackOps puede derivar el bootstrap a una conversacion guiada con el agente.