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
package/README.md CHANGED
@@ -1,143 +1,148 @@
1
- <p align="center">
2
- <img src="docs/assets/logo.svg" alt="TrackOps Logo" width="96" height="96" />
3
- </p>
4
-
5
- <h1 align="center">TrackOps</h1>
6
-
7
- <p align="center">
8
- <strong>Local orchestration and operational automation for projects built with AI agents.</strong>
9
- </p>
10
-
11
- <p align="center">
12
- <a href="https://www.npmjs.com/package/trackops"><img src="https://img.shields.io/npm/v/trackops?color=D97706&style=flat-square" alt="npm" /></a>
13
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22C55E?style=flat-square" alt="MIT" /></a>
14
- <img src="https://img.shields.io/badge/node-%3E%3D18-333?style=flat-square" alt="Node 18+" />
15
- </p>
16
-
17
- <p align="center">
18
- <a href="#espanol">Espanol</a>&nbsp;&nbsp;·&nbsp;&nbsp;<a href="#english">English</a>&nbsp;&nbsp;·&nbsp;&nbsp;<a href="https://baxahaun.github.io/trackops/">Web</a>
19
- </p>
20
-
21
- ---
22
-
23
- ## Espanol
24
-
25
- TrackOps es un sistema local de orquestacion y automatizacion operativa para proyectos y desarrollo asistido por agentes IA.
26
-
27
- Hace tres cosas:
28
-
29
- 1. prepara al agente con una skill global
30
- 2. activa control operativo dentro de cada repo
31
- 3. media entre el usuario y el agente cuando el proyecto aun esta poco definido
32
-
33
- ### Modelo actual
34
-
35
- TrackOps trabaja en dos capas:
36
-
37
- 1. `skill global`
38
- se instala una vez en el agente
39
- 2. `runtime + activacion local`
40
- se instalan y ejecutan cuando decides gestionar una maquina y un repo concretos
41
-
42
- La activacion local tiene dos caminos:
43
-
44
- - `arranque asistido por agente`
45
- para ideas tempranas, usuarios poco tecnicos o documentacion insuficiente
46
- - `bootstrap directo`
47
- para proyectos ya definidos y usuarios tecnicos
48
-
49
- ### Instalacion global
50
-
51
- Instala la skill global:
52
-
53
- ```bash
54
- npx skills add Baxahaun/trackops
55
- ```
56
-
57
- Instala el runtime de forma explicita:
58
-
59
- ```bash
60
- npm install -g trackops
61
- trackops --version
62
- ```
63
-
64
- Esta separacion es intencional:
65
-
66
- - la skill se audita como capa de instrucciones
67
- - el runtime se instala con un paso visible y verificable
68
- - no hay instalacion transitiva oculta desde la propia skill
69
-
70
- Si `npm install -g trackops` se ejecuta en modo interactivo, TrackOps intenta pedir el idioma global en ese momento. Si tu terminal o npm no muestran ese prompt, puedes fijarlo manualmente despues:
71
-
72
- ```bash
73
- trackops locale set es
74
- trackops locale set en
75
- ```
76
-
77
- ### Flujo completo recomendado
78
-
79
- 1. Instala la skill global:
80
-
81
- ```bash
82
- npx skills add Baxahaun/trackops --skill trackops --agent "*" --global -y
83
- ```
84
-
85
- 2. Instala el runtime:
86
-
87
- ```bash
88
- npm install -g trackops@latest
89
- trackops --version
90
- ```
91
-
92
- 3. Entra en el repo que quieres gestionar:
93
-
94
- ```bash
95
- cd ruta/a/tu/proyecto
96
- ```
97
-
1
+ <p align="center">
2
+ <img src="docs/assets/logo.svg" alt="TrackOps Logo" width="96" height="96" />
3
+ </p>
4
+
5
+ <h1 align="center">TrackOps</h1>
6
+
7
+ <p align="center">
8
+ <strong>Local control and coordination system for AI-agent software development.</strong>
9
+ </p>
10
+
11
+ <p align="center">
12
+ <a href="https://www.npmjs.com/package/trackops"><img src="https://img.shields.io/npm/v/trackops?color=D97706&style=flat-square" alt="npm" /></a>
13
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22C55E?style=flat-square" alt="MIT" /></a>
14
+ <img src="https://img.shields.io/badge/node-%3E%3D18-333?style=flat-square" alt="Node 18+" />
15
+ </p>
16
+
17
+ <p align="center">
18
+ <a href="#espanol">Espanol</a>&nbsp;&nbsp;·&nbsp;&nbsp;<a href="#english">English</a>&nbsp;&nbsp;·&nbsp;&nbsp;<a href="https://baxahaun.github.io/trackops/">Web</a>
19
+ </p>
20
+
21
+ ---
22
+
23
+ ## Espanol
24
+
25
+ TrackOps es un sistema local de control y coordinación para desarrollo de software con agentes IA. Pone estructura donde antes había improvisación.
26
+
27
+ Qué hace:
28
+
29
+ 1. prepara al agente con instrucciones claras (skill global)
30
+ 2. activa control operativo dentro de cada repositorio
31
+ 3. traduce ideas en proyectos ejecutables, aunque el usuario no sea técnico
32
+ 4. coordina un equipo de agentes especializados dentro de cada proyecto (skills de proyecto)
33
+
34
+ ### Cómo funciona
35
+
36
+ TrackOps trabaja en tres capas:
37
+
38
+ 1. `instrucciones para el agente`
39
+ la skill global se instala una vez
40
+ 2. `control local`
41
+ el runtime y la activación se ejecutan dentro de cada repositorio
42
+ 3. `equipo de proyecto`
43
+ al instalar OPERA, se activan agentes especializados que trabajan coordinados
44
+
45
+ La activación local tiene dos caminos:
46
+
47
+ - `arranque asistido por agente`
48
+ para ideas tempranas, usuarios poco técnicos o documentación insuficiente
49
+ - `bootstrap directo`
50
+ para proyectos ya definidos y usuarios técnicos
51
+
52
+ ### Instalacion global
53
+
54
+ Instala la skill global:
55
+
56
+ ```bash
57
+ npx skills add Baxahaun/trackops
58
+ ```
59
+
60
+ Instala el runtime de forma explicita:
61
+
62
+ ```bash
63
+ npm install -g trackops
64
+ trackops --version
65
+ ```
66
+
67
+ Esta separacion es intencional:
68
+
69
+ - la skill se audita como capa de instrucciones
70
+ - el runtime se instala con un paso visible y verificable
71
+ - no hay instalacion transitiva oculta desde la propia skill
72
+
73
+ Si `npm install -g trackops` se ejecuta en modo interactivo, TrackOps intenta pedir el idioma global en ese momento. Si tu terminal o npm no muestran ese prompt, puedes fijarlo manualmente despues:
74
+
75
+ ```bash
76
+ trackops locale set es
77
+ trackops locale set en
78
+ ```
79
+
80
+ ### Flujo completo recomendado
81
+
82
+ 1. Instala la skill global:
83
+
84
+ ```bash
85
+ npx skills add Baxahaun/trackops --skill trackops --agent "*" --global -y
86
+ ```
87
+
88
+ 2. Instala el runtime:
89
+
90
+ ```bash
91
+ npm install -g trackops@latest
92
+ trackops --version
93
+ ```
94
+
95
+ 3. Entra en el repo que quieres gestionar:
96
+
97
+ ```bash
98
+ cd ruta/a/tu/proyecto
99
+ ```
100
+
98
101
  4. Activa TrackOps y elige el idioma del proyecto cuando el CLI lo pida:
99
102
 
100
103
  ```bash
101
104
  trackops init
102
105
  ```
103
106
 
104
- 5. Instala OPERA:
105
-
106
- ```bash
107
- trackops opera install
108
- ```
109
-
110
- 6. Responde el intake inicial con estos valores:
111
-
112
- - nivel tecnico:
113
- `low|medium|high|senior`
114
- tambien acepta `bajo|medio|alto`
115
- - estado del proyecto:
116
- `idea|draft|existing_repo|advanced`
117
- - documentacion:
118
- `none|notes|sos|spec_dossier|repo_docs`
119
- - propiedad de decision:
120
- `user|shared|agent`
121
- tambien acepta `usuario|compartido|agente`
122
-
123
- 7. Si OPERA deriva al agente:
124
-
125
- ```bash
126
- trackops opera handoff --print
127
- ```
128
-
129
- Pega ese contexto en el agente, deja que genere:
130
-
131
- - `ops/bootstrap/intake.json`
132
- - `ops/bootstrap/spec-dossier.md`
133
- - `ops/bootstrap/open-questions.md` si faltan decisiones
134
-
135
- Y despues reanuda:
136
-
137
- ```bash
138
- trackops opera bootstrap --resume
139
- ```
140
-
107
+ `trackops init` funciona sobre directorios vacios, repos ya existentes y workspaces ya activados. Si lo ejecutas otra vez, refresca los artefactos gestionados. `trackops workspace migrate` queda reservado para proyectos TrackOps legacy.
108
+
109
+ 5. Instala OPERA:
110
+
111
+ ```bash
112
+ trackops opera install
113
+ ```
114
+
115
+ 6. Responde el intake inicial con estos valores:
116
+
117
+ - nivel tecnico:
118
+ `low|medium|high|senior`
119
+ tambien acepta `bajo|medio|alto`
120
+ - estado del proyecto:
121
+ `idea|draft|existing_repo|advanced`
122
+ - documentacion:
123
+ `none|notes|sos|spec_dossier|repo_docs`
124
+ - propiedad de decision:
125
+ `user|shared|agent`
126
+ tambien acepta `usuario|compartido|agente`
127
+
128
+ 7. Si OPERA deriva al agente:
129
+
130
+ ```bash
131
+ trackops opera handoff --print
132
+ ```
133
+
134
+ Pega ese contexto en el agente, deja que genere:
135
+
136
+ - `ops/bootstrap/intake.json`
137
+ - `ops/bootstrap/spec-dossier.md`
138
+ - `ops/bootstrap/open-questions.md` si faltan decisiones
139
+
140
+ Y despues reanuda:
141
+
142
+ ```bash
143
+ trackops opera bootstrap --resume
144
+ ```
145
+
141
146
  8. Si OPERA completa bootstrap directo, revisa estado y continua con:
142
147
 
143
148
  ```bash
@@ -146,59 +151,61 @@ trackops next
146
151
  trackops sync
147
152
  ```
148
153
 
149
- ### Desinstalacion global y local
150
-
151
- #### Quitar la instalacion global
152
-
153
- Quita la skill global del agente:
154
-
155
- ```bash
156
- npx skills remove --global trackops -y
157
- ```
158
-
159
- Quita el runtime global:
160
-
161
- ```bash
162
- npm uninstall -g trackops
163
- ```
164
-
165
- Verifica:
166
-
167
- ```bash
168
- npx skills ls -g
169
- trackops --version
170
- ```
171
-
172
- #### Quitar TrackOps de un proyecto
173
-
174
- Hoy no existe un comando `trackops uninstall` para el repo. La retirada local es manual.
175
-
176
- En un workspace split, revisa y elimina solo lo que de verdad quieras retirar:
177
-
178
- - `.trackops-workspace.json`
179
- - `ops/`
180
- - `app/.env` si era solo bridge
181
-
182
- Revisa con cuidado antes de borrar:
183
-
184
- - `/.env`
185
- - `/.env.example`
186
-
187
- Esos archivos pueden seguir siendo utiles para tu proyecto aunque dejes de usar TrackOps.
188
-
189
- ### Activacion local
190
-
191
- Dentro de un repo:
192
-
193
- ```bash
194
- trackops init
195
- trackops opera install
196
- ```
197
-
154
+ Si necesitas una salida mas simple para lectores de pantalla, logs o terminales con soporte Unicode limitado, añade `--plain` o `--a11y` a cualquier comando, por ejemplo `trackops status --plain`.
155
+
156
+ ### Desinstalacion global y local
157
+
158
+ #### Quitar la instalacion global
159
+
160
+ Quita la skill global del agente:
161
+
162
+ ```bash
163
+ npx skills remove --global trackops -y
164
+ ```
165
+
166
+ Quita el runtime global:
167
+
168
+ ```bash
169
+ npm uninstall -g trackops
170
+ ```
171
+
172
+ Verifica:
173
+
174
+ ```bash
175
+ npx skills ls -g
176
+ trackops --version
177
+ ```
178
+
179
+ #### Quitar TrackOps de un proyecto
180
+
181
+ Hoy no existe un comando `trackops uninstall` para el repo. La retirada local es manual.
182
+
183
+ En un workspace split, revisa y elimina solo lo que de verdad quieras retirar:
184
+
185
+ - `.trackops-workspace.json`
186
+ - `ops/`
187
+ - `app/.env` si era solo bridge
188
+
189
+ Revisa con cuidado antes de borrar:
190
+
191
+ - `/.env`
192
+ - `/.env.example`
193
+
194
+ Esos archivos pueden seguir siendo utiles para tu proyecto aunque dejes de usar TrackOps.
195
+
196
+ ### Activacion local
197
+
198
+ Dentro de un repo:
199
+
200
+ ```bash
201
+ trackops init
202
+ trackops opera install
203
+ ```
204
+
198
205
  Semantica:
199
206
 
200
207
  - `trackops init`
201
- activa TrackOps en el repo
208
+ activa o actualiza TrackOps en el repo, adopta repos existentes y puede reejecutarse con seguridad
202
209
  - `trackops opera install`
203
210
  anade OPERA cuando quieres el framework operativo completo
204
211
  - `trackops init --with-opera`
@@ -206,70 +213,79 @@ Semantica:
206
213
  - `trackops init --legacy-layout`
207
214
  existe solo por compatibilidad
208
215
 
209
- ### Workspace split
210
-
211
- Por defecto, TrackOps separa producto y operacion:
212
-
213
- ```text
214
- mi-proyecto/
215
- |- .trackops-workspace.json
216
- |- .env
217
- |- .env.example
218
- |- app/
219
- | \- ...producto real...
220
- \- ops/
221
- |- project_control.json
222
- |- contract/
223
- | \- operating-contract.json
224
- |- policy/
225
- | \- autonomy.json
226
- |- task_plan.md
227
- |- progress.md
228
- |- findings.md
229
- |- genesis.md
230
- |- bootstrap/
231
- |- .agent/
232
- |- .agents/
233
- |- .githooks/
234
- \- .tmp/
235
- ```
236
-
237
- Fuente de verdad operativa:
238
-
239
- - layout split: `ops/project_control.json`
240
- - layout legacy: `project_control.json`
241
-
242
- ### Dos formas de arrancar OPERA
243
-
244
- #### Tengo una idea
245
-
246
- Si el usuario no es tecnico, el proyecto esta en fase idea, o no hay documentacion suficiente, OPERA no sigue con preguntas de arquitectura en terminal. En su lugar:
247
-
248
- 1. pregunta nivel tecnico, estado del proyecto y documentacion disponible
249
- 2. genera un handoff en `ops/bootstrap/agent-handoff.md`
250
- 3. espera a que el agente produzca:
251
- - `ops/bootstrap/intake.json`
252
- - `ops/bootstrap/spec-dossier.md`
253
- - `ops/bootstrap/open-questions.md` si quedan huecos importantes
254
- 4. reanudas con:
255
-
256
- ```bash
257
- trackops opera bootstrap --resume
258
- ```
259
-
260
- La terminal tambien debe decirte este siguiente paso al terminar el handoff.
261
-
216
+ `trackops workspace migrate` se mantiene solo para proyectos TrackOps legacy.
217
+
218
+ ### Workspace split
219
+
220
+ Por defecto, TrackOps separa producto y operacion:
221
+
222
+ ```text
223
+ mi-proyecto/
224
+ |- .trackops-workspace.json
225
+ |- .env
226
+ |- .env.example
227
+ |- app/
228
+ | \- ...producto real...
229
+ \- ops/
230
+ |- project_control.json
231
+ |- contract/
232
+ | \- operating-contract.json
233
+ |- policy/
234
+ | \- autonomy.json
235
+ |- task_plan.md
236
+ |- progress.md
237
+ |- findings.md
238
+ |- genesis.md
239
+ |- bootstrap/
240
+ |- .agent/
241
+ |- .agents/
242
+ |- .githooks/
243
+ \- .tmp/
244
+ ```
245
+
246
+ Fuente de verdad operativa:
247
+
248
+ - layout split: `ops/project_control.json`
249
+ - layout legacy: `project_control.json`
250
+
251
+ ### Dos formas de arrancar OPERA
252
+
253
+ #### Tengo una idea
254
+
255
+ Si el usuario no es tecnico, el proyecto esta en fase idea, o no hay documentacion suficiente, OPERA no sigue con preguntas de arquitectura en terminal. En su lugar:
256
+
257
+ 1. pregunta nivel tecnico, estado del proyecto y documentacion disponible
258
+ 2. genera un handoff en `ops/bootstrap/agent-handoff.md`
259
+ 3. espera a que el agente produzca:
260
+ - `ops/bootstrap/intake.json`
261
+ - `ops/bootstrap/spec-dossier.md`
262
+ - `ops/bootstrap/open-questions.md` si quedan huecos importantes
263
+ 4. reanudas con:
264
+
265
+ ```bash
266
+ trackops opera bootstrap --resume
267
+ ```
268
+
269
+ La terminal tambien debe decirte este siguiente paso al terminar el handoff.
270
+
262
271
  #### Ya tengo un repo
263
272
 
264
- Si el usuario es tecnico y el proyecto ya tiene suficiente contexto, OPERA sigue por bootstrap directo, compila `ops/contract/operating-contract.json` y recompila `ops/genesis.md`.
273
+ Si el usuario es tecnico y el proyecto ya tiene suficiente contexto, OPERA sigue por bootstrap directo. En ese modo crea o actualiza desde el primer paso:
265
274
 
266
- Tambien puedes forzar el modo:
275
+ - `ops/bootstrap/intake.json`
276
+ - `ops/bootstrap/spec-dossier.md`
277
+ - `ops/bootstrap/open-questions.md`
278
+ - `ops/bootstrap/quality-report.json`
267
279
 
268
- ```bash
269
- trackops opera install --bootstrap-mode handoff
270
- trackops opera install --bootstrap-mode direct
271
- ```
280
+ Despues solo compila `ops/contract/operating-contract.json` y recompila `ops/genesis.md` cuando el bootstrap ya es consistente.
272
281
 
282
+ Tambien puedes forzar el modo:
283
+
284
+ ```bash
285
+ trackops opera install --bootstrap-mode handoff
286
+ trackops opera install --bootstrap-mode direct
287
+ ```
288
+
273
289
  Flags disponibles:
274
290
 
275
291
  - `--technical-level low|medium|high|senior`
@@ -277,207 +293,236 @@ Flags disponibles:
277
293
  - `--docs-state none|notes|sos|spec_dossier|repo_docs`
278
294
  - `--decision-ownership user|shared|agent`
279
295
 
280
- ### Entorno y secretos
281
-
282
- TrackOps gestiona un contrato explicito de entorno:
283
-
284
- - `/.env`
285
- secretos reales del workspace
286
- - `/.env.example`
287
- contrato publico de variables
288
- - `app/.env`
289
- puente de compatibilidad
290
-
291
- Comandos:
292
-
293
- ```bash
294
- trackops env status
295
- trackops env sync
296
- ```
297
-
298
- TrackOps nunca imprime ni persiste valores sensibles en docs, dashboard o `project_control.json`.
299
-
300
- ### Idioma
301
-
302
- TrackOps puede trabajar con:
303
-
304
- - idioma global en `~/.trackops/runtime.json`
305
- - idioma por proyecto en `ops/project_control.json`
306
-
307
- Comandos:
308
-
309
- ```bash
310
- trackops locale get
311
- trackops locale set es
312
- trackops doctor locale
313
- ```
314
-
315
- ### CLI principal
316
-
317
- | Comando | Descripcion |
318
- |---|---|
319
- | `trackops init [--with-opera] [--locale es\|en] [--name "..."] [--no-bootstrap] [--legacy-layout]` | Inicializa TrackOps |
320
- | `trackops status` | Muestra estado operativo |
321
- | `trackops next` | Muestra la siguiente cola priorizada |
322
- | `trackops sync` | Regenera docs operativos |
323
- | `trackops workspace status` | Muestra layout y roots |
324
- | `trackops workspace migrate` | Migra un proyecto legacy |
325
- | `trackops env status` | Audita claves presentes y faltantes |
326
- | `trackops env sync` | Regenera `/.env`, `/.env.example` y el puente |
327
- | `trackops locale get\|set [es\|en]` | Lee o fija el idioma global |
328
- | `trackops doctor locale` | Explica el origen del idioma efectivo |
329
- | `trackops release [--push]` | Publica la rama configurada desde `app/` |
330
- | `trackops dashboard` | Lanza el dashboard local |
331
- | `trackops opera install [--bootstrap-mode ...] [--technical-level ...] [--project-state ...] [--docs-state ...] [--decision-ownership ...]` | Instala OPERA y decide la ruta de bootstrap |
332
- | `trackops opera bootstrap [--resume]` | Continua el bootstrap o ingiere el resultado del agente |
333
- | `trackops opera handoff [--print\|--json]` | Muestra el handoff listo para copiar al agente |
296
+ En modo directo, `trackops opera handoff` no inventa un handoff de agente: muestra un resumen guiado de esos archivos y te dice exactamente que completar antes de reanudar.
297
+
298
+ ### Entorno y secretos
299
+
300
+ TrackOps gestiona un contrato explicito de entorno:
301
+
302
+ - `/.env`
303
+ secretos reales del workspace
304
+ - `/.env.example`
305
+ contrato publico de variables
306
+ - `app/.env`
307
+ puente de compatibilidad
308
+
309
+ Comandos:
310
+
311
+ ```bash
312
+ trackops env status
313
+ trackops env sync
314
+ ```
315
+
316
+ TrackOps nunca imprime ni persiste valores sensibles en docs, dashboard o `project_control.json`.
317
+
318
+ ### Idioma
319
+
320
+ TrackOps puede trabajar con:
321
+
322
+ - idioma global en `~/.trackops/runtime.json`
323
+ - idioma por proyecto en `ops/project_control.json`
324
+
325
+ Comandos:
326
+
327
+ ```bash
328
+ trackops locale get
329
+ trackops locale set es
330
+ trackops doctor locale
331
+ ```
332
+
333
+ ### CLI principal
334
+
335
+ | Comando | Descripcion |
336
+ |---|---|
337
+ | `trackops init [--with-opera] [--locale es\|en] [--name "..."] [--no-bootstrap] [--legacy-layout]` | Inicializa o actualiza TrackOps; adopta repos existentes |
338
+ | `trackops status` | Muestra estado operativo |
339
+ | `trackops next` | Muestra la siguiente cola priorizada |
340
+ | `trackops sync` | Regenera docs operativos |
341
+ | `trackops workspace status` | Muestra layout y roots |
342
+ | `trackops workspace migrate` | Migra un proyecto TrackOps legacy |
343
+ | `trackops env status` | Audita claves presentes y faltantes |
344
+ | `trackops env sync` | Regenera `/.env`, `/.env.example` y el puente |
345
+ | `trackops locale get\|set [es\|en]` | Lee o fija el idioma global |
346
+ | `trackops doctor locale` | Explica el origen del idioma efectivo |
347
+ | `trackops release [--push]` | Publica la rama configurada desde `app/` |
348
+ | `trackops dashboard` | Lanza el dashboard local |
349
+ | `trackops opera install [--bootstrap-mode ...] [--technical-level ...] [--project-state ...] [--docs-state ...] [--decision-ownership ...]` | Instala OPERA y decide la ruta de bootstrap |
350
+ | `trackops opera bootstrap [--resume]` | Continua el bootstrap o ingiere el resultado del agente |
351
+ | `trackops opera handoff [--print\|--json]` | Muestra el handoff listo para copiar al agente |
334
352
  | `trackops opera status` | Muestra estado de instalacion y bootstrap |
335
353
  | `trackops opera configure` | Reconfigura idioma o fases |
336
354
  | `trackops opera upgrade --stable [--reset]` | Reescribe artefactos gestionados a la version estable actual |
337
355
 
338
- ### Skills del proyecto
339
-
340
- Hay dos conceptos distintos:
341
-
342
- - la skill global `trackops`
343
- prepara al agente y guia el flujo
344
- - `trackops skill ...`
345
- gestiona skills nativas del proyecto en `ops/.agents/skills/`
346
-
347
- ### Publicacion
348
-
349
- Antes de publicar:
350
-
351
- ```bash
352
- trackops workspace status
353
- trackops env status
354
- npm run skill:validate
355
- npm run skill:smoke
356
- npm run release:check
357
- ```
358
-
359
- `trackops release` publica solo `app/`, incluye `.env.example` y no publica `/.env`, `ops/` ni `.trackops-workspace.json`.
360
-
361
- Guia ampliada: [UserGUIDE.md](./UserGUIDE.md)
362
-
363
- ---
364
-
365
- ## English
366
-
367
- TrackOps is a local orchestration and operational automation system for projects and AI-agent development.
368
-
369
- It does three things:
370
-
371
- 1. prepares the agent with a global skill
372
- 2. activates operational control inside each repository
373
- 3. mediates between the user and the agent when the project is still loosely defined
374
-
375
- ### Current model
376
-
377
- TrackOps works in two layers:
378
-
379
- 1. `global skill`
380
- installed once in the agent
381
- 2. `runtime + local activation`
382
- installed and used when you decide to manage a specific machine and repository
383
-
384
- Local activation has two paths:
385
-
386
- - `agent-led start`
387
- for early ideas, non-technical users, or weak documentation
388
- - `direct bootstrap`
389
- for already defined projects and technical users
390
-
391
- ### Global install
392
-
393
- Install the global skill:
394
-
395
- ```bash
396
- npx skills add Baxahaun/trackops
397
- ```
398
-
399
- Install the runtime explicitly:
400
-
401
- ```bash
402
- npm install -g trackops
403
- trackops --version
404
- ```
405
-
406
- This split is intentional:
407
-
408
- - the skill is audited as an instruction layer
409
- - the runtime is installed through a visible and verifiable step
410
- - there is no hidden transitive install from the skill itself
411
-
412
- If `npm install -g trackops` runs interactively, TrackOps tries to ask for the global language at that moment. If your terminal or npm do not show that prompt, set it manually afterwards:
413
-
414
- ```bash
415
- trackops locale set es
416
- trackops locale set en
417
- ```
418
-
419
- ### Recommended full flow
420
-
421
- 1. Install the global skill:
422
-
423
- ```bash
424
- npx skills add Baxahaun/trackops --skill trackops --agent "*" --global -y
425
- ```
426
-
427
- 2. Install the runtime:
428
-
429
- ```bash
430
- npm install -g trackops@latest
431
- trackops --version
432
- ```
433
-
434
- 3. Enter the repository you want to manage:
435
-
436
- ```bash
437
- cd path/to/your/project
438
- ```
439
-
356
+ Todos los comandos aceptan `--plain` y `--a11y` para una salida mas lineal y accesible.
357
+
358
+ ### Skills del proyecto
359
+
360
+ Hay tres niveles de skills en TrackOps:
361
+
362
+ 1. **Skill global** (`trackops`): se instala una vez en el agente. Explica qué es TrackOps y guía la activación de cada repositorio.
363
+ 2. **Coordinadora** (`opera-skill`): se instala automáticamente con OPERA. Decide qué hacer, en qué orden, cuándo delegar y cuándo frenar.
364
+ 3. **Especialistas**: se instalan con OPERA o manualmente. Cada una cubre un rol concreto.
365
+
366
+ Skills de proyecto instaladas automáticamente con OPERA:
367
+
368
+ - `opera-skill` — coordinadora operativa
369
+ - `project-starter-skill` — descubrimiento y estructuración
370
+ - `opera-contract-auditor` — auditoría del contrato
371
+ - `opera-policy-guard` — control de riesgo
372
+
373
+ Skills adicionales disponibles:
374
+
375
+ - `commiter` — formato de commits
376
+ - `changelog-updater` — registro de cambios
377
+
378
+ Gestión:
379
+
380
+ ```bash
381
+ trackops skill list
382
+ trackops skill catalog
383
+ trackops skill install <nombre>
384
+ trackops skill remove <nombre>
385
+ ```
386
+
387
+ ### Publicacion
388
+
389
+ Antes de publicar:
390
+
391
+ ```bash
392
+ trackops workspace status
393
+ trackops env status
394
+ npm run skill:validate
395
+ npm run skill:smoke
396
+ npm run release:check
397
+ ```
398
+
399
+ `trackops release` publica solo `app/`, incluye `.env.example` y no publica `/.env`, `ops/` ni `.trackops-workspace.json`.
400
+
401
+ Guia ampliada: [UserGUIDE.md](./UserGUIDE.md)
402
+
403
+ ---
404
+
405
+ ## English
406
+
407
+ TrackOps is a local control and coordination system for AI-agent software development. It puts structure where there was improvisation.
408
+
409
+ What it does:
410
+
411
+ 1. prepares the agent with clear instructions (global skill)
412
+ 2. activates operational control inside each repository
413
+ 3. translates ideas into executable projects, even for non-technical users
414
+ 4. coordinates a team of specialized agents inside each project (project skills)
415
+
416
+ ### How it works
417
+
418
+ TrackOps works in three layers:
419
+
420
+ 1. `agent instructions`
421
+ the global skill is installed once
422
+ 2. `local control`
423
+ the runtime and activation run inside each repository
424
+ 3. `project team`
425
+ when you install OPERA, specialized agents are activated and work in coordination
426
+
427
+ Local activation has two paths:
428
+
429
+ - `agent-led start`
430
+ for early ideas, non-technical users, or weak documentation
431
+ - `direct bootstrap`
432
+ for already defined projects and technical users
433
+
434
+ ### Global install
435
+
436
+ Install the global skill:
437
+
438
+ ```bash
439
+ npx skills add Baxahaun/trackops
440
+ ```
441
+
442
+ Install the runtime explicitly:
443
+
444
+ ```bash
445
+ npm install -g trackops
446
+ trackops --version
447
+ ```
448
+
449
+ This split is intentional:
450
+
451
+ - the skill is audited as an instruction layer
452
+ - the runtime is installed through a visible and verifiable step
453
+ - there is no hidden transitive install from the skill itself
454
+
455
+ If `npm install -g trackops` runs interactively, TrackOps tries to ask for the global language at that moment. If your terminal or npm do not show that prompt, set it manually afterwards:
456
+
457
+ ```bash
458
+ trackops locale set es
459
+ trackops locale set en
460
+ ```
461
+
462
+ ### Recommended full flow
463
+
464
+ 1. Install the global skill:
465
+
466
+ ```bash
467
+ npx skills add Baxahaun/trackops --skill trackops --agent "*" --global -y
468
+ ```
469
+
470
+ 2. Install the runtime:
471
+
472
+ ```bash
473
+ npm install -g trackops@latest
474
+ trackops --version
475
+ ```
476
+
477
+ 3. Enter the repository you want to manage:
478
+
479
+ ```bash
480
+ cd path/to/your/project
481
+ ```
482
+
440
483
  4. Activate TrackOps and choose the project language when the CLI asks:
441
484
 
442
485
  ```bash
443
486
  trackops init
444
487
  ```
445
488
 
446
- 5. Install OPERA:
447
-
448
- ```bash
449
- trackops opera install
450
- ```
451
-
452
- 6. Answer the initial intake with these values:
453
-
454
- - technical level:
455
- `low|medium|high|senior`
456
- - project state:
457
- `idea|draft|existing_repo|advanced`
458
- - documentation:
459
- `none|notes|sos|spec_dossier|repo_docs`
460
- - decision ownership:
461
- `user|shared|agent`
462
-
463
- 7. If OPERA routes to the agent:
464
-
465
- ```bash
466
- trackops opera handoff --print
467
- ```
468
-
469
- Paste that context into the agent and let it generate:
470
-
471
- - `ops/bootstrap/intake.json`
472
- - `ops/bootstrap/spec-dossier.md`
473
- - `ops/bootstrap/open-questions.md` when decisions are still missing
474
-
475
- Then resume with:
476
-
477
- ```bash
478
- trackops opera bootstrap --resume
479
- ```
480
-
489
+ `trackops init` works on empty directories, existing repositories, and already initialized workspaces. Rerunning it refreshes managed artifacts. `trackops workspace migrate` is reserved for legacy TrackOps projects.
490
+
491
+ 5. Install OPERA:
492
+
493
+ ```bash
494
+ trackops opera install
495
+ ```
496
+
497
+ 6. Answer the initial intake with these values:
498
+
499
+ - technical level:
500
+ `low|medium|high|senior`
501
+ - project state:
502
+ `idea|draft|existing_repo|advanced`
503
+ - documentation:
504
+ `none|notes|sos|spec_dossier|repo_docs`
505
+ - decision ownership:
506
+ `user|shared|agent`
507
+
508
+ 7. If OPERA routes to the agent:
509
+
510
+ ```bash
511
+ trackops opera handoff --print
512
+ ```
513
+
514
+ Paste that context into the agent and let it generate:
515
+
516
+ - `ops/bootstrap/intake.json`
517
+ - `ops/bootstrap/spec-dossier.md`
518
+ - `ops/bootstrap/open-questions.md` when decisions are still missing
519
+
520
+ Then resume with:
521
+
522
+ ```bash
523
+ trackops opera bootstrap --resume
524
+ ```
525
+
481
526
  8. If OPERA completes direct bootstrap, review status and continue with:
482
527
 
483
528
  ```bash
@@ -486,155 +531,195 @@ trackops next
486
531
  trackops sync
487
532
  ```
488
533
 
489
- ### Local activation
490
-
491
- Inside a repository:
492
-
493
- ```bash
494
- trackops init
495
- trackops opera install
496
- ```
497
-
498
- ### Split workspace
499
-
500
- TrackOps separates product and operations by default:
501
-
502
- ```text
503
- my-project/
504
- |- .trackops-workspace.json
505
- |- .env
506
- |- .env.example
507
- |- app/
508
- \- ops/
509
- |- project_control.json
510
- |- contract/
511
- | \- operating-contract.json
512
- |- policy/
513
- | \- autonomy.json
514
- |- task_plan.md
515
- |- progress.md
516
- |- findings.md
517
- |- genesis.md
518
- |- bootstrap/
519
- |- .agent/
520
- |- .agents/
521
- |- .githooks/
522
- \- .tmp/
523
- ```
524
-
525
- Operational source of truth:
526
-
527
- - split layout: `ops/project_control.json`
528
- - legacy layout: `project_control.json`
529
-
530
- ### Two ways to start OPERA
531
-
532
- #### I only have an idea
533
-
534
- If the user is not technical, the project is still in idea stage, or documentation is weak, OPERA does not keep asking architecture questions in the terminal. Instead it:
535
-
536
- 1. asks for technical level, project state, and available documentation
537
- 2. writes a handoff in `ops/bootstrap/agent-handoff.md`
538
- 3. waits for the agent to produce:
539
- - `ops/bootstrap/intake.json`
540
- - `ops/bootstrap/spec-dossier.md`
541
- - `ops/bootstrap/open-questions.md` when important gaps remain
542
- 4. resumes with:
534
+ If you need simpler output for screen readers, logs, or terminals with limited Unicode support, add `--plain` or `--a11y` to any command, for example `trackops status --plain`.
535
+
536
+ ### Local activation
537
+
538
+ Inside a repository:
539
+
540
+ ```bash
541
+ trackops init
542
+ trackops opera install
543
+ ```
544
+
545
+ ### Split workspace
546
+
547
+ TrackOps separates product and operations by default:
548
+
549
+ ```text
550
+ my-project/
551
+ |- .trackops-workspace.json
552
+ |- .env
553
+ |- .env.example
554
+ |- app/
555
+ \- ops/
556
+ |- project_control.json
557
+ |- contract/
558
+ | \- operating-contract.json
559
+ |- policy/
560
+ | \- autonomy.json
561
+ |- task_plan.md
562
+ |- progress.md
563
+ |- findings.md
564
+ |- genesis.md
565
+ |- bootstrap/
566
+ |- .agent/
567
+ |- .agents/
568
+ |- .githooks/
569
+ \- .tmp/
570
+ ```
571
+
572
+ Operational source of truth:
573
+
574
+ - split layout: `ops/project_control.json`
575
+ - legacy layout: `project_control.json`
576
+
577
+ ### Two ways to start OPERA
578
+
579
+ #### I only have an idea
580
+
581
+ If the user is not technical, the project is still in idea stage, or documentation is weak, OPERA does not keep asking architecture questions in the terminal. Instead it:
582
+
583
+ 1. asks for technical level, project state, and available documentation
584
+ 2. writes a handoff in `ops/bootstrap/agent-handoff.md`
585
+ 3. waits for the agent to produce:
586
+ - `ops/bootstrap/intake.json`
587
+ - `ops/bootstrap/spec-dossier.md`
588
+ - `ops/bootstrap/open-questions.md` when important gaps remain
589
+ 4. resumes with:
590
+
591
+ ```bash
592
+ trackops opera bootstrap --resume
593
+ ```
594
+
595
+ #### I already have a repository
543
596
 
544
- ```bash
545
- trackops opera bootstrap --resume
546
- ```
597
+ If the user is technical and the project already has enough context, OPERA continues with direct bootstrap. In that mode it creates or updates these files from the start:
547
598
 
548
- #### I already have a repository
599
+ - `ops/bootstrap/intake.json`
600
+ - `ops/bootstrap/spec-dossier.md`
601
+ - `ops/bootstrap/open-questions.md`
602
+ - `ops/bootstrap/quality-report.json`
549
603
 
550
- If the user is technical and the project already has enough context, OPERA continues with direct bootstrap, compiles `ops/contract/operating-contract.json`, and recompiles `ops/genesis.md`.
604
+ It only compiles `ops/contract/operating-contract.json` and recompiles `ops/genesis.md` once bootstrap becomes consistent.
551
605
 
552
606
  You can also force the mode:
553
-
554
- ```bash
607
+
608
+ ```bash
555
609
  trackops opera install --bootstrap-mode handoff
556
610
  trackops opera install --bootstrap-mode direct
557
611
  ```
558
612
 
559
- ### Global and local removal
560
-
561
- #### Remove the global install
562
-
563
- Remove the global skill from the agent:
564
-
565
- ```bash
566
- npx skills remove --global trackops -y
567
- ```
568
-
569
- Remove the global runtime:
570
-
571
- ```bash
572
- npm uninstall -g trackops
573
- ```
574
-
575
- Verify:
576
-
577
- ```bash
578
- npx skills ls -g
579
- trackops --version
580
- ```
581
-
582
- #### Remove TrackOps from a project
583
-
584
- There is no `trackops uninstall` command for the repository yet. Local removal is manual.
585
-
586
- In a split workspace, review and remove only what you really want to retire:
587
-
588
- - `.trackops-workspace.json`
589
- - `ops/`
590
- - `app/.env` if it was only the compatibility bridge
591
-
592
- Review carefully before deleting:
593
-
594
- - `/.env`
595
- - `/.env.example`
596
-
597
- Those files may still be useful to the project even if you stop using TrackOps.
598
-
599
- ### Environment and secrets
600
-
601
- TrackOps manages:
602
-
603
- - `/.env`
604
- real workspace secrets
605
- - `/.env.example`
606
- public variable contract
607
- - `app/.env`
608
- compatibility bridge
609
-
610
- Use:
611
-
612
- ```bash
613
- trackops env status
614
- trackops env sync
615
- ```
616
-
617
- ### Language
618
-
619
- TrackOps can work with:
620
-
621
- - a global language in `~/.trackops/runtime.json`
622
- - a per-project language in `ops/project_control.json`
623
-
624
- Commands:
625
-
626
- ```bash
627
- trackops locale get
628
- trackops locale set en
629
- trackops doctor locale
630
- ```
631
-
613
+ In direct mode, `trackops opera handoff` does not fake an agent handoff. It shows a guided summary of those files and the exact next step before resume.
614
+
615
+ ### Global and local removal
616
+
617
+ #### Remove the global install
618
+
619
+ Remove the global skill from the agent:
620
+
621
+ ```bash
622
+ npx skills remove --global trackops -y
623
+ ```
624
+
625
+ Remove the global runtime:
626
+
627
+ ```bash
628
+ npm uninstall -g trackops
629
+ ```
630
+
631
+ Verify:
632
+
633
+ ```bash
634
+ npx skills ls -g
635
+ trackops --version
636
+ ```
637
+
638
+ #### Remove TrackOps from a project
639
+
640
+ There is no `trackops uninstall` command for the repository yet. Local removal is manual.
641
+
642
+ In a split workspace, review and remove only what you really want to retire:
643
+
644
+ - `.trackops-workspace.json`
645
+ - `ops/`
646
+ - `app/.env` if it was only the compatibility bridge
647
+
648
+ Review carefully before deleting:
649
+
650
+ - `/.env`
651
+ - `/.env.example`
652
+
653
+ Those files may still be useful to the project even if you stop using TrackOps.
654
+
655
+ ### Environment and secrets
656
+
657
+ TrackOps manages:
658
+
659
+ - `/.env`
660
+ real workspace secrets
661
+ - `/.env.example`
662
+ public variable contract
663
+ - `app/.env`
664
+ compatibility bridge
665
+
666
+ Use:
667
+
668
+ ```bash
669
+ trackops env status
670
+ trackops env sync
671
+ ```
672
+
673
+ ### Language
674
+
675
+ TrackOps can work with:
676
+
677
+ - a global language in `~/.trackops/runtime.json`
678
+ - a per-project language in `ops/project_control.json`
679
+
680
+ Commands:
681
+
682
+ ```bash
683
+ trackops locale get
684
+ trackops locale set en
685
+ trackops doctor locale
686
+ ```
687
+
688
+ ### Project skills
689
+
690
+ There are three skill levels in TrackOps:
691
+
692
+ 1. **Global skill** (`trackops`): installed once in the agent. Explains what TrackOps is and guides repository activation.
693
+ 2. **Coordinator** (`opera-skill`): installed automatically with OPERA. Decides what to do, in what order, when to delegate, and when to stop.
694
+ 3. **Specialists**: installed with OPERA or manually. Each one covers a specific role.
695
+
696
+ Project skills installed automatically with OPERA:
697
+
698
+ - `opera-skill` — operational coordinator
699
+ - `project-starter-skill` — discovery and structuring
700
+ - `opera-contract-auditor` — contract audit
701
+ - `opera-policy-guard` — risk control
702
+
703
+ Additional skills available:
704
+
705
+ - `commiter` — commit formatting
706
+ - `changelog-updater` — changelog updates
707
+
708
+ Management:
709
+
710
+ ```bash
711
+ trackops skill list
712
+ trackops skill catalog
713
+ trackops skill install <name>
714
+ trackops skill remove <name>
715
+ ```
716
+
632
717
  ### Main CLI
633
718
 
634
- Core and OPERA commands follow the same contract as the Spanish section above, including `trackops opera handoff`, `trackops opera bootstrap --resume`, and the explicit `npm install -g trackops` runtime step.
635
-
636
- ### Publishing
637
-
638
- `trackops release` publishes only `app/`, includes `.env.example`, and never publishes `/.env`, `ops/`, or `.trackops-workspace.json`.
639
-
640
- Extended guide: [UserGUIDE.md](./UserGUIDE.md)
719
+ Core and OPERA commands follow the same contract as the Spanish section above, including `trackops opera handoff`, `trackops opera bootstrap --resume`, the explicit `npm install -g trackops` runtime step, and the global `--plain` / `--a11y` flags.
720
+
721
+ ### Publishing
722
+
723
+ `trackops release` publishes only `app/`, includes `.env.example`, and never publishes `/.env`, `ops/`, or `.trackops-workspace.json`.
724
+
725
+ Extended guide: [UserGUIDE.md](./UserGUIDE.md)