trackops 1.1.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +194 -230
- package/bin/trackops.js +54 -28
- package/lib/config.js +14 -10
- package/lib/control.js +44 -32
- package/lib/env.js +18 -1
- package/lib/init.js +40 -6
- package/lib/opera-bootstrap.js +825 -273
- package/lib/opera.js +360 -110
- package/lib/preferences.js +74 -0
- package/lib/runtime-state.js +144 -0
- package/lib/server.js +155 -25
- package/locales/en.json +136 -42
- package/locales/es.json +136 -42
- package/package.json +2 -1
- package/scripts/postinstall-locale.js +21 -0
- package/scripts/smoke-tests.js +130 -5
- package/scripts/validate-skill.js +2 -1
- package/skills/trackops/SKILL.md +67 -45
- package/skills/trackops/agents/openai.yaml +5 -1
- package/skills/trackops/locales/en/SKILL.md +86 -0
- package/skills/trackops/locales/en/references/activation.md +73 -0
- package/skills/trackops/locales/en/references/troubleshooting.md +49 -0
- package/skills/trackops/locales/en/references/workflow.md +26 -0
- package/skills/trackops/references/activation.md +53 -19
- package/skills/trackops/references/troubleshooting.md +36 -21
- package/skills/trackops/references/workflow.md +21 -15
- package/skills/trackops/scripts/bootstrap-trackops.js +9 -7
- package/skills/trackops/skill.json +4 -4
- package/templates/opera/agent.md +10 -9
- package/templates/opera/architecture/dependency-graph.md +24 -0
- package/templates/opera/architecture/runtime-automation.md +24 -0
- package/templates/opera/architecture/runtime-operations.md +34 -0
- package/templates/opera/en/agent.md +21 -20
- package/templates/opera/en/architecture/dependency-graph.md +24 -0
- package/templates/opera/en/architecture/runtime-automation.md +24 -0
- package/templates/opera/en/architecture/runtime-operations.md +34 -0
- package/templates/opera/en/reviews/delivery-audit.md +18 -0
- package/templates/opera/en/reviews/integration-audit.md +18 -0
- package/templates/opera/en/router.md +19 -9
- package/templates/opera/reviews/delivery-audit.md +18 -0
- package/templates/opera/reviews/integration-audit.md +18 -0
- package/templates/opera/router.md +15 -5
- package/templates/skills/opera-contract-auditor/SKILL.md +38 -0
- package/templates/skills/opera-contract-auditor/locales/en/SKILL.md +38 -0
- package/templates/skills/opera-policy-guard/SKILL.md +26 -0
- package/templates/skills/opera-policy-guard/locales/en/SKILL.md +26 -0
- package/templates/skills/project-starter-skill/SKILL.md +89 -164
- package/templates/skills/project-starter-skill/locales/en/SKILL.md +104 -24
- package/ui/js/views/overview.js +16 -12
- package/templates/etapa/agent.md +0 -26
- package/templates/etapa/genesis.md +0 -94
- package/templates/etapa/references/autonomy-and-recovery.md +0 -117
- package/templates/etapa/references/etapa-cycle.md +0 -193
- package/templates/etapa/registry.md +0 -28
- package/templates/etapa/router.md +0 -39
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<h1 align="center">TrackOps</h1>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
|
-
<strong>Local orchestration and operational automation for AI
|
|
8
|
+
<strong>Local orchestration and operational automation for projects built with AI agents.</strong>
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
@@ -22,91 +22,77 @@
|
|
|
22
22
|
|
|
23
23
|
## Español
|
|
24
24
|
|
|
25
|
-
TrackOps es un sistema local de orquestación y automatización operativa
|
|
25
|
+
TrackOps es un sistema local de orquestación y automatización operativa para proyectos y desarrollo asistido por agentes IA.
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
Hace tres cosas:
|
|
28
|
+
|
|
29
|
+
1. prepara a tu 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 todavía está poco definido
|
|
28
32
|
|
|
29
33
|
### Modelo actual
|
|
30
34
|
|
|
31
|
-
TrackOps
|
|
35
|
+
TrackOps trabaja en dos capas:
|
|
32
36
|
|
|
33
37
|
1. `skill global`
|
|
34
38
|
se instala una vez en tu agente o CLI
|
|
35
39
|
2. `activación local por proyecto`
|
|
36
|
-
se ejecuta cuando
|
|
40
|
+
se ejecuta cuando decides gestionar un repo concreto
|
|
37
41
|
|
|
38
|
-
|
|
42
|
+
La activación local tiene dos caminos:
|
|
39
43
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
- `arranque asistido por agente`
|
|
45
|
+
para ideas tempranas, usuarios poco técnicos o documentación insuficiente
|
|
46
|
+
- `bootstrap directo`
|
|
47
|
+
para proyectos ya definidos y usuarios técnicos
|
|
44
48
|
|
|
45
49
|
### Instalación global
|
|
46
50
|
|
|
47
|
-
TrackOps se distribuye como skill global
|
|
51
|
+
TrackOps se distribuye como skill global:
|
|
48
52
|
|
|
49
53
|
```bash
|
|
50
|
-
npx skills add Baxahaun/trackops
|
|
54
|
+
npx skills add Baxahaun/trackops
|
|
51
55
|
```
|
|
52
56
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
- `antigravity`
|
|
56
|
-
- `claude-code`
|
|
57
|
-
- `codex`
|
|
58
|
-
- `cursor`
|
|
59
|
-
- `gemini-cli`
|
|
60
|
-
- `github-copilot`
|
|
61
|
-
- `kiro-cli`
|
|
57
|
+
La skill:
|
|
62
58
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
- hace disponible TrackOps para tu agente
|
|
66
|
-
- asegura el runtime npm en primer uso
|
|
59
|
+
- prepara el agente
|
|
60
|
+
- asegura el runtime en el primer uso real
|
|
67
61
|
- no modifica repos por sí sola
|
|
68
62
|
|
|
69
|
-
###
|
|
63
|
+
### Primer uso
|
|
70
64
|
|
|
71
|
-
En el primer uso
|
|
65
|
+
En el primer uso, la skill ejecuta:
|
|
72
66
|
|
|
73
67
|
```bash
|
|
74
68
|
node scripts/bootstrap-trackops.js
|
|
75
69
|
```
|
|
76
70
|
|
|
77
|
-
Ese bootstrap
|
|
78
|
-
|
|
79
|
-
- valida `Node.js >= 18`
|
|
80
|
-
- valida `npm`
|
|
81
|
-
- instala o actualiza `trackops`
|
|
82
|
-
- verifica el comando
|
|
83
|
-
- registra el estado en `~/.trackops/runtime.json`
|
|
71
|
+
Ese bootstrap valida `Node.js >= 18`, valida `npm`, instala o actualiza `trackops` y registra el estado en `~/.trackops/runtime.json`.
|
|
84
72
|
|
|
85
|
-
|
|
73
|
+
### Activación local
|
|
86
74
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
Cuando quieres gestionar un repo:
|
|
75
|
+
Dentro de un repo:
|
|
90
76
|
|
|
91
77
|
```bash
|
|
92
78
|
trackops init
|
|
93
79
|
trackops opera install
|
|
94
80
|
```
|
|
95
81
|
|
|
96
|
-
Semántica
|
|
82
|
+
Semántica:
|
|
97
83
|
|
|
98
84
|
- `trackops init`
|
|
99
|
-
|
|
85
|
+
activa TrackOps en el repo
|
|
100
86
|
- `trackops opera install`
|
|
101
|
-
añade OPERA
|
|
87
|
+
añade OPERA cuando quieres el framework operativo completo
|
|
102
88
|
- `trackops init --with-opera`
|
|
103
|
-
existe como atajo
|
|
89
|
+
existe como atajo
|
|
104
90
|
- `trackops init --legacy-layout`
|
|
105
91
|
existe solo por compatibilidad
|
|
106
92
|
|
|
107
93
|
### Workspace split
|
|
108
94
|
|
|
109
|
-
TrackOps separa
|
|
95
|
+
Por defecto, TrackOps separa producto y operación:
|
|
110
96
|
|
|
111
97
|
```text
|
|
112
98
|
mi-proyecto/
|
|
@@ -114,43 +100,100 @@ mi-proyecto/
|
|
|
114
100
|
├── .env
|
|
115
101
|
├── .env.example
|
|
116
102
|
├── app/
|
|
117
|
-
│ ├── .env
|
|
118
103
|
│ └── ...producto real...
|
|
119
104
|
└── ops/
|
|
120
105
|
├── project_control.json
|
|
106
|
+
├── contract/
|
|
107
|
+
│ └── operating-contract.json
|
|
108
|
+
├── policy/
|
|
109
|
+
│ └── autonomy.json
|
|
121
110
|
├── task_plan.md
|
|
122
111
|
├── progress.md
|
|
123
112
|
├── findings.md
|
|
124
113
|
├── genesis.md
|
|
125
|
-
├──
|
|
126
|
-
├── .
|
|
114
|
+
├── bootstrap/
|
|
115
|
+
├── .agent/
|
|
116
|
+
├── .agents/
|
|
127
117
|
├── .githooks/
|
|
128
118
|
└── .tmp/
|
|
129
119
|
```
|
|
130
120
|
|
|
131
121
|
Fuente de verdad operativa:
|
|
132
122
|
|
|
133
|
-
- split
|
|
134
|
-
- legacy
|
|
123
|
+
- layout split: `ops/project_control.json`
|
|
124
|
+
- layout legacy: `project_control.json`
|
|
125
|
+
|
|
126
|
+
### Dos formas de arrancar OPERA
|
|
127
|
+
|
|
128
|
+
#### Tengo una idea
|
|
129
|
+
|
|
130
|
+
Si el usuario no es técnico, el proyecto está en fase idea, o no hay documentación suficiente, OPERA no sigue con preguntas de arquitectura en terminal. En su lugar:
|
|
131
|
+
|
|
132
|
+
1. pregunta nivel técnico, estado del proyecto y documentación disponible
|
|
133
|
+
2. genera un handoff en `ops/bootstrap/agent-handoff.md`
|
|
134
|
+
3. espera a que el agente produzca:
|
|
135
|
+
- `ops/bootstrap/intake.json`
|
|
136
|
+
- `ops/bootstrap/spec-dossier.md`
|
|
137
|
+
- `ops/bootstrap/open-questions.md` si quedan huecos importantes
|
|
138
|
+
4. reanudas con:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
trackops opera bootstrap --resume
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
#### Ya tengo un repo
|
|
145
|
+
|
|
146
|
+
Si el usuario es técnico y el proyecto ya tiene suficiente contexto, OPERA sigue por bootstrap directo, compila `ops/contract/operating-contract.json` y recompila `ops/genesis.md`.
|
|
147
|
+
|
|
148
|
+
También puedes forzar el modo:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
trackops opera install --bootstrap-mode handoff
|
|
152
|
+
trackops opera install --bootstrap-mode direct
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Flags disponibles:
|
|
156
|
+
|
|
157
|
+
- `--technical-level low|medium|high|senior`
|
|
158
|
+
- `--project-state idea|draft|existing_repo|advanced`
|
|
159
|
+
- `--docs-state none|notes|sos|spec_dossier|repo_docs`
|
|
160
|
+
- `--decision-ownership user|shared|agent`
|
|
135
161
|
|
|
136
162
|
### Entorno y secretos
|
|
137
163
|
|
|
138
164
|
TrackOps gestiona un contrato explícito de entorno:
|
|
139
165
|
|
|
140
166
|
- `/.env`
|
|
141
|
-
|
|
167
|
+
secretos reales del workspace
|
|
142
168
|
- `/.env.example`
|
|
143
169
|
contrato público de variables
|
|
144
170
|
- `app/.env`
|
|
145
|
-
puente de compatibilidad
|
|
171
|
+
puente de compatibilidad
|
|
146
172
|
|
|
147
|
-
Comandos
|
|
173
|
+
Comandos:
|
|
148
174
|
|
|
149
175
|
```bash
|
|
150
176
|
trackops env status
|
|
151
177
|
trackops env sync
|
|
152
178
|
```
|
|
153
179
|
|
|
180
|
+
TrackOps nunca imprime ni persiste valores sensibles en docs, dashboard o `project_control.json`.
|
|
181
|
+
|
|
182
|
+
### Idioma
|
|
183
|
+
|
|
184
|
+
TrackOps puede trabajar con:
|
|
185
|
+
|
|
186
|
+
- idioma global en `~/.trackops/runtime.json`
|
|
187
|
+
- idioma por proyecto en `ops/project_control.json`
|
|
188
|
+
|
|
189
|
+
Comandos:
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
trackops locale get
|
|
193
|
+
trackops locale set es
|
|
194
|
+
trackops doctor locale
|
|
195
|
+
```
|
|
196
|
+
|
|
154
197
|
### Trabajo diario
|
|
155
198
|
|
|
156
199
|
```bash
|
|
@@ -161,72 +204,53 @@ trackops env status
|
|
|
161
204
|
trackops dashboard
|
|
162
205
|
```
|
|
163
206
|
|
|
164
|
-
Reglas
|
|
207
|
+
Reglas:
|
|
165
208
|
|
|
166
209
|
- usa `trackops status` para leer foco, fase y bloqueadores
|
|
167
|
-
- usa `trackops next` para
|
|
210
|
+
- usa `trackops next` para ver la siguiente tarea lista
|
|
168
211
|
- usa `trackops sync` para regenerar docs operativos
|
|
169
212
|
- no edites a mano `task_plan.md`, `progress.md` ni `findings.md`
|
|
170
213
|
|
|
171
|
-
El dashboard es local, encuentra un puerto libre si el preferido está ocupado y puede copiar la URL al portapapeles.
|
|
172
|
-
|
|
173
214
|
### CLI principal
|
|
174
215
|
|
|
175
216
|
#### Core
|
|
176
217
|
|
|
177
218
|
| Comando | Descripción |
|
|
178
219
|
|---|---|
|
|
179
|
-
| `trackops init [--with-opera] [--locale es\|en] [--name "..."] [--no-bootstrap] [--legacy-layout]` | Inicializa TrackOps
|
|
180
|
-
| `trackops status` | Muestra
|
|
181
|
-
| `trackops next` | Muestra
|
|
182
|
-
| `trackops sync` | Regenera
|
|
183
|
-
| `trackops workspace status` | Muestra layout
|
|
184
|
-
| `trackops workspace migrate` | Migra un proyecto legacy
|
|
185
|
-
| `trackops env status` | Audita claves
|
|
186
|
-
| `trackops env sync` |
|
|
187
|
-
| `trackops
|
|
188
|
-
| `trackops
|
|
189
|
-
| `trackops
|
|
220
|
+
| `trackops init [--with-opera] [--locale es\|en] [--name "..."] [--no-bootstrap] [--legacy-layout]` | Inicializa TrackOps |
|
|
221
|
+
| `trackops status` | Muestra estado operativo |
|
|
222
|
+
| `trackops next` | Muestra la siguiente cola priorizada |
|
|
223
|
+
| `trackops sync` | Regenera docs operativos |
|
|
224
|
+
| `trackops workspace status` | Muestra layout y roots |
|
|
225
|
+
| `trackops workspace migrate` | Migra un proyecto legacy |
|
|
226
|
+
| `trackops env status` | Audita claves presentes y faltantes |
|
|
227
|
+
| `trackops env sync` | Regenera `/.env`, `/.env.example` y el puente |
|
|
228
|
+
| `trackops locale get\|set [es\|en]` | Lee o fija el idioma global |
|
|
229
|
+
| `trackops doctor locale` | Explica el origen del idioma efectivo |
|
|
230
|
+
| `trackops release [--push]` | Publica la rama configurada desde `app/` |
|
|
231
|
+
| `trackops dashboard` | Lanza el dashboard local |
|
|
190
232
|
|
|
191
233
|
#### OPERA
|
|
192
234
|
|
|
193
235
|
| Comando | Descripción |
|
|
194
236
|
|---|---|
|
|
195
|
-
| `trackops opera install [--
|
|
196
|
-
| `trackops opera bootstrap [--
|
|
197
|
-
| `trackops opera
|
|
198
|
-
| `trackops opera
|
|
199
|
-
| `trackops opera
|
|
237
|
+
| `trackops opera install [--bootstrap-mode ...] [--technical-level ...] [--project-state ...] [--docs-state ...] [--decision-ownership ...]` | Instala OPERA y decide la ruta de bootstrap |
|
|
238
|
+
| `trackops opera bootstrap [--resume]` | Continúa el bootstrap o ingiere el resultado del agente |
|
|
239
|
+
| `trackops opera handoff [--print\|--json]` | Muestra el handoff listo para copiar al agente |
|
|
240
|
+
| `trackops opera status` | Muestra estado de instalación y bootstrap |
|
|
241
|
+
| `trackops opera configure` | Reconfigura idioma o fases |
|
|
242
|
+
| `trackops opera upgrade --stable [--reset]` | Reescribe artefactos gestionados a la versión estable actual |
|
|
200
243
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
`trackops skill ...` gestiona skills nativas del proyecto. En split layout viven en `ops/.agents/skills/`.
|
|
204
|
-
|
|
205
|
-
```bash
|
|
206
|
-
trackops skill catalog
|
|
207
|
-
trackops skill install commiter
|
|
208
|
-
trackops skill list
|
|
209
|
-
trackops skill remove commiter
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
### Vía alternativa sin skill global
|
|
213
|
-
|
|
214
|
-
Si no quieres usar la distribución por skill:
|
|
215
|
-
|
|
216
|
-
```bash
|
|
217
|
-
npx trackops init
|
|
218
|
-
npx trackops dashboard
|
|
219
|
-
```
|
|
244
|
+
### Skills del proyecto
|
|
220
245
|
|
|
221
|
-
|
|
246
|
+
Hay dos conceptos distintos:
|
|
222
247
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
trackops
|
|
226
|
-
|
|
227
|
-
```
|
|
248
|
+
- la skill global `trackops`
|
|
249
|
+
prepara el sistema
|
|
250
|
+
- `trackops skill ...`
|
|
251
|
+
gestiona skills nativas del proyecto en `ops/.agents/skills/`
|
|
228
252
|
|
|
229
|
-
### Publicación
|
|
253
|
+
### Publicación
|
|
230
254
|
|
|
231
255
|
Antes de publicar:
|
|
232
256
|
|
|
@@ -238,7 +262,7 @@ npm run skill:smoke
|
|
|
238
262
|
npm run release:check
|
|
239
263
|
```
|
|
240
264
|
|
|
241
|
-
|
|
265
|
+
`trackops release` publica solo `app/`, incluye `.env.example` y no publica `/.env`, `ops/` ni `.trackops-workspace.json`.
|
|
242
266
|
|
|
243
267
|
Guía ampliada: [UserGUIDE.md](./UserGUIDE.md)
|
|
244
268
|
|
|
@@ -248,89 +272,60 @@ Guía ampliada: [UserGUIDE.md](./UserGUIDE.md)
|
|
|
248
272
|
|
|
249
273
|
TrackOps is a local orchestration and operational automation system for projects and AI-agent development.
|
|
250
274
|
|
|
251
|
-
It
|
|
275
|
+
It does three things:
|
|
276
|
+
|
|
277
|
+
1. prepares your agent with a global skill
|
|
278
|
+
2. activates operational control inside each repository
|
|
279
|
+
3. mediates between the user and the agent when the project is still loosely defined
|
|
252
280
|
|
|
253
281
|
### Current model
|
|
254
282
|
|
|
255
283
|
TrackOps works in two layers:
|
|
256
284
|
|
|
257
285
|
1. `global skill`
|
|
258
|
-
installed once in
|
|
286
|
+
installed once in the agent or CLI
|
|
259
287
|
2. `local per-project activation`
|
|
260
|
-
run
|
|
288
|
+
run when you decide to manage a specific repository
|
|
261
289
|
|
|
262
|
-
|
|
290
|
+
Local activation has two paths:
|
|
263
291
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
292
|
+
- `agent-led start`
|
|
293
|
+
for early ideas, non-technical users, or weak documentation
|
|
294
|
+
- `direct bootstrap`
|
|
295
|
+
for already defined projects and technical users
|
|
268
296
|
|
|
269
297
|
### Global install
|
|
270
298
|
|
|
271
|
-
|
|
299
|
+
Install the global skill with:
|
|
272
300
|
|
|
273
301
|
```bash
|
|
274
|
-
npx skills add Baxahaun/trackops
|
|
302
|
+
npx skills add Baxahaun/trackops
|
|
275
303
|
```
|
|
276
304
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
- `antigravity`
|
|
280
|
-
- `claude-code`
|
|
281
|
-
- `codex`
|
|
282
|
-
- `cursor`
|
|
283
|
-
- `gemini-cli`
|
|
284
|
-
- `github-copilot`
|
|
285
|
-
- `kiro-cli`
|
|
286
|
-
|
|
287
|
-
The global skill:
|
|
305
|
+
The skill prepares the agent, ensures the runtime on first use, and does not mutate repositories by itself.
|
|
288
306
|
|
|
289
|
-
|
|
290
|
-
- ensures the npm runtime on first use
|
|
291
|
-
- does not mutate repositories by itself
|
|
307
|
+
### First use
|
|
292
308
|
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
On first real use, the skill runs:
|
|
309
|
+
On first use the skill runs:
|
|
296
310
|
|
|
297
311
|
```bash
|
|
298
312
|
node scripts/bootstrap-trackops.js
|
|
299
313
|
```
|
|
300
314
|
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
- validates `Node.js >= 18`
|
|
304
|
-
- validates `npm`
|
|
305
|
-
- installs or updates `trackops`
|
|
306
|
-
- verifies the command
|
|
307
|
-
- records state in `~/.trackops/runtime.json`
|
|
308
|
-
|
|
309
|
-
Skill contract: [skills/trackops/skill.json](./skills/trackops/skill.json)
|
|
315
|
+
It validates `Node.js >= 18`, validates `npm`, installs or updates `trackops`, and records state in `~/.trackops/runtime.json`.
|
|
310
316
|
|
|
311
|
-
### Local
|
|
317
|
+
### Local activation
|
|
312
318
|
|
|
313
|
-
|
|
319
|
+
Inside a repository:
|
|
314
320
|
|
|
315
321
|
```bash
|
|
316
322
|
trackops init
|
|
317
323
|
trackops opera install
|
|
318
324
|
```
|
|
319
325
|
|
|
320
|
-
Official semantics:
|
|
321
|
-
|
|
322
|
-
- `trackops init`
|
|
323
|
-
creates a split workspace by default with `app/`, `ops/`, `/.env`, `/.env.example`, and `.trackops-workspace.json`
|
|
324
|
-
- `trackops opera install`
|
|
325
|
-
adds OPERA to an initialized project and writes only inside `ops/`
|
|
326
|
-
- `trackops init --with-opera`
|
|
327
|
-
exists as an explicit shortcut
|
|
328
|
-
- `trackops init --legacy-layout`
|
|
329
|
-
exists only for compatibility
|
|
330
|
-
|
|
331
326
|
### Split workspace
|
|
332
327
|
|
|
333
|
-
TrackOps separates
|
|
328
|
+
TrackOps separates product and operations by default:
|
|
334
329
|
|
|
335
330
|
```text
|
|
336
331
|
my-project/
|
|
@@ -338,16 +333,19 @@ my-project/
|
|
|
338
333
|
├── .env
|
|
339
334
|
├── .env.example
|
|
340
335
|
├── app/
|
|
341
|
-
│ ├── .env
|
|
342
|
-
│ └── ...real product...
|
|
343
336
|
└── ops/
|
|
344
337
|
├── project_control.json
|
|
338
|
+
├── contract/
|
|
339
|
+
│ └── operating-contract.json
|
|
340
|
+
├── policy/
|
|
341
|
+
│ └── autonomy.json
|
|
345
342
|
├── task_plan.md
|
|
346
343
|
├── progress.md
|
|
347
344
|
├── findings.md
|
|
348
345
|
├── genesis.md
|
|
349
|
-
├──
|
|
350
|
-
├── .
|
|
346
|
+
├── bootstrap/
|
|
347
|
+
├── .agent/
|
|
348
|
+
├── .agents/
|
|
351
349
|
├── .githooks/
|
|
352
350
|
└── .tmp/
|
|
353
351
|
```
|
|
@@ -357,111 +355,77 @@ Operational source of truth:
|
|
|
357
355
|
- split layout: `ops/project_control.json`
|
|
358
356
|
- legacy layout: `project_control.json`
|
|
359
357
|
|
|
360
|
-
###
|
|
358
|
+
### Two ways to start OPERA
|
|
361
359
|
|
|
362
|
-
|
|
360
|
+
#### I only have an idea
|
|
363
361
|
|
|
364
|
-
|
|
365
|
-
real secrets file for the workspace
|
|
366
|
-
- `/.env.example`
|
|
367
|
-
public variable contract
|
|
368
|
-
- `app/.env`
|
|
369
|
-
compatibility bridge for product tooling
|
|
370
|
-
|
|
371
|
-
Main commands:
|
|
372
|
-
|
|
373
|
-
```bash
|
|
374
|
-
trackops env status
|
|
375
|
-
trackops env sync
|
|
376
|
-
```
|
|
362
|
+
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:
|
|
377
363
|
|
|
378
|
-
|
|
364
|
+
1. asks for technical level, project state, and available documentation
|
|
365
|
+
2. writes a handoff in `ops/bootstrap/agent-handoff.md`
|
|
366
|
+
3. waits for the agent to produce:
|
|
367
|
+
- `ops/bootstrap/intake.json`
|
|
368
|
+
- `ops/bootstrap/spec-dossier.md`
|
|
369
|
+
- `ops/bootstrap/open-questions.md` when important gaps remain
|
|
370
|
+
4. resumes with:
|
|
379
371
|
|
|
380
372
|
```bash
|
|
381
|
-
trackops
|
|
382
|
-
trackops next
|
|
383
|
-
trackops sync
|
|
384
|
-
trackops env status
|
|
385
|
-
trackops dashboard
|
|
373
|
+
trackops opera bootstrap --resume
|
|
386
374
|
```
|
|
387
375
|
|
|
388
|
-
|
|
376
|
+
#### I already have a repository
|
|
389
377
|
|
|
390
|
-
|
|
391
|
-
- use `trackops next` to find the next ready task
|
|
392
|
-
- use `trackops sync` to regenerate operational docs
|
|
393
|
-
- do not hand-edit `task_plan.md`, `progress.md`, or `findings.md`
|
|
378
|
+
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`.
|
|
394
379
|
|
|
395
|
-
|
|
380
|
+
You can also force the mode:
|
|
396
381
|
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
| Command | Description |
|
|
402
|
-
|---|---|
|
|
403
|
-
| `trackops init [--with-opera] [--locale es\|en] [--name "..."] [--no-bootstrap] [--legacy-layout]` | Initialize TrackOps in the current repo |
|
|
404
|
-
| `trackops status` | Show the current operational state |
|
|
405
|
-
| `trackops next` | Show the next ready tasks |
|
|
406
|
-
| `trackops sync` | Regenerate operational docs |
|
|
407
|
-
| `trackops workspace status` | Show workspace layout, roots, and publish configuration |
|
|
408
|
-
| `trackops workspace migrate` | Migrate a legacy project to the `app/` + `ops/` layout |
|
|
409
|
-
| `trackops env status` | Audit required, present, and missing keys without showing values |
|
|
410
|
-
| `trackops env sync` | Create or regenerate `/.env`, `/.env.example`, and the `app/.env` bridge |
|
|
411
|
-
| `trackops release [--push]` | Publish the configured branch from `app/` |
|
|
412
|
-
| `trackops dashboard [--port N] [--host HOST] [--public] [--strict-port]` | Launch the local dashboard |
|
|
413
|
-
| `trackops version` | Print the installed version |
|
|
382
|
+
```bash
|
|
383
|
+
trackops opera install --bootstrap-mode handoff
|
|
384
|
+
trackops opera install --bootstrap-mode direct
|
|
385
|
+
```
|
|
414
386
|
|
|
415
|
-
|
|
387
|
+
### Environment and secrets
|
|
416
388
|
|
|
417
|
-
|
|
418
|
-
|---|---|
|
|
419
|
-
| `trackops opera install [--locale es\|en] [--non-interactive] [--no-bootstrap]` | Install OPERA in the current project |
|
|
420
|
-
| `trackops opera bootstrap [--locale es\|en] [--non-interactive]` | Resume the OPERA bootstrap |
|
|
421
|
-
| `trackops opera status` | Show install and bootstrap state |
|
|
422
|
-
| `trackops opera configure [--phases '...'] [--locale es\|en]` | Reconfigure phases or locale |
|
|
423
|
-
| `trackops opera upgrade` | Update OPERA templates to the package version |
|
|
389
|
+
TrackOps manages:
|
|
424
390
|
|
|
425
|
-
|
|
391
|
+
- `/.env`
|
|
392
|
+
real workspace secrets
|
|
393
|
+
- `/.env.example`
|
|
394
|
+
public variable contract
|
|
395
|
+
- `app/.env`
|
|
396
|
+
compatibility bridge
|
|
426
397
|
|
|
427
|
-
|
|
398
|
+
### Language
|
|
428
399
|
|
|
429
|
-
|
|
430
|
-
trackops skill catalog
|
|
431
|
-
trackops skill install commiter
|
|
432
|
-
trackops skill list
|
|
433
|
-
trackops skill remove commiter
|
|
434
|
-
```
|
|
400
|
+
TrackOps can work with:
|
|
435
401
|
|
|
436
|
-
|
|
402
|
+
- a global language in `~/.trackops/runtime.json`
|
|
403
|
+
- a per-project language in `ops/project_control.json`
|
|
437
404
|
|
|
438
|
-
|
|
405
|
+
Commands:
|
|
439
406
|
|
|
440
407
|
```bash
|
|
441
|
-
|
|
442
|
-
|
|
408
|
+
trackops locale get
|
|
409
|
+
trackops locale set en
|
|
410
|
+
trackops doctor locale
|
|
443
411
|
```
|
|
444
412
|
|
|
445
|
-
|
|
413
|
+
### Daily workflow
|
|
446
414
|
|
|
447
415
|
```bash
|
|
448
|
-
|
|
449
|
-
trackops
|
|
450
|
-
trackops
|
|
416
|
+
trackops status
|
|
417
|
+
trackops next
|
|
418
|
+
trackops sync
|
|
419
|
+
trackops env status
|
|
420
|
+
trackops dashboard
|
|
451
421
|
```
|
|
452
422
|
|
|
453
|
-
###
|
|
423
|
+
### Main CLI
|
|
454
424
|
|
|
455
|
-
|
|
425
|
+
Core and OPERA commands follow the same contract as the Spanish section above, including `trackops opera handoff` and `trackops opera bootstrap --resume`.
|
|
456
426
|
|
|
457
|
-
|
|
458
|
-
trackops workspace status
|
|
459
|
-
trackops env status
|
|
460
|
-
npm run skill:validate
|
|
461
|
-
npm run skill:smoke
|
|
462
|
-
npm run release:check
|
|
463
|
-
```
|
|
427
|
+
### Publishing
|
|
464
428
|
|
|
465
|
-
|
|
429
|
+
`trackops release` publishes only `app/`, includes `.env.example`, and never publishes `/.env`, `ops/`, or `.trackops-workspace.json`.
|
|
466
430
|
|
|
467
431
|
Extended guide: [UserGUIDE.md](./UserGUIDE.md)
|