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.
Files changed (103) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +695 -402
  3. package/bin/trackops.js +116 -116
  4. package/lib/config.js +326 -326
  5. package/lib/control.js +208 -208
  6. package/lib/env.js +244 -244
  7. package/lib/init.js +325 -325
  8. package/lib/locale.js +24 -0
  9. package/lib/opera-bootstrap.js +941 -874
  10. package/lib/opera.js +494 -477
  11. package/lib/preferences.js +74 -74
  12. package/lib/registry.js +214 -196
  13. package/lib/release.js +56 -56
  14. package/lib/runtime-state.js +144 -144
  15. package/lib/server.js +312 -207
  16. package/lib/skills.js +74 -57
  17. package/lib/workspace.js +260 -260
  18. package/locales/en.json +192 -166
  19. package/locales/es.json +192 -166
  20. package/package.json +61 -58
  21. package/scripts/postinstall-locale.js +21 -21
  22. package/scripts/skills-marketplace-smoke.js +124 -124
  23. package/scripts/smoke-tests.js +558 -554
  24. package/scripts/sync-skill-version.js +21 -21
  25. package/scripts/validate-skill.js +103 -103
  26. package/skills/trackops/SKILL.md +126 -122
  27. package/skills/trackops/agents/openai.yaml +7 -7
  28. package/skills/trackops/locales/en/SKILL.md +126 -122
  29. package/skills/trackops/locales/en/references/activation.md +94 -75
  30. package/skills/trackops/locales/en/references/troubleshooting.md +73 -55
  31. package/skills/trackops/locales/en/references/workflow.md +55 -32
  32. package/skills/trackops/references/activation.md +94 -75
  33. package/skills/trackops/references/troubleshooting.md +73 -55
  34. package/skills/trackops/references/workflow.md +55 -32
  35. package/skills/trackops/skill.json +29 -29
  36. package/templates/hooks/post-checkout +2 -2
  37. package/templates/hooks/post-commit +2 -2
  38. package/templates/hooks/post-merge +2 -2
  39. package/templates/opera/agent.md +28 -27
  40. package/templates/opera/architecture/dependency-graph.md +24 -24
  41. package/templates/opera/architecture/runtime-automation.md +24 -24
  42. package/templates/opera/architecture/runtime-operations.md +34 -34
  43. package/templates/opera/en/agent.md +22 -21
  44. package/templates/opera/en/architecture/dependency-graph.md +24 -24
  45. package/templates/opera/en/architecture/runtime-automation.md +24 -24
  46. package/templates/opera/en/architecture/runtime-operations.md +34 -34
  47. package/templates/opera/en/reviews/delivery-audit.md +18 -18
  48. package/templates/opera/en/reviews/integration-audit.md +18 -18
  49. package/templates/opera/en/router.md +24 -19
  50. package/templates/opera/references/autonomy-and-recovery.md +117 -117
  51. package/templates/opera/references/opera-cycle.md +193 -193
  52. package/templates/opera/registry.md +28 -28
  53. package/templates/opera/reviews/delivery-audit.md +18 -18
  54. package/templates/opera/reviews/integration-audit.md +18 -18
  55. package/templates/opera/router.md +54 -49
  56. package/templates/skills/changelog-updater/SKILL.md +69 -69
  57. package/templates/skills/commiter/SKILL.md +99 -99
  58. package/templates/skills/opera-contract-auditor/SKILL.md +38 -38
  59. package/templates/skills/opera-contract-auditor/locales/en/SKILL.md +38 -38
  60. package/templates/skills/opera-policy-guard/SKILL.md +26 -26
  61. package/templates/skills/opera-policy-guard/locales/en/SKILL.md +26 -26
  62. package/templates/skills/opera-skill/SKILL.md +279 -0
  63. package/templates/skills/opera-skill/locales/en/SKILL.md +279 -0
  64. package/templates/skills/opera-skill/locales/en/references/phase-dod.md +138 -0
  65. package/templates/skills/opera-skill/references/phase-dod.md +138 -0
  66. package/templates/skills/project-starter-skill/SKILL.md +150 -131
  67. package/templates/skills/project-starter-skill/locales/en/SKILL.md +143 -105
  68. package/templates/skills/project-starter-skill/references/opera-cycle.md +195 -193
  69. package/ui/css/base.css +284 -266
  70. package/ui/css/charts.css +425 -327
  71. package/ui/css/components.css +1107 -570
  72. package/ui/css/onboarding.css +133 -0
  73. package/ui/css/panels.css +345 -406
  74. package/ui/css/terminal.css +125 -0
  75. package/ui/css/timeline.css +58 -0
  76. package/ui/css/tokens.css +284 -227
  77. package/ui/favicon.svg +5 -5
  78. package/ui/index.html +99 -96
  79. package/ui/js/api.js +49 -13
  80. package/ui/js/app.js +28 -32
  81. package/ui/js/charts.js +526 -0
  82. package/ui/js/console-logger.js +172 -172
  83. package/ui/js/filters.js +247 -0
  84. package/ui/js/icons.js +129 -104
  85. package/ui/js/keyboard.js +229 -0
  86. package/ui/js/onboarding.js +33 -42
  87. package/ui/js/router.js +142 -125
  88. package/ui/js/theme.js +100 -100
  89. package/ui/js/time-tracker.js +248 -248
  90. package/ui/js/views/board.js +84 -114
  91. package/ui/js/views/dashboard.js +870 -0
  92. package/ui/js/views/flash.js +47 -47
  93. package/ui/js/views/projects.js +745 -0
  94. package/ui/js/views/scrum.js +476 -0
  95. package/ui/js/views/settings.js +153 -203
  96. package/ui/js/views/sidebar.js +37 -31
  97. package/ui/js/views/tasks.js +218 -101
  98. package/ui/js/views/timeline.js +265 -0
  99. package/ui/js/views/topbar.js +94 -107
  100. package/ui/app.js +0 -950
  101. package/ui/js/views/insights.js +0 -340
  102. package/ui/js/views/overview.js +0 -369
  103. package/ui/styles.css +0 -688
@@ -0,0 +1,125 @@
1
+ /* ═══════════════════════════════════════════════════════
2
+ TERMINAL — Terminal surface + Console logs panel
3
+ Always-dark styling regardless of theme
4
+ ═══════════════════════════════════════════════════════ */
5
+
6
+ /* ───────────────────────────────────
7
+ TERMINAL GLASS WRAPPER
8
+ ─────────────────────────────────── */
9
+ .terminal-wrapper {
10
+ background: var(--glass-bg-strong);
11
+ backdrop-filter: blur(var(--glass-blur));
12
+ -webkit-backdrop-filter: blur(var(--glass-blur));
13
+ border: 1px solid var(--glass-border);
14
+ border-radius: var(--radius-xl);
15
+ overflow: hidden;
16
+ }
17
+
18
+ /* ───────────────────────────────────
19
+ TERMINAL SURFACE
20
+ ─────────────────────────────────── */
21
+ .terminal-surface {
22
+ background: #060a14;
23
+ border: 1px solid rgba(255,255,255,0.05);
24
+ border-radius: var(--radius-lg);
25
+ overflow: hidden;
26
+ }
27
+ .terminal-header {
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: space-between;
31
+ padding: var(--space-2) var(--space-4);
32
+ background: rgba(255,255,255,0.03);
33
+ border-bottom: 1px solid rgba(255,255,255,0.04);
34
+ gap: var(--space-3);
35
+ }
36
+ .terminal-dots { display: flex; gap: var(--space-2); align-items: center; }
37
+ .terminal-dots span {
38
+ width: 10px; height: 10px;
39
+ border-radius: 50%;
40
+ }
41
+ .terminal-dots span:nth-child(1) { background: #EF4444; }
42
+ .terminal-dots span:nth-child(2) { background: #F59E0B; }
43
+ .terminal-dots span:nth-child(3) { background: #10B981; }
44
+ .terminal-title {
45
+ font-family: var(--font-mono);
46
+ font-size: var(--text-xs);
47
+ color: var(--text-muted);
48
+ flex: 1;
49
+ text-align: center;
50
+ }
51
+ .terminal-output {
52
+ margin: 0;
53
+ padding: var(--space-5);
54
+ font-family: var(--font-mono);
55
+ font-size: var(--text-xs);
56
+ line-height: 1.7;
57
+ color: #94D4BC;
58
+ min-height: 280px;
59
+ max-height: 460px;
60
+ overflow-y: auto;
61
+ white-space: pre-wrap;
62
+ word-break: break-all;
63
+ }
64
+
65
+ /* ───────────────────────────────────
66
+ CONSOLE LOGS PANEL
67
+ ─────────────────────────────────── */
68
+ .console-panel {
69
+ position: fixed;
70
+ bottom: 0;
71
+ left: var(--sidebar-width);
72
+ right: 0;
73
+ z-index: var(--z-panel);
74
+ background: #060a14;
75
+ border-top: 1px solid var(--border);
76
+ transition: transform var(--duration-slow) var(--ease-out);
77
+ transform: translateY(100%);
78
+ }
79
+ .console-panel.is-open {
80
+ transform: translateY(0);
81
+ }
82
+ .console-panel-header {
83
+ display: flex;
84
+ align-items: center;
85
+ justify-content: space-between;
86
+ padding: var(--space-2) var(--space-4);
87
+ border-bottom: 1px solid rgba(255,255,255,0.04);
88
+ background: rgba(255,255,255,0.02);
89
+ }
90
+ .console-panel-title {
91
+ font-family: var(--font-mono);
92
+ font-size: var(--text-xs);
93
+ color: var(--text-muted);
94
+ display: flex;
95
+ align-items: center;
96
+ gap: var(--space-2);
97
+ }
98
+ .console-panel-actions {
99
+ display: flex;
100
+ gap: var(--space-2);
101
+ }
102
+ .console-logs {
103
+ overflow-y: auto;
104
+ max-height: 220px;
105
+ padding: var(--space-2) 0;
106
+ }
107
+ .console-log-entry {
108
+ display: grid;
109
+ grid-template-columns: auto auto 1fr;
110
+ gap: var(--space-3);
111
+ align-items: start;
112
+ padding: var(--space-1) var(--space-4);
113
+ font-family: var(--font-mono);
114
+ font-size: var(--text-xs);
115
+ line-height: 1.6;
116
+ border-bottom: 1px solid rgba(255,255,255,0.02);
117
+ }
118
+ .console-log-entry:hover { background: rgba(255,255,255,0.02); }
119
+ .console-log-time { color: var(--text-muted); white-space: nowrap; }
120
+ .log-level { font-weight: 700; white-space: nowrap; }
121
+ .log-error { color: var(--danger); }
122
+ .log-warn { color: var(--warning); }
123
+ .log-info { color: var(--info); }
124
+ .log-debug { color: var(--text-muted); }
125
+ .console-log-msg { color: var(--text-secondary); word-break: break-all; }
@@ -0,0 +1,58 @@
1
+ /* ═══════════════════════════════════════════════════════
2
+ TIMELINE — Vista de línea temporal con milestones
3
+ ═══════════════════════════════════════════════════════ */
4
+
5
+ .timeline-container {
6
+ background: var(--glass-bg);
7
+ backdrop-filter: blur(var(--glass-blur));
8
+ -webkit-backdrop-filter: blur(var(--glass-blur));
9
+ border: 1px solid var(--glass-border);
10
+ border-radius: var(--radius-xl);
11
+ padding: var(--space-4);
12
+ overflow: hidden;
13
+ }
14
+
15
+ .timeline-scroll {
16
+ overflow-x: auto;
17
+ overflow-y: visible;
18
+ scrollbar-width: thin;
19
+ scrollbar-color: var(--surface-3) transparent;
20
+ }
21
+
22
+ .timeline-scroll::-webkit-scrollbar {
23
+ height: 8px;
24
+ }
25
+ .timeline-scroll::-webkit-scrollbar-track {
26
+ background: transparent;
27
+ }
28
+ .timeline-scroll::-webkit-scrollbar-thumb {
29
+ background: var(--surface-3);
30
+ border-radius: var(--radius-full);
31
+ }
32
+ .timeline-scroll::-webkit-scrollbar-thumb:hover {
33
+ background: var(--border-strong);
34
+ }
35
+
36
+ .timeline-svg {
37
+ display: block;
38
+ }
39
+
40
+ .timeline-legend {
41
+ padding: var(--space-3) var(--space-4);
42
+ background: var(--glass-bg);
43
+ border: 1px solid var(--glass-border);
44
+ border-radius: var(--radius-lg);
45
+ }
46
+
47
+ /* ───────────────────────────────────
48
+ STATUS BAR COLORS
49
+ ─────────────────────────────────── */
50
+ .timeline-bar.status-pending { fill: var(--accent-blue); }
51
+ .timeline-bar.status-in_progress { fill: var(--accent-cyan); }
52
+ .timeline-bar.status-in_review { fill: var(--accent-yellow); }
53
+ .timeline-bar.status-completed { fill: var(--accent-green); }
54
+ .timeline-bar.status-blocked { fill: var(--accent-red); }
55
+
56
+ .timeline-milestone {
57
+ fill: var(--accent);
58
+ }