trackops 2.0.3 → 2.0.5
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/LICENSE +21 -21
- package/README.md +695 -402
- package/bin/trackops.js +116 -116
- package/lib/config.js +326 -326
- package/lib/control.js +208 -208
- package/lib/env.js +244 -244
- package/lib/init.js +325 -325
- package/lib/locale.js +24 -0
- package/lib/opera-bootstrap.js +941 -874
- package/lib/opera.js +494 -477
- package/lib/preferences.js +74 -74
- package/lib/registry.js +214 -196
- package/lib/release.js +56 -56
- package/lib/runtime-state.js +144 -144
- package/lib/server.js +312 -207
- package/lib/skills.js +74 -57
- package/lib/workspace.js +260 -260
- package/locales/en.json +192 -166
- package/locales/es.json +192 -166
- package/package.json +61 -58
- package/scripts/postinstall-locale.js +21 -21
- package/scripts/skills-marketplace-smoke.js +124 -124
- package/scripts/smoke-tests.js +558 -554
- package/scripts/sync-skill-version.js +21 -21
- package/scripts/validate-skill.js +103 -103
- package/skills/trackops/SKILL.md +126 -122
- package/skills/trackops/agents/openai.yaml +7 -7
- package/skills/trackops/locales/en/SKILL.md +126 -122
- package/skills/trackops/locales/en/references/activation.md +94 -75
- package/skills/trackops/locales/en/references/troubleshooting.md +73 -55
- package/skills/trackops/locales/en/references/workflow.md +55 -32
- package/skills/trackops/references/activation.md +94 -75
- package/skills/trackops/references/troubleshooting.md +73 -55
- package/skills/trackops/references/workflow.md +55 -32
- package/skills/trackops/skill.json +29 -29
- package/templates/hooks/post-checkout +2 -2
- package/templates/hooks/post-commit +2 -2
- package/templates/hooks/post-merge +2 -2
- package/templates/opera/agent.md +28 -27
- package/templates/opera/architecture/dependency-graph.md +24 -24
- package/templates/opera/architecture/runtime-automation.md +24 -24
- package/templates/opera/architecture/runtime-operations.md +34 -34
- package/templates/opera/en/agent.md +22 -21
- package/templates/opera/en/architecture/dependency-graph.md +24 -24
- package/templates/opera/en/architecture/runtime-automation.md +24 -24
- package/templates/opera/en/architecture/runtime-operations.md +34 -34
- package/templates/opera/en/reviews/delivery-audit.md +18 -18
- package/templates/opera/en/reviews/integration-audit.md +18 -18
- package/templates/opera/en/router.md +24 -19
- package/templates/opera/references/autonomy-and-recovery.md +117 -117
- package/templates/opera/references/opera-cycle.md +193 -193
- package/templates/opera/registry.md +28 -28
- package/templates/opera/reviews/delivery-audit.md +18 -18
- package/templates/opera/reviews/integration-audit.md +18 -18
- package/templates/opera/router.md +54 -49
- package/templates/skills/changelog-updater/SKILL.md +69 -69
- package/templates/skills/commiter/SKILL.md +99 -99
- package/templates/skills/opera-contract-auditor/SKILL.md +38 -38
- package/templates/skills/opera-contract-auditor/locales/en/SKILL.md +38 -38
- package/templates/skills/opera-policy-guard/SKILL.md +26 -26
- package/templates/skills/opera-policy-guard/locales/en/SKILL.md +26 -26
- package/templates/skills/opera-skill/SKILL.md +279 -0
- package/templates/skills/opera-skill/locales/en/SKILL.md +279 -0
- package/templates/skills/opera-skill/locales/en/references/phase-dod.md +138 -0
- package/templates/skills/opera-skill/references/phase-dod.md +138 -0
- package/templates/skills/project-starter-skill/SKILL.md +150 -131
- package/templates/skills/project-starter-skill/locales/en/SKILL.md +143 -105
- package/templates/skills/project-starter-skill/references/opera-cycle.md +195 -193
- package/ui/css/base.css +284 -266
- package/ui/css/charts.css +425 -327
- package/ui/css/components.css +1107 -570
- package/ui/css/onboarding.css +133 -0
- package/ui/css/panels.css +345 -406
- package/ui/css/terminal.css +125 -0
- package/ui/css/timeline.css +58 -0
- package/ui/css/tokens.css +284 -227
- package/ui/favicon.svg +5 -5
- package/ui/index.html +99 -96
- package/ui/js/api.js +49 -13
- package/ui/js/app.js +28 -32
- package/ui/js/charts.js +526 -0
- package/ui/js/console-logger.js +172 -172
- package/ui/js/filters.js +247 -0
- package/ui/js/icons.js +129 -104
- package/ui/js/keyboard.js +229 -0
- package/ui/js/onboarding.js +33 -42
- package/ui/js/router.js +142 -125
- package/ui/js/theme.js +100 -100
- package/ui/js/time-tracker.js +248 -248
- package/ui/js/views/board.js +84 -114
- package/ui/js/views/dashboard.js +870 -0
- package/ui/js/views/flash.js +47 -47
- package/ui/js/views/projects.js +745 -0
- package/ui/js/views/scrum.js +476 -0
- package/ui/js/views/settings.js +153 -203
- package/ui/js/views/sidebar.js +37 -31
- package/ui/js/views/tasks.js +218 -101
- package/ui/js/views/timeline.js +265 -0
- package/ui/js/views/topbar.js +94 -107
- package/ui/app.js +0 -950
- package/ui/js/views/insights.js +0 -340
- package/ui/js/views/overview.js +0 -369
- package/ui/styles.css +0 -688
package/locales/es.json
CHANGED
|
@@ -101,58 +101,58 @@
|
|
|
101
101
|
"cli.next.stream": "stream",
|
|
102
102
|
"cli.next.summary": "resumen",
|
|
103
103
|
|
|
104
|
-
"cli.help.title": "Control operativo del proyecto",
|
|
105
|
-
"cli.help.usage": "Uso:",
|
|
106
|
-
"cli.help.commands": "Comandos:",
|
|
107
|
-
"cli.help.init.desc": "Inicializa TrackOps en el directorio actual.",
|
|
108
|
-
"cli.help.workspace.desc": "Muestra o migra el layout actual del workspace.",
|
|
109
|
-
"cli.help.env.desc": "Audita o sincroniza el contrato .env del workspace.",
|
|
110
|
-
"cli.help.release.desc": "Publica el snapshot configurado de app/.",
|
|
111
|
-
"cli.help.version.desc": "Imprime la version instalada de TrackOps.",
|
|
112
|
-
"cli.help.status.desc": "Muestra el estado del proyecto: foco, fase activa, tareas listas, bloqueadores y repo.",
|
|
113
|
-
"cli.help.next.desc": "Cola priorizada de siguientes tareas ejecutables.",
|
|
114
|
-
"cli.help.sync.desc": "Regenera task_plan.md, progress.md y findings.md desde project_control.json.",
|
|
115
|
-
"cli.help.dashboard.desc": "Lanza el dashboard web local en un puerto libre e imprime URLs local/red.",
|
|
116
|
-
"cli.help.refreshRepo.desc": "Actualiza el snapshot runtime del repo con el estado git.",
|
|
117
|
-
"cli.help.installHooks.desc": "Configura git core.hooksPath para usar el directorio de hooks de TrackOps.",
|
|
118
|
-
"cli.help.register.desc": "Registra el proyecto actual en el portfolio multiproyecto.",
|
|
119
|
-
"cli.help.projects.desc": "Lista los proyectos registrados.",
|
|
120
|
-
"cli.help.task.desc": "Acciones: start, review, complete, block, pending, cancel, note.",
|
|
121
|
-
"cli.help.opera.desc": "Gestiona OPERA.",
|
|
122
|
-
"cli.help.opera.upgradeHint": "Upgrade: trackops opera upgrade --stable [--reset]",
|
|
123
|
-
"cli.help.locale.desc": "Muestra o actualiza el idioma global de TrackOps.",
|
|
124
|
-
"cli.help.doctor.desc": "Explica el origen efectivo del idioma para esta maquina/proyecto.",
|
|
125
|
-
"cli.help.skill.desc": "Gestiona skills.",
|
|
126
|
-
"cli.help.help.desc": "Muestra esta ayuda.",
|
|
127
|
-
"cli.help.globalWorkflow": "Flujo global del agente:",
|
|
128
|
-
"cli.help.globalWorkflow.line1": "Instala la skill con 'npx skills add Baxahaun/trackops' y luego el runtime con 'npm install -g trackops'.",
|
|
129
|
-
"cli.help.globalWorkflow.line2": "Despues verifica con 'trackops --version' y usa 'trackops init' y 'trackops opera install' de forma explicita dentro de cada proyecto.",
|
|
130
|
-
"cli.usage.workspace": "Uso: trackops workspace <status|migrate>",
|
|
131
|
-
"cli.usage.env": "Uso: trackops env <status|sync>",
|
|
132
|
-
"cli.usage.opera": "Uso: trackops opera <install|bootstrap|handoff|status|configure|upgrade>",
|
|
133
|
-
"cli.usage.skill": "Uso: trackops skill <install|list|remove|catalog> [name]",
|
|
134
|
-
"cli.usage.locale": "Uso: trackops locale <get|set> [es|en]",
|
|
135
|
-
"cli.usage.doctor": "Uso: trackops doctor locale",
|
|
136
|
-
"cli.error.unknownCommand": "Comando desconocido: {command}",
|
|
137
|
-
"cli.error.runHelp": "Ejecuta 'trackops help' para ver el uso.",
|
|
138
|
-
"cli.error.noWorkspace": "No se encontro ningun workspace TrackOps en este directorio ni en sus padres.",
|
|
139
|
-
"locale.effective": "Idioma efectivo",
|
|
140
|
-
"locale.source": "Origen",
|
|
141
|
-
"locale.global": "Idioma global",
|
|
142
|
-
"locale.project": "Idioma del proyecto",
|
|
143
|
-
"locale.env": "Idioma por entorno",
|
|
144
|
-
"locale.system": "Idioma del sistema",
|
|
145
|
-
"locale.runtimeFile": "Archivo runtime",
|
|
146
|
-
"locale.none": "ninguno",
|
|
147
|
-
"locale.invalid": "Idioma invalido: {value}.",
|
|
148
|
-
"locale.updated": "Idioma global actualizado a {locale}.",
|
|
149
|
-
"locale.source.explicit": "flag explicito",
|
|
150
|
-
"locale.source.project": "proyecto",
|
|
151
|
-
"locale.source.global": "global",
|
|
152
|
-
"locale.source.env": "entorno",
|
|
153
|
-
"locale.source.system": "sistema",
|
|
154
|
-
"locale.source.prompt": "prompt",
|
|
155
|
-
"locale.source.manual": "manual",
|
|
104
|
+
"cli.help.title": "Control operativo del proyecto",
|
|
105
|
+
"cli.help.usage": "Uso:",
|
|
106
|
+
"cli.help.commands": "Comandos:",
|
|
107
|
+
"cli.help.init.desc": "Inicializa TrackOps en el directorio actual.",
|
|
108
|
+
"cli.help.workspace.desc": "Muestra o migra el layout actual del workspace.",
|
|
109
|
+
"cli.help.env.desc": "Audita o sincroniza el contrato .env del workspace.",
|
|
110
|
+
"cli.help.release.desc": "Publica el snapshot configurado de app/.",
|
|
111
|
+
"cli.help.version.desc": "Imprime la version instalada de TrackOps.",
|
|
112
|
+
"cli.help.status.desc": "Muestra el estado del proyecto: foco, fase activa, tareas listas, bloqueadores y repo.",
|
|
113
|
+
"cli.help.next.desc": "Cola priorizada de siguientes tareas ejecutables.",
|
|
114
|
+
"cli.help.sync.desc": "Regenera task_plan.md, progress.md y findings.md desde project_control.json.",
|
|
115
|
+
"cli.help.dashboard.desc": "Lanza el dashboard web local en un puerto libre e imprime URLs local/red.",
|
|
116
|
+
"cli.help.refreshRepo.desc": "Actualiza el snapshot runtime del repo con el estado git.",
|
|
117
|
+
"cli.help.installHooks.desc": "Configura git core.hooksPath para usar el directorio de hooks de TrackOps.",
|
|
118
|
+
"cli.help.register.desc": "Registra el proyecto actual en el portfolio multiproyecto.",
|
|
119
|
+
"cli.help.projects.desc": "Lista los proyectos registrados.",
|
|
120
|
+
"cli.help.task.desc": "Acciones: start, review, complete, block, pending, cancel, note.",
|
|
121
|
+
"cli.help.opera.desc": "Gestiona OPERA.",
|
|
122
|
+
"cli.help.opera.upgradeHint": "Upgrade: trackops opera upgrade --stable [--reset]",
|
|
123
|
+
"cli.help.locale.desc": "Muestra o actualiza el idioma global de TrackOps.",
|
|
124
|
+
"cli.help.doctor.desc": "Explica el origen efectivo del idioma para esta maquina/proyecto.",
|
|
125
|
+
"cli.help.skill.desc": "Gestiona skills.",
|
|
126
|
+
"cli.help.help.desc": "Muestra esta ayuda.",
|
|
127
|
+
"cli.help.globalWorkflow": "Flujo global del agente:",
|
|
128
|
+
"cli.help.globalWorkflow.line1": "Instala la skill con 'npx skills add Baxahaun/trackops' y luego el runtime con 'npm install -g trackops'.",
|
|
129
|
+
"cli.help.globalWorkflow.line2": "Despues verifica con 'trackops --version' y usa 'trackops init' y 'trackops opera install' de forma explicita dentro de cada proyecto.",
|
|
130
|
+
"cli.usage.workspace": "Uso: trackops workspace <status|migrate>",
|
|
131
|
+
"cli.usage.env": "Uso: trackops env <status|sync>",
|
|
132
|
+
"cli.usage.opera": "Uso: trackops opera <install|bootstrap|handoff|status|configure|upgrade>",
|
|
133
|
+
"cli.usage.skill": "Uso: trackops skill <install|list|remove|catalog> [name]",
|
|
134
|
+
"cli.usage.locale": "Uso: trackops locale <get|set> [es|en]",
|
|
135
|
+
"cli.usage.doctor": "Uso: trackops doctor locale",
|
|
136
|
+
"cli.error.unknownCommand": "Comando desconocido: {command}",
|
|
137
|
+
"cli.error.runHelp": "Ejecuta 'trackops help' para ver el uso.",
|
|
138
|
+
"cli.error.noWorkspace": "No se encontro ningun workspace TrackOps en este directorio ni en sus padres.",
|
|
139
|
+
"locale.effective": "Idioma efectivo",
|
|
140
|
+
"locale.source": "Origen",
|
|
141
|
+
"locale.global": "Idioma global",
|
|
142
|
+
"locale.project": "Idioma del proyecto",
|
|
143
|
+
"locale.env": "Idioma por entorno",
|
|
144
|
+
"locale.system": "Idioma del sistema",
|
|
145
|
+
"locale.runtimeFile": "Archivo runtime",
|
|
146
|
+
"locale.none": "ninguno",
|
|
147
|
+
"locale.invalid": "Idioma invalido: {value}.",
|
|
148
|
+
"locale.updated": "Idioma global actualizado a {locale}.",
|
|
149
|
+
"locale.source.explicit": "flag explicito",
|
|
150
|
+
"locale.source.project": "proyecto",
|
|
151
|
+
"locale.source.global": "global",
|
|
152
|
+
"locale.source.env": "entorno",
|
|
153
|
+
"locale.source.system": "sistema",
|
|
154
|
+
"locale.source.prompt": "prompt",
|
|
155
|
+
"locale.source.manual": "manual",
|
|
156
156
|
|
|
157
157
|
"server.ready": "Ops dashboard listo en http://{host}:{port}",
|
|
158
158
|
"server.bannerTitle": "Serving!",
|
|
@@ -188,86 +188,90 @@
|
|
|
188
188
|
"init.defaultTaskTitle": "Configurar proyecto con trackops",
|
|
189
189
|
"init.defaultTaskSummary": "Verificar estructura inicial, ajustar fases y confirmar integracion operativa.",
|
|
190
190
|
|
|
191
|
-
"opera.installed": "Metodologia OPERA instalada (v{version}).",
|
|
192
|
-
"opera.alreadyInstalled": "OPERA ya esta instalado en este proyecto (v{version}).",
|
|
193
|
-
"opera.notInstalled": "OPERA no esta instalado en este proyecto.",
|
|
194
|
-
"opera.upgraded": "OPERA actualizado a v{version}.",
|
|
195
|
-
"opera.primitiveDetected": "Detectada instalacion OPERA existente (sin gestion por Ops).",
|
|
196
|
-
"opera.status.version": "OPERA v{version}",
|
|
197
|
-
"opera.status.installed": " Instalado: {value}",
|
|
198
|
-
"opera.status.skills": " Skills: {value}",
|
|
199
|
-
"opera.status.locale": " Idioma: {locale} ({source})",
|
|
200
|
-
"opera.status.legacy": " Legacy: {value}",
|
|
201
|
-
"opera.status.contractVersion": " Version de contrato: {value}",
|
|
202
|
-
"opera.status.contractReadiness": " Readiness del contrato: {value}",
|
|
203
|
-
"opera.status.bootstrap": " Bootstrap: {value}",
|
|
204
|
-
"opera.status.mode": " Modo: {value}",
|
|
205
|
-
"opera.status.route": " Ruta: {value}",
|
|
206
|
-
"opera.status.ownership": " Ownership: {value}",
|
|
207
|
-
"opera.status.missing": " Faltan: {value}",
|
|
208
|
-
"opera.status.resume": " Reanudar: trackops opera bootstrap --resume",
|
|
209
|
-
"opera.status.handoff": " Handoff: {value}",
|
|
210
|
-
"opera.status.qualityReport": " Quality report: {value}",
|
|
211
|
-
"opera.status.structure": " Estructura:",
|
|
212
|
-
"opera.configure.invalidPhases": "JSON de fases invalido.",
|
|
213
|
-
"opera.configure.updated": "Configuracion actualizada.",
|
|
214
|
-
"opera.upgrade.runInstallFirst": "Ejecuta 'trackops opera install' primero.",
|
|
215
|
-
"opera.upgrade.usage": "Uso: trackops opera upgrade --stable [--reset]",
|
|
216
|
-
"opera.upgrade.legacyUnsupported": "Proyecto OPERA legacy detectado. Ejecuta 'trackops opera upgrade --stable --reset' para moverlo al modelo estable actual.",
|
|
217
|
-
"opera.upgrade.backup": "Backup: {path}",
|
|
218
|
-
"postinstall.localeSet": "TrackOps ha fijado el idioma en '{locale}' ({source}).",
|
|
191
|
+
"opera.installed": "Metodologia OPERA instalada (v{version}).",
|
|
192
|
+
"opera.alreadyInstalled": "OPERA ya esta instalado en este proyecto (v{version}).",
|
|
193
|
+
"opera.notInstalled": "OPERA no esta instalado en este proyecto.",
|
|
194
|
+
"opera.upgraded": "OPERA actualizado a v{version}.",
|
|
195
|
+
"opera.primitiveDetected": "Detectada instalacion OPERA existente (sin gestion por Ops).",
|
|
196
|
+
"opera.status.version": "OPERA v{version}",
|
|
197
|
+
"opera.status.installed": " Instalado: {value}",
|
|
198
|
+
"opera.status.skills": " Skills: {value}",
|
|
199
|
+
"opera.status.locale": " Idioma: {locale} ({source})",
|
|
200
|
+
"opera.status.legacy": " Legacy: {value}",
|
|
201
|
+
"opera.status.contractVersion": " Version de contrato: {value}",
|
|
202
|
+
"opera.status.contractReadiness": " Readiness del contrato: {value}",
|
|
203
|
+
"opera.status.bootstrap": " Bootstrap: {value}",
|
|
204
|
+
"opera.status.mode": " Modo: {value}",
|
|
205
|
+
"opera.status.route": " Ruta: {value}",
|
|
206
|
+
"opera.status.ownership": " Ownership: {value}",
|
|
207
|
+
"opera.status.missing": " Faltan: {value}",
|
|
208
|
+
"opera.status.resume": " Reanudar: trackops opera bootstrap --resume",
|
|
209
|
+
"opera.status.handoff": " Handoff: {value}",
|
|
210
|
+
"opera.status.qualityReport": " Quality report: {value}",
|
|
211
|
+
"opera.status.structure": " Estructura:",
|
|
212
|
+
"opera.configure.invalidPhases": "JSON de fases invalido.",
|
|
213
|
+
"opera.configure.updated": "Configuracion actualizada.",
|
|
214
|
+
"opera.upgrade.runInstallFirst": "Ejecuta 'trackops opera install' primero.",
|
|
215
|
+
"opera.upgrade.usage": "Uso: trackops opera upgrade --stable [--reset]",
|
|
216
|
+
"opera.upgrade.legacyUnsupported": "Proyecto OPERA legacy detectado. Ejecuta 'trackops opera upgrade --stable --reset' para moverlo al modelo estable actual.",
|
|
217
|
+
"opera.upgrade.backup": "Backup: {path}",
|
|
218
|
+
"postinstall.localeSet": "TrackOps ha fijado el idioma en '{locale}' ({source}).",
|
|
219
219
|
|
|
220
220
|
"skill.installed": "Skill '{name}' instalada.",
|
|
221
221
|
"skill.removed": "Skill '{name}' desinstalada.",
|
|
222
222
|
"skill.notFound": "Skill '{name}' no encontrada en el catalogo.",
|
|
223
223
|
"skill.alreadyInstalled": "Skill '{name}' ya esta instalada.",
|
|
224
|
-
"skill.notInstalled": "Skill '{name}' no esta instalada.",
|
|
225
|
-
"skill.catalogTitle": "Skills disponibles:",
|
|
226
|
-
"skill.listTitle": "Skills instaladas:",
|
|
227
|
-
|
|
228
|
-
"cli.status.bootstrap": "Bootstrap: {status} | Idioma: {locale}",
|
|
224
|
+
"skill.notInstalled": "Skill '{name}' no esta instalada.",
|
|
225
|
+
"skill.catalogTitle": "Skills disponibles:",
|
|
226
|
+
"skill.listTitle": "Skills instaladas:",
|
|
229
227
|
|
|
230
|
-
"bootstrap
|
|
231
|
-
|
|
232
|
-
"bootstrap.
|
|
233
|
-
"bootstrap.
|
|
234
|
-
"bootstrap.
|
|
235
|
-
"bootstrap.question.
|
|
236
|
-
"bootstrap.question.
|
|
237
|
-
"bootstrap.question.
|
|
238
|
-
"bootstrap.question.
|
|
239
|
-
"bootstrap.question.
|
|
240
|
-
"bootstrap.question.
|
|
241
|
-
"bootstrap.question.
|
|
242
|
-
"bootstrap.question.
|
|
228
|
+
"cli.status.bootstrap": "Bootstrap: {status} | Idioma: {locale}",
|
|
229
|
+
|
|
230
|
+
"bootstrap.header": "Bootstrap OPERA",
|
|
231
|
+
"bootstrap.subtitle": "Primero clasifica al usuario y el estado del proyecto. TrackOps decidira si continuar por terminal o derivar el arranque al agente.",
|
|
232
|
+
"bootstrap.instructions": "Responde con low|medium|high|senior o con sus equivalentes bajo|medio|alto. Si no sabes una respuesta, pulsa Enter para aceptar el valor por defecto.",
|
|
233
|
+
"bootstrap.question.technicalLevel": "Nivel tecnico del usuario",
|
|
234
|
+
"bootstrap.question.projectState": "Estado actual del proyecto",
|
|
235
|
+
"bootstrap.question.docsState": "Documentacion disponible",
|
|
236
|
+
"bootstrap.question.decisionOwnership": "Quien debe tomar las decisiones clave",
|
|
237
|
+
"bootstrap.question.problemStatement": "Problema principal que se quiere resolver",
|
|
238
|
+
"bootstrap.question.targetUser": "Usuario objetivo principal",
|
|
239
|
+
"bootstrap.question.desiredOutcome": "Resultado singular deseado",
|
|
240
|
+
"bootstrap.question.externalServices": "Servicios externos (separados por comas)",
|
|
241
|
+
"bootstrap.question.sourceOfTruth": "Fuente de la verdad",
|
|
242
|
+
"bootstrap.question.payload": "Payload / objetivo de entrega",
|
|
243
|
+
"bootstrap.question.behaviorRules": "Reglas de comportamiento (separadas por punto y coma)",
|
|
243
244
|
"bootstrap.question.inputSchema": "Schema JSON de entrada",
|
|
244
245
|
"bootstrap.question.outputSchema": "Schema JSON de salida",
|
|
245
246
|
"bootstrap.question.invariants": "Invariantes arquitectonicas (separadas por punto y coma)",
|
|
246
247
|
"bootstrap.question.pipeline": "Pasos del pipeline (separados por punto y coma)",
|
|
247
|
-
"bootstrap.question.templates": "Archivos template (separados por comas)",
|
|
248
|
-
"bootstrap.question.repoTasks": "¿Incluir tareas opcionales de repo? [y/n]",
|
|
249
|
-
"bootstrap.completed": "Bootstrap OPERA completado.",
|
|
250
|
-
"bootstrap.pending": "Bootstrap OPERA guardado como pendiente. Reanuda con 'trackops opera bootstrap --resume'.",
|
|
251
|
-
"bootstrap.awaitingAgent": "Bootstrap OPERA derivado al agente. Completa el handoff y reanuda con 'trackops opera bootstrap --resume'.",
|
|
252
|
-
"bootstrap.handoffFile": "Archivo de handoff",
|
|
253
|
-
"bootstrap.
|
|
254
|
-
"bootstrap.
|
|
255
|
-
"bootstrap.
|
|
256
|
-
"bootstrap.
|
|
257
|
-
"bootstrap.
|
|
258
|
-
"bootstrap.
|
|
259
|
-
"bootstrap.
|
|
260
|
-
"bootstrap.
|
|
261
|
-
"bootstrap.
|
|
262
|
-
"bootstrap.
|
|
263
|
-
"bootstrap.
|
|
264
|
-
"bootstrap.
|
|
265
|
-
"bootstrap.acceptance.
|
|
266
|
-
"bootstrap.acceptance.
|
|
267
|
-
"bootstrap.acceptance.
|
|
268
|
-
"bootstrap.acceptance.
|
|
269
|
-
"bootstrap.acceptance.
|
|
270
|
-
"bootstrap.acceptance.
|
|
248
|
+
"bootstrap.question.templates": "Archivos template (separados por comas)",
|
|
249
|
+
"bootstrap.question.repoTasks": "¿Incluir tareas opcionales de repo? [y/n]",
|
|
250
|
+
"bootstrap.completed": "Bootstrap OPERA completado.",
|
|
251
|
+
"bootstrap.pending": "Bootstrap OPERA guardado como pendiente. Reanuda con 'trackops opera bootstrap --resume'.",
|
|
252
|
+
"bootstrap.awaitingAgent": "Bootstrap OPERA derivado al agente. Completa el handoff y reanuda con 'trackops opera bootstrap --resume'.",
|
|
253
|
+
"bootstrap.handoffFile": "Archivo de handoff",
|
|
254
|
+
"bootstrap.next.handoff": "Siguiente paso: ejecuta 'trackops opera handoff --print', pega el contexto en tu agente y vuelve cuando existan ops/bootstrap/intake.json y ops/bootstrap/spec-dossier.md.",
|
|
255
|
+
"bootstrap.next.directCompleted": "Siguiente paso: revisa 'trackops opera status' y continua el trabajo normal con 'trackops next' y 'trackops sync'.",
|
|
256
|
+
"bootstrap.next.directPending": "Siguiente paso: completa los datos pendientes y reanuda con 'trackops opera bootstrap --resume'.",
|
|
257
|
+
"bootstrap.infer.envSourceHint": "Detectados archivos de entorno",
|
|
258
|
+
"bootstrap.noneDefined": "Aun no definido.",
|
|
259
|
+
"bootstrap.pendingValue": "Pendiente de definir.",
|
|
260
|
+
"bootstrap.servicePending": "pendiente",
|
|
261
|
+
"bootstrap.defaultFocus": "Completar bootstrap OPERA",
|
|
262
|
+
"bootstrap.defaultTarget": "Entrega objetivo pendiente de definir",
|
|
263
|
+
"bootstrap.blocker.missingData": "Todavia faltan datos clave del bootstrap.",
|
|
264
|
+
"bootstrap.blocker.awaitingAgent": "Esperando el resultado del handoff al agente.",
|
|
265
|
+
"bootstrap.history.seeded": "Sembrada por bootstrap OPERA.",
|
|
266
|
+
"bootstrap.acceptance.discovery": "Preguntas de descubrimiento respondidas.",
|
|
267
|
+
"bootstrap.acceptance.schema": "Schema de entrada/salida definido en genesis.md.",
|
|
268
|
+
"bootstrap.acceptance.rules": "Reglas de comportamiento documentadas.",
|
|
269
|
+
"bootstrap.acceptance.plan": "Plan revisado y aceptado.",
|
|
270
|
+
"bootstrap.acceptance.intake": "El agente genero ops/bootstrap/intake.json.",
|
|
271
|
+
"bootstrap.acceptance.specDossier": "El agente genero ops/bootstrap/spec-dossier.md.",
|
|
272
|
+
"bootstrap.acceptance.resume": "OPERA pudo ingerir el contexto y continuar.",
|
|
273
|
+
"bootstrap.acceptance.env": "Credenciales requeridas verificadas.",
|
|
274
|
+
"bootstrap.acceptance.tests": "Checks de conectividad pasando.",
|
|
271
275
|
"bootstrap.acceptance.shape": "Shapes externos validados contra genesis.md.",
|
|
272
276
|
"bootstrap.acceptance.findings": "Hallazgos documentados.",
|
|
273
277
|
"bootstrap.acceptance.sops": "SOPs documentados.",
|
|
@@ -281,10 +285,10 @@
|
|
|
281
285
|
"bootstrap.acceptance.deploy": "Despliegue completado.",
|
|
282
286
|
"bootstrap.acceptance.triggers": "Triggers configurados.",
|
|
283
287
|
"bootstrap.acceptance.smoke": "Smoke test pasando.",
|
|
284
|
-
"bootstrap.task.bootstrap.title": "Completar bootstrap OPERA",
|
|
285
|
-
"bootstrap.task.bootstrap.summary": "Convertir la estructura OPERA instalada en un modelo operativo especifico del proyecto.",
|
|
286
|
-
"bootstrap.task.bootstrap.handoffSummary": "Preparar el handoff al agente para convertir una idea o especificacion parcial en contexto operativo estructurado.",
|
|
287
|
-
"bootstrap.task.prove.title": "Validar integraciones",
|
|
288
|
+
"bootstrap.task.bootstrap.title": "Completar bootstrap OPERA",
|
|
289
|
+
"bootstrap.task.bootstrap.summary": "Convertir la estructura OPERA instalada en un modelo operativo especifico del proyecto.",
|
|
290
|
+
"bootstrap.task.bootstrap.handoffSummary": "Preparar el handoff al agente para convertir una idea o especificacion parcial en contexto operativo estructurado.",
|
|
291
|
+
"bootstrap.task.prove.title": "Validar integraciones",
|
|
288
292
|
"bootstrap.task.prove.summary": "Verificar credenciales, conectividad y shape de respuestas antes de seguir construyendo.",
|
|
289
293
|
"bootstrap.task.structure.title": "Estructurar el sistema",
|
|
290
294
|
"bootstrap.task.structure.summary": "Documentar SOPs, implementar herramientas y capturar el grafo de dependencias.",
|
|
@@ -300,21 +304,21 @@
|
|
|
300
304
|
"bootstrap.task.repoChangelog.summary": "Decidir como se mantendra CHANGELOG.md en este proyecto.",
|
|
301
305
|
"bootstrap.task.repoGithub.title": "Revisar tareas de gobernanza GitHub",
|
|
302
306
|
"bootstrap.task.repoGithub.summary": "Comprobar si deben activarse tareas de automatizacion o gobernanza del repositorio.",
|
|
303
|
-
"bootstrap.field.singularDesiredOutcome": "Resultado deseado",
|
|
304
|
-
"bootstrap.field.desiredOutcome": "Resultado deseado",
|
|
305
|
-
"bootstrap.field.problemStatement": "Problema principal",
|
|
306
|
-
"bootstrap.field.targetUser": "Usuario objetivo",
|
|
307
|
-
"bootstrap.field.decisionOwnership": "Propiedad de decision",
|
|
308
|
-
"bootstrap.field.sourceOfTruth": "Fuente de la verdad",
|
|
309
|
-
"bootstrap.field.payload": "Payload",
|
|
310
|
-
"bootstrap.field.inputSchema": "Schema de entrada",
|
|
311
|
-
"bootstrap.field.outputSchema": "Schema de salida",
|
|
312
|
-
"bootstrap.field.intakeJson": "Archivo intake.json",
|
|
313
|
-
"bootstrap.field.specDossier": "Archivo spec-dossier.md",
|
|
314
|
-
"bootstrap.decisionImpact": "Necesario para completar el bootstrap OPERA.",
|
|
315
|
-
"bootstrap.pendingDecision.handoff": "Enviar el handoff de TrackOps al agente",
|
|
316
|
-
"bootstrap.pendingDecision.handoffImpact": "Necesario para que el agente genere intake.json y spec-dossier.md.",
|
|
317
|
-
"bootstrap.finding.genesisConflictTitle": "Genesis requiere revision manual",
|
|
307
|
+
"bootstrap.field.singularDesiredOutcome": "Resultado deseado",
|
|
308
|
+
"bootstrap.field.desiredOutcome": "Resultado deseado",
|
|
309
|
+
"bootstrap.field.problemStatement": "Problema principal",
|
|
310
|
+
"bootstrap.field.targetUser": "Usuario objetivo",
|
|
311
|
+
"bootstrap.field.decisionOwnership": "Propiedad de decision",
|
|
312
|
+
"bootstrap.field.sourceOfTruth": "Fuente de la verdad",
|
|
313
|
+
"bootstrap.field.payload": "Payload",
|
|
314
|
+
"bootstrap.field.inputSchema": "Schema de entrada",
|
|
315
|
+
"bootstrap.field.outputSchema": "Schema de salida",
|
|
316
|
+
"bootstrap.field.intakeJson": "Archivo intake.json",
|
|
317
|
+
"bootstrap.field.specDossier": "Archivo spec-dossier.md",
|
|
318
|
+
"bootstrap.decisionImpact": "Necesario para completar el bootstrap OPERA.",
|
|
319
|
+
"bootstrap.pendingDecision.handoff": "Enviar el handoff de TrackOps al agente",
|
|
320
|
+
"bootstrap.pendingDecision.handoffImpact": "Necesario para que el agente genere intake.json y spec-dossier.md.",
|
|
321
|
+
"bootstrap.finding.genesisConflictTitle": "Genesis requiere revision manual",
|
|
318
322
|
"bootstrap.finding.genesisConflictDetail": "TrackOps detecto un genesis.md no plantilla y detuvo la sobreescritura automatica.",
|
|
319
323
|
"bootstrap.finding.genesisConflictImpact": "El bootstrap no puede completarse hasta revisar la constitucion existente.",
|
|
320
324
|
|
|
@@ -401,28 +405,50 @@
|
|
|
401
405
|
"ui.execution.stop": "Detener",
|
|
402
406
|
"ui.execution.output": "Salida del comando",
|
|
403
407
|
"ui.execution.outputPlaceholder": "# Ejecuta un comando para ver la salida aqui...",
|
|
404
|
-
"ui.execution.started": "Iniciado",
|
|
405
|
-
"ui.execution.running": "Ejecutando...",
|
|
406
|
-
"ui.execution.quick.status": "status",
|
|
407
|
-
"ui.execution.quick.sync": "sincronizar docs",
|
|
408
|
-
"ui.execution.quick.next": "siguientes tareas",
|
|
409
|
-
"ui.execution.quick.repo": "refrescar repo",
|
|
410
|
-
"ui.settings.workspaceTitle": "Workspace",
|
|
411
|
-
"ui.settings.workspaceRoot": "Raiz del workspace",
|
|
412
|
-
"ui.settings.appRoot": "Raiz de app",
|
|
413
|
-
"ui.settings.opsRoot": "Raiz de ops",
|
|
414
|
-
"ui.settings.envTitle": "Entorno",
|
|
415
|
-
"ui.settings.envHealthyBadge": "Listo",
|
|
416
|
-
"ui.settings.envMissingBadge": "{count} faltantes",
|
|
417
|
-
"ui.settings.envBridgeMode": "Modo de puente",
|
|
418
|
-
"ui.settings.envRootFile": ".env raiz",
|
|
419
|
-
"ui.settings.envExampleFile": ".env.example",
|
|
420
|
-
"ui.settings.envAppBridge": "Puente app/.env",
|
|
421
|
-
"ui.settings.envRequiredKeys": "Claves requeridas",
|
|
422
|
-
"ui.settings.envPresentKeys": "Claves presentes",
|
|
423
|
-
"ui.settings.envMissingKeys": "Claves faltantes",
|
|
424
|
-
"ui.settings.envNoMissing": "Ninguna",
|
|
425
|
-
"ui.settings.envLastAudit": "Ultima auditoria",
|
|
426
|
-
"ui.settings.envSync": "Sincronizar env",
|
|
427
|
-
"ui.settings.envSynced": "Entorno sincronizado."
|
|
428
|
-
|
|
408
|
+
"ui.execution.started": "Iniciado",
|
|
409
|
+
"ui.execution.running": "Ejecutando...",
|
|
410
|
+
"ui.execution.quick.status": "status",
|
|
411
|
+
"ui.execution.quick.sync": "sincronizar docs",
|
|
412
|
+
"ui.execution.quick.next": "siguientes tareas",
|
|
413
|
+
"ui.execution.quick.repo": "refrescar repo",
|
|
414
|
+
"ui.settings.workspaceTitle": "Workspace",
|
|
415
|
+
"ui.settings.workspaceRoot": "Raiz del workspace",
|
|
416
|
+
"ui.settings.appRoot": "Raiz de app",
|
|
417
|
+
"ui.settings.opsRoot": "Raiz de ops",
|
|
418
|
+
"ui.settings.envTitle": "Entorno",
|
|
419
|
+
"ui.settings.envHealthyBadge": "Listo",
|
|
420
|
+
"ui.settings.envMissingBadge": "{count} faltantes",
|
|
421
|
+
"ui.settings.envBridgeMode": "Modo de puente",
|
|
422
|
+
"ui.settings.envRootFile": ".env raiz",
|
|
423
|
+
"ui.settings.envExampleFile": ".env.example",
|
|
424
|
+
"ui.settings.envAppBridge": "Puente app/.env",
|
|
425
|
+
"ui.settings.envRequiredKeys": "Claves requeridas",
|
|
426
|
+
"ui.settings.envPresentKeys": "Claves presentes",
|
|
427
|
+
"ui.settings.envMissingKeys": "Claves faltantes",
|
|
428
|
+
"ui.settings.envNoMissing": "Ninguna",
|
|
429
|
+
"ui.settings.envLastAudit": "Ultima auditoria",
|
|
430
|
+
"ui.settings.envSync": "Sincronizar env",
|
|
431
|
+
"ui.settings.envSynced": "Entorno sincronizado.",
|
|
432
|
+
|
|
433
|
+
"handoff.title": "Handoff de agente OPERA",
|
|
434
|
+
"handoff.skillInstruction": "Usa `project-starter-skill` como skill de descubrimiento y estructuracion para este proyecto.",
|
|
435
|
+
"handoff.section.userProfile": "Perfil del usuario",
|
|
436
|
+
"handoff.label.technicalLevel": "Nivel tecnico",
|
|
437
|
+
"handoff.label.explanationMode": "Modo de explicacion",
|
|
438
|
+
"handoff.label.decisionOwnership": "Propiedad de decision",
|
|
439
|
+
"handoff.label.preferredLanguage": "Idioma preferido",
|
|
440
|
+
"handoff.section.projectState": "Estado del proyecto",
|
|
441
|
+
"handoff.label.projectState": "Estado del proyecto",
|
|
442
|
+
"handoff.label.documentationState": "Estado de documentacion",
|
|
443
|
+
"handoff.section.whatToDo": "Que hacer",
|
|
444
|
+
"handoff.instruction.startFromUser": "Parte del usuario, no de suposiciones arquitectonicas.",
|
|
445
|
+
"handoff.instruction.adaptDepth": "Adapta la profundidad y el lenguaje al nivel tecnico del usuario.",
|
|
446
|
+
"handoff.instruction.readDocs": "Si hay documentacion, leela, resumela y consolidala.",
|
|
447
|
+
"handoff.instruction.helpSpec": "Si no hay documentacion, ayuda al usuario a convertir la idea en una especificacion viable.",
|
|
448
|
+
"handoff.instruction.writeIntake": "Escribe `ops/bootstrap/intake.json` con el resultado estructurado del descubrimiento.",
|
|
449
|
+
"handoff.instruction.writeSpec": "Escribe `ops/bootstrap/spec-dossier.md` con la especificacion narrativa o tecnica que OPERA ingerira.",
|
|
450
|
+
"handoff.instruction.writeQuestions": "Escribe `ops/bootstrap/open-questions.md` si quedan incertidumbres importantes.",
|
|
451
|
+
"handoff.instruction.includeFields": "Incluye campos explicitos para problema, usuario objetivo, resultado deseado, fuente de verdad, entrega y schemas.",
|
|
452
|
+
"handoff.instruction.respondInLanguage": "Responde al usuario en {language}.",
|
|
453
|
+
"handoff.label.knownIntention": "Intencion conocida del proyecto"
|
|
454
|
+
}
|
package/package.json
CHANGED
|
@@ -1,58 +1,61 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "trackops",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "
|
|
5
|
-
"main": "lib/control.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"trackops": "bin/trackops.js"
|
|
8
|
-
},
|
|
9
|
-
"files": [
|
|
10
|
-
"bin/",
|
|
11
|
-
"lib/",
|
|
12
|
-
"locales/",
|
|
13
|
-
"skills/",
|
|
14
|
-
"scripts/",
|
|
15
|
-
"ui/",
|
|
16
|
-
"templates/"
|
|
17
|
-
],
|
|
18
|
-
"keywords": [
|
|
19
|
-
"project-management",
|
|
20
|
-
"task-management",
|
|
21
|
-
"dashboard",
|
|
22
|
-
"ops",
|
|
23
|
-
"opera",
|
|
24
|
-
"methodology",
|
|
25
|
-
"cli",
|
|
26
|
-
"devops",
|
|
27
|
-
"tracking",
|
|
28
|
-
"agile"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"url": "https://github.com/Baxahaun/trackops
|
|
41
|
-
},
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "trackops",
|
|
3
|
+
"version": "2.0.5",
|
|
4
|
+
"description": "Local control and coordination system for AI-agent software development",
|
|
5
|
+
"main": "lib/control.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"trackops": "bin/trackops.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"bin/",
|
|
11
|
+
"lib/",
|
|
12
|
+
"locales/",
|
|
13
|
+
"skills/",
|
|
14
|
+
"scripts/",
|
|
15
|
+
"ui/",
|
|
16
|
+
"templates/"
|
|
17
|
+
],
|
|
18
|
+
"keywords": [
|
|
19
|
+
"project-management",
|
|
20
|
+
"task-management",
|
|
21
|
+
"dashboard",
|
|
22
|
+
"ops",
|
|
23
|
+
"opera",
|
|
24
|
+
"methodology",
|
|
25
|
+
"cli",
|
|
26
|
+
"devops",
|
|
27
|
+
"tracking",
|
|
28
|
+
"agile",
|
|
29
|
+
"ai-agents",
|
|
30
|
+
"coordination",
|
|
31
|
+
"skills"
|
|
32
|
+
],
|
|
33
|
+
"author": {
|
|
34
|
+
"name": "Xavier Crespo Gríman",
|
|
35
|
+
"email": "crespoxac@gmail.com",
|
|
36
|
+
"url": "https://baxahaun.com"
|
|
37
|
+
},
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "git+https://github.com/Baxahaun/trackops.git"
|
|
41
|
+
},
|
|
42
|
+
"bugs": {
|
|
43
|
+
"url": "https://github.com/Baxahaun/trackops/issues"
|
|
44
|
+
},
|
|
45
|
+
"homepage": "https://github.com/Baxahaun/trackops#readme",
|
|
46
|
+
"funding": "https://baxahaun.github.io/trackops/#support",
|
|
47
|
+
"license": "MIT",
|
|
48
|
+
"type": "commonjs",
|
|
49
|
+
"engines": {
|
|
50
|
+
"node": ">=18"
|
|
51
|
+
},
|
|
52
|
+
"scripts": {
|
|
53
|
+
"postinstall": "node scripts/postinstall-locale.js",
|
|
54
|
+
"test": "node scripts/smoke-tests.js",
|
|
55
|
+
"test:smoke": "node scripts/smoke-tests.js",
|
|
56
|
+
"skill:sync-version": "node scripts/sync-skill-version.js",
|
|
57
|
+
"skill:validate": "node scripts/validate-skill.js",
|
|
58
|
+
"skill:smoke": "node scripts/skills-marketplace-smoke.js",
|
|
59
|
+
"release:check": "npm test && npm run skill:validate && npm run skill:smoke && npm pack --dry-run"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const runtimeState = require("../lib/runtime-state");
|
|
4
|
-
const { setLocale, t } = require("../lib/i18n");
|
|
5
|
-
|
|
6
|
-
function isGlobalInstall() {
|
|
7
|
-
return String(process.env.npm_config_global || "").toLowerCase() === "true";
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
async function main() {
|
|
11
|
-
if (!isGlobalInstall()) return;
|
|
12
|
-
const result = await runtimeState.ensureGlobalLocale({ interactive: true });
|
|
13
|
-
if (!result?.locale) return;
|
|
14
|
-
setLocale(result.locale);
|
|
15
|
-
process.stdout.write(`${t("postinstall.localeSet", { locale: result.locale, source: t(`locale.source.${result.source}`) })}\n`);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
main().catch((error) => {
|
|
19
|
-
process.stderr.write(`${error.message}\n`);
|
|
20
|
-
process.exit(0);
|
|
21
|
-
});
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const runtimeState = require("../lib/runtime-state");
|
|
4
|
+
const { setLocale, t } = require("../lib/i18n");
|
|
5
|
+
|
|
6
|
+
function isGlobalInstall() {
|
|
7
|
+
return String(process.env.npm_config_global || "").toLowerCase() === "true";
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
async function main() {
|
|
11
|
+
if (!isGlobalInstall()) return;
|
|
12
|
+
const result = await runtimeState.ensureGlobalLocale({ interactive: true });
|
|
13
|
+
if (!result?.locale) return;
|
|
14
|
+
setLocale(result.locale);
|
|
15
|
+
process.stdout.write(`${t("postinstall.localeSet", { locale: result.locale, source: t(`locale.source.${result.source}`) })}\n`);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
main().catch((error) => {
|
|
19
|
+
process.stderr.write(`${error.message}\n`);
|
|
20
|
+
process.exit(0);
|
|
21
|
+
});
|