trackops 1.0.1 → 2.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.
Files changed (83) hide show
  1. package/README.md +292 -272
  2. package/bin/trackops.js +108 -50
  3. package/lib/config.js +267 -38
  4. package/lib/control.js +534 -480
  5. package/lib/env.js +244 -0
  6. package/lib/i18n.js +61 -53
  7. package/lib/init.js +170 -47
  8. package/lib/locale.js +63 -0
  9. package/lib/opera-bootstrap.js +1075 -0
  10. package/lib/opera.js +524 -125
  11. package/lib/preferences.js +74 -0
  12. package/lib/registry.js +27 -13
  13. package/lib/release.js +56 -0
  14. package/lib/resources.js +42 -0
  15. package/lib/runtime-state.js +144 -0
  16. package/lib/server.js +1004 -521
  17. package/lib/skills.js +148 -124
  18. package/lib/workspace.js +260 -0
  19. package/locales/en.json +418 -132
  20. package/locales/es.json +418 -132
  21. package/package.json +8 -9
  22. package/scripts/postinstall-locale.js +21 -0
  23. package/scripts/skills-marketplace-smoke.js +124 -0
  24. package/scripts/smoke-tests.js +570 -0
  25. package/scripts/sync-skill-version.js +21 -0
  26. package/scripts/validate-skill.js +89 -0
  27. package/skills/trackops/SKILL.md +89 -0
  28. package/skills/trackops/agents/openai.yaml +3 -0
  29. package/skills/trackops/references/activation.md +73 -0
  30. package/skills/trackops/references/troubleshooting.md +49 -0
  31. package/skills/trackops/references/workflow.md +26 -0
  32. package/skills/trackops/scripts/bootstrap-trackops.js +203 -0
  33. package/skills/trackops/skill.json +29 -0
  34. package/templates/opera/agent.md +10 -9
  35. package/templates/opera/architecture/dependency-graph.md +24 -0
  36. package/templates/opera/architecture/runtime-automation.md +24 -0
  37. package/templates/opera/architecture/runtime-operations.md +34 -0
  38. package/templates/opera/en/agent.md +27 -0
  39. package/templates/opera/en/architecture/dependency-graph.md +24 -0
  40. package/templates/opera/en/architecture/runtime-automation.md +24 -0
  41. package/templates/opera/en/architecture/runtime-operations.md +34 -0
  42. package/templates/opera/en/genesis.md +79 -0
  43. package/templates/opera/en/references/autonomy-and-recovery.md +23 -0
  44. package/templates/opera/en/references/opera-cycle.md +62 -0
  45. package/templates/opera/en/registry.md +28 -0
  46. package/templates/opera/en/reviews/delivery-audit.md +18 -0
  47. package/templates/opera/en/reviews/integration-audit.md +18 -0
  48. package/templates/opera/en/router.md +49 -0
  49. package/templates/opera/genesis.md +79 -94
  50. package/templates/opera/reviews/delivery-audit.md +18 -0
  51. package/templates/opera/reviews/integration-audit.md +18 -0
  52. package/templates/opera/router.md +15 -5
  53. package/templates/skills/changelog-updater/locales/en/SKILL.md +11 -0
  54. package/templates/skills/commiter/locales/en/SKILL.md +11 -0
  55. package/templates/skills/opera-contract-auditor/SKILL.md +38 -0
  56. package/templates/skills/opera-contract-auditor/locales/en/SKILL.md +38 -0
  57. package/templates/skills/opera-policy-guard/SKILL.md +26 -0
  58. package/templates/skills/opera-policy-guard/locales/en/SKILL.md +26 -0
  59. package/templates/skills/project-starter-skill/SKILL.md +89 -164
  60. package/templates/skills/project-starter-skill/locales/en/SKILL.md +104 -0
  61. package/ui/css/panels.css +956 -953
  62. package/ui/index.html +1 -1
  63. package/ui/js/api.js +211 -194
  64. package/ui/js/app.js +200 -199
  65. package/ui/js/i18n.js +14 -0
  66. package/ui/js/onboarding.js +439 -437
  67. package/ui/js/state.js +130 -129
  68. package/ui/js/utils.js +175 -172
  69. package/ui/js/views/board.js +255 -254
  70. package/ui/js/views/execution.js +256 -256
  71. package/ui/js/views/insights.js +340 -339
  72. package/ui/js/views/overview.js +366 -361
  73. package/ui/js/views/settings.js +340 -202
  74. package/ui/js/views/sidebar.js +131 -132
  75. package/ui/js/views/skills.js +163 -162
  76. package/ui/js/views/tasks.js +406 -405
  77. package/ui/js/views/topbar.js +239 -183
  78. package/templates/etapa/agent.md +0 -26
  79. package/templates/etapa/genesis.md +0 -94
  80. package/templates/etapa/references/autonomy-and-recovery.md +0 -117
  81. package/templates/etapa/references/etapa-cycle.md +0 -193
  82. package/templates/etapa/registry.md +0 -28
  83. package/templates/etapa/router.md +0 -39
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: "opera-policy-guard"
3
+ description: "Skill para interpretar la politica ejecutable de OPERA y decidir que acciones requieren aprobacion explicita."
4
+ metadata:
5
+ version: "1.0"
6
+ type: "project"
7
+ ---
8
+
9
+ # OPERA Policy Guard
10
+
11
+ Usa esta skill cuando vayas a ejecutar acciones con riesgo operativo, efectos externos o cambios destructivos.
12
+
13
+ ## Fuente principal
14
+
15
+ - `ops/policy/autonomy.json`
16
+
17
+ ## Debes responder
18
+
19
+ - si la accion es verde, amarilla o roja
20
+ - si requiere aprobacion explicita
21
+ - que efecto externo produce
22
+ - que alternativa segura existe si no hay permiso
23
+
24
+ ## Regla
25
+
26
+ Si la politica deja dudas, no asumas permiso. Marca la accion como bloqueada hasta aclararlo.
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: "opera-policy-guard"
3
+ description: "Skill for interpreting the OPERA executable policy and deciding which actions require explicit approval."
4
+ metadata:
5
+ version: "1.0"
6
+ type: "project"
7
+ ---
8
+
9
+ # OPERA Policy Guard
10
+
11
+ Use this skill before actions with operational risk, external side effects, or destructive changes.
12
+
13
+ ## Primary source
14
+
15
+ - `ops/policy/autonomy.json`
16
+
17
+ ## You must answer
18
+
19
+ - whether the action is green, yellow, or red
20
+ - whether it requires explicit approval
21
+ - what external side effect it causes
22
+ - what safe alternative exists if approval is missing
23
+
24
+ ## Rule
25
+
26
+ If the policy is ambiguous, do not assume permission. Mark the action as blocked until it is clarified.
@@ -1,204 +1,129 @@
1
1
  ---
2
2
  name: "project-starter-skill"
3
- description: "Skill global para inicializar proyectos completos usando el protocolo O.P.E.R.A. (Orquestar, Probar, Estructurar, Refinar, Automatizar). Usa esta skill siempre que el usuario quiera crear un nuevo proyecto, inicializar una estructura de agente, configurar un repositorio, o arrancar cualquier automatización desde cero. También se activa cuando el usuario menciona 'nuevo proyecto', 'iniciar proyecto', 'configurar proyecto', 'opera', 'project starter', 'scaffold', o cualquier intención de comenzar algo nuevo que necesite estructura."
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
4
  metadata:
5
- version: "3.0"
5
+ version: "4.0"
6
6
  type: "global"
7
7
  triggers:
8
- - "iniciar proyecto"
9
8
  - "nuevo proyecto"
10
- - "configurar proyecto"
11
- - "opera"
9
+ - "iniciar proyecto"
12
10
  - "project starter"
13
11
  - "scaffold"
14
- - "inicializar"
15
- ---
16
-
17
- # 🚀 ProjectStarterSkill — O.P.E.R.A. v3.0
18
-
19
- ## Identidad
20
-
21
- Eres el **Piloto del Sistema**. Tu misión es construir automatización determinista y autorreparable usando el protocolo O.P.E.R.A.
22
-
23
- ## Filosofía
24
-
25
- - Fiabilidad sobre velocidad. Nunca adivines lógica de negocio.
26
- - Los LLMs son probabilísticos, pero tu código debe ser **determinista**.
27
- - Cada fase tiene un **Definition of Done** verificable. No avanzas sin cumplirlo.
28
- - `genesis.md` es la ley. Si un script la contradice, el script está mal.
29
-
12
+ - "idea de proyecto"
13
+ - "spec dossier"
30
14
  ---
31
15
 
32
- ## Protocolo de Inicialización
33
-
34
- Este protocolo se ejecuta secuencialmente y sin excepciones al crear un nuevo proyecto.
35
-
36
- ### Paso 1 — Descubrimiento
37
-
38
- Antes de crear cualquier archivo, haz al usuario estas preguntas:
39
-
40
- | # | Pregunta | Propósito |
41
- |---|----------|-----------|
42
- | 1 | ¿Cuál es el resultado singular deseado? | Directriz principal |
43
- | 2 | ¿Qué servicios externos necesitamos? ¿Están listas las claves? | Integraciones |
44
- | 3 | ¿Dónde viven los datos primarios? | Fuente de la verdad |
45
- | 4 | ¿Cómo y dónde debe entregarse el resultado final? | Carga útil |
46
- | 5 | ¿Restricciones, tono o reglas específicas? | Reglas de comportamiento |
47
-
48
- También pregunta:
49
- - ¿Repositorio **público o privado**?
50
- - ¿Tipo de **licencia**? (MIT, Apache 2.0, GPL v3, Propietario)
51
-
52
- ### Paso 2 — Inicialización con Ops
53
-
54
- Ejecuta la inicialización del sistema operativo:
55
-
56
- ```bash
57
- npx trackops init --with-opera
58
- ```
16
+ # Project Starter Skill
59
17
 
60
- Esto crea `project_control.json`, instala OPERA y registra el proyecto.
18
+ Tu trabajo es convertir una idea o una documentacion parcial en un proyecto estructurado y explicable.
61
19
 
62
- ### Paso 3 — Poblar genesis.md
20
+ ## Regla principal
63
21
 
64
- Con las respuestas del descubrimiento, completa `genesis.md` con:
22
+ Empieza siempre por la persona, no por la arquitectura.
65
23
 
66
- 1. **Esquema de Datos JSON** (Input/Output) — esto es obligatorio antes de escribir código.
67
- 2. **Reglas de comportamiento** restricciones de negocio.
68
- 3. **Invariantes arquitectónicas** decisiones técnicas inamovibles.
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
69
28
 
70
- Esto es la regla "Datos-Primero": si el schema no está definido en `genesis.md`, no se escribe código.
29
+ ## Cuando TrackOps ya esta instalado
71
30
 
72
- ### Paso 4 Completar task_plan.md
31
+ Si el repo ya contiene TrackOps u OPERA:
73
32
 
74
- Ejecuta `trackops sync` para regenerar `task_plan.md` y luego ajusta:
75
- - Fases y objetivos.
76
- - **Definition of Done** por cada fase (ver referencia `references/opera-cycle.md`).
77
- - Checklist verificable.
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
78
43
 
79
- ### Paso 5 Skills Base
44
+ ## Lo que debe producir la skill
80
45
 
81
- 1. Instala las skills obligatorias:
82
- ```bash
83
- trackops skill install commiter
84
- trackops skill install changelog-updater
85
- ```
86
- 2. Analiza la definición del proyecto en `genesis.md`.
87
- 3. Busca skills adicionales con `trackops skill catalog` y **recomienda** (no instales sin aprobación) las que apliquen.
46
+ `ops/bootstrap/intake.json` debe dejar, como minimo:
88
47
 
89
- ### Paso 6 — Repositorio
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`
90
67
 
91
- 1. Crea el repositorio en GitHub (público o privado según elección).
92
- 2. Genera `README.md` con la descripción del proyecto basada en `genesis.md`.
93
- 3. Crea `LICENSE` según la elección del usuario.
94
- 4. Inicializa `CHANGELOG.md` con entrada de creación.
95
- 5. Realiza el primer commit (usa la skill `commiter`).
68
+ `ops/bootstrap/spec-dossier.md` debe explicar:
96
69
 
97
- ### Paso 7 — Freno de Mano 🛑
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
98
79
 
99
- Tienes **prohibido** escribir scripts en `tools/` hasta que:
80
+ `ops/bootstrap/open-questions.md` debe listar:
100
81
 
101
- - [ ] Las preguntas de descubrimiento estén respondidas.
102
- - [ ] El esquema de datos esté definido en `genesis.md`.
103
- - [ ] `task_plan.md` tenga un plano aprobado con Definition of Done.
104
- - [ ] La estructura `.agent/` y `.agents/` esté creada.
105
- - [ ] El repositorio esté inicializado.
82
+ - preguntas que siguen abiertas
83
+ - contradicciones entre idea, repo y documentacion
84
+ - decisiones que TrackOps u OPERA no deben inventar
106
85
 
107
- ---
86
+ ## Calidad minima antes de entregar
108
87
 
109
- ## El Ciclo O.P.E.R.A.
88
+ No des por cerrado el discovery si falta alguno de estos campos:
110
89
 
111
- Una vez completada la inicialización, el proyecto avanza a través de las fases definidas. Para el detalle completo de cada fase, lee:
112
- ```
113
- references/opera-cycle.md
114
- ```
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
115
96
 
116
- ### Resumen de Fases OPERA
97
+ Si algo sigue incierto, dejalo en `open-questions.md` en lugar de inventarlo.
117
98
 
118
- | Fase | Nombre | Foco | Entregable clave |
119
- |------|--------|------|-------------------|
120
- | **O** | Orquestar | Visión y lógica | Schema JSON en `genesis.md` |
121
- | **P** | Probar | Conectividad | Scripts de test pasando |
122
- | **E** | Estructurar | Construcción en 3 capas | SOPs + tools + tests de integración |
123
- | **R** | Refinar | Refinamiento | Outputs validados contra templates |
124
- | **A** | Automatizar | Despliegue | Triggers configurados + smoke test |
99
+ ## Si TrackOps aun no esta instalado
125
100
 
126
- ### La Arquitectura de 3 Capas
101
+ No improvises una estructura propia.
127
102
 
128
- | Capa | Ubicación | Función |
129
- |------|-----------|---------|
130
- | Arquitectura | `architecture/` | SOPs técnicos en Markdown. Si la lógica cambia, actualiza el SOP **antes** que el código. |
131
- | Navegación | El Agente | Capa de razonamiento. Enruta datos entre SOPs y herramientas. |
132
- | Herramientas | `tools/` | Scripts atómicos y deterministas. Variables en `.env`. Temporales en `.tmp/`. |
103
+ Explica el flujo correcto:
133
104
 
134
- ---
135
-
136
- ## Gobernanza y Recuperación
137
-
138
- Para la matriz de autonomía (semáforo), el protocolo de auto-reparación y el sistema de rollback, lee:
139
- ```
140
- references/autonomy-and-recovery.md
105
+ ```bash
106
+ npx skills add Baxahaun/trackops
107
+ trackops init
108
+ trackops opera install
141
109
  ```
142
110
 
143
- ### Resumen Rápido
144
-
145
- **🔴 NIVEL ROJO** (Pide permiso): Modificar `genesis.md`, eliminar datos persistentes, desplegar a producción, enviar comunicaciones externas, crear repos.
111
+ Si el usuario solo tiene una idea, deja claro que TrackOps puede derivar el bootstrap a una conversacion guiada con el agente.
112
+ - flujo funcional principal
113
+ - decisiones de stack, si ya existen o si hay que proponerlas
114
+ - integraciones externas
115
+ - restricciones relevantes
146
116
 
147
- **🟢 NIVEL VERDE** (Avanza): Crear/editar scripts, leer archivos, ejecutar tests, actualizar logs, auto-reparar (máx. 3 intentos).
117
+ ## Si TrackOps aun no esta instalado
148
118
 
149
- ---
119
+ No improvises una estructura propia.
150
120
 
151
- ## Estructura de Archivos
121
+ Explica el flujo correcto:
152
122
 
123
+ ```bash
124
+ npx skills add Baxahaun/trackops
125
+ trackops init
126
+ trackops opera install
153
127
  ```
154
- proyecto/
155
- ├── .agent/
156
- │ ├── hub/
157
- │ │ ├── agent.md # Instrucciones del agente
158
- │ │ └── router.md # Enrutamiento a skills
159
- │ └── hub/
160
- │ ├── agent.md # Instrucciones del agente
161
- │ └── router.md # Enrutamiento a skills
162
- ├── .agents/
163
- │ └── skills/
164
- │ ├── _registry.md # Índice de skills instaladas
165
- │ └── [skill-name]/
166
- │ └── SKILL.md # Contenido de skills
167
- ├── genesis.md # 📜 La Constitución
168
- ├── task_plan.md # 🗺️ El Mapa (autogenerado)
169
- ├── progress.md # 📓 El Diario (autogenerado)
170
- ├── findings.md # 📖 La Biblioteca (autogenerado)
171
- ├── CHANGELOG.md # 📋 El Historial
172
- ├── architecture/ # 📘 El Manual (SOPs)
173
- ├── tools/ # ⚙️ Los Motores
174
- ├── templates/ # 📐 Las Plantillas
175
- ├── .tmp/ # 🔧 El Taller
176
- ├── .env # 🔑 Las Llaves
177
- ├── project_control.json # 🎛️ Control Operativo
178
- ├── README.md
179
- ├── LICENSE
180
- └── .gitignore
181
- ```
182
-
183
- ---
184
128
 
185
- ## Checklist de Inicialización
186
-
187
- ```markdown
188
- - [ ] Preguntas de descubrimiento respondidas
189
- - [ ] trackops init ejecutado
190
- - [ ] genesis.md poblado con schema y reglas
191
- - [ ] task_plan.md con Definition of Done por fase
192
- - [ ] progress.md generado
193
- - [ ] findings.md generado
194
- - [ ] .agent/hub/agent.md configurado
195
- - [ ] .agent/hub/router.md configurado
196
- - [ ] .agents/skills/_registry.md creado
197
- - [ ] Skills base instaladas (commiter, changelog-updater)
198
- - [ ] Repositorio GitHub creado
199
- - [ ] README.md generado
200
- - [ ] LICENSE creada
201
- - [ ] CHANGELOG.md inicializado
202
- - [ ] .gitignore configurado
203
- - [ ] Primer commit realizado
204
- ```
129
+ Si el usuario solo tiene una idea, deja claro que TrackOps puede derivar el bootstrap a una conversacion guiada con el agente.
@@ -0,0 +1,104 @@
1
+ ---
2
+ name: "project-starter-skill"
3
+ description: "Skill for discovery and early project structuring with TrackOps and OPERA. Use it when an idea, notes, or partial documentation must become a clear project specification, especially for non-technical users or early-stage projects."
4
+ metadata:
5
+ version: "4.0"
6
+ type: "global"
7
+ ---
8
+
9
+ # Project Starter Skill
10
+
11
+ Your job is to turn an idea or partial documentation into a structured, explainable project.
12
+
13
+ ## Core rule
14
+
15
+ Start from the person, not from the architecture.
16
+
17
+ - identify the user's technical level
18
+ - adapt language and depth to that level
19
+ - if documentation exists, read it and consolidate it
20
+ - if documentation does not exist, build the first useful specification from the idea
21
+
22
+ ## When TrackOps is already installed
23
+
24
+ If the repository already contains TrackOps or OPERA:
25
+
26
+ - do not run `trackops init`
27
+ - do not recreate `app/`, `ops/`, or the workspace
28
+ - use `ops/contract/operating-contract.json` as the machine source of truth when it already exists
29
+ - use `ops/genesis.md` as the compiled human view
30
+ - use `ops/project_control.json` for backlog and operational state
31
+ - work from `ops/bootstrap/agent-handoff.md`
32
+ - write:
33
+ - `ops/bootstrap/intake.json`
34
+ - `ops/bootstrap/spec-dossier.md`
35
+ - `ops/bootstrap/open-questions.md` when important gaps remain
36
+
37
+ ## What the skill must produce
38
+
39
+ `ops/bootstrap/intake.json` must include at least:
40
+
41
+ - `technicalLevel`
42
+ - `projectState`
43
+ - `documentationState`
44
+ - `decisionOwnership`
45
+ - `problemStatement`
46
+ - `targetUser`
47
+ - `singularDesiredOutcome`
48
+ - `userLanguage`
49
+ - `needsPlainLanguage`
50
+ - `recommendedStack`
51
+ - `externalServices`
52
+ - `sourceOfTruth`
53
+ - `payload`
54
+ - `behaviorRules`
55
+ - `architecturalInvariants`
56
+ - `inputSchema`
57
+ - `outputSchema`
58
+ - `pipeline`
59
+ - `templates`
60
+
61
+ `ops/bootstrap/spec-dossier.md` must explain:
62
+
63
+ - `## Problem statement`
64
+ - `## Target user`
65
+ - `## Singular desired outcome`
66
+ - `## Delivery target`
67
+ - `## Source of truth`
68
+ - the main functional flow
69
+ - recommended or inherited stack
70
+ - external integrations
71
+ - relevant constraints
72
+
73
+ `ops/bootstrap/open-questions.md` must list:
74
+
75
+ - questions still open
76
+ - contradictions between the idea, the repository, and the documents
77
+ - decisions that TrackOps or OPERA must not invent
78
+
79
+ ## Minimum quality bar before handing off
80
+
81
+ Do not treat discovery as complete if any of these are missing:
82
+
83
+ - problem statement
84
+ - target user
85
+ - singular desired outcome
86
+ - delivery target
87
+ - source of truth
88
+ - input and output schema, even if still provisional
89
+
90
+ If something is still uncertain, write it to `open-questions.md` instead of inventing it.
91
+
92
+ ## If TrackOps is not installed yet
93
+
94
+ Do not invent your own structure.
95
+
96
+ Explain the correct flow:
97
+
98
+ ```bash
99
+ npx skills add Baxahaun/trackops
100
+ trackops init
101
+ trackops opera install
102
+ ```
103
+
104
+ If the user only has an idea, make it explicit that TrackOps can route bootstrap into an agent-led discovery conversation.