@traqr/cli 0.1.5 → 0.1.7

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/dist/bin/traqr.js CHANGED
@@ -41,6 +41,9 @@ async function main() {
41
41
  case 'status':
42
42
  await import('../commands/status.js');
43
43
  break;
44
+ case 'verify':
45
+ await import('../commands/verify.js');
46
+ break;
44
47
  case '--help':
45
48
  case '-h':
46
49
  printUsage();
@@ -90,6 +93,7 @@ function printUsage() {
90
93
  setup Create or update global profile (~/.traqr/config.json)
91
94
  projects List and manage registered projects
92
95
  render Render templates from .traqr/config.json
96
+ verify Post-setup health check (config, render, memory, VCS)
93
97
  status Show config summary + health
94
98
 
95
99
  Options:
@@ -1 +1 @@
1
- {"version":3,"file":"traqr.js","sourceRoot":"","sources":["../../src/bin/traqr.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAE/B,KAAK,UAAU,IAAI;IACjB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;YACnC,MAAK;QACP,KAAK,UAAU;YACb,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;YACvC,MAAK;QACP,KAAK,OAAO;YACV,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAA;YACpC,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;YACrC,MAAK;QACP,KAAK,MAAM;YACT,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;YACnC,MAAK;QACP,KAAK,UAAU;YACb,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;YACvC,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;YACrC,MAAK;QACP,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,UAAU,EAAE,CAAA;YACZ,MAAK;QACP,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;gBACrD,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;gBAClC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC;;;;;;;CAOrB,CAAC,CAAA;oBACQ,MAAK;gBACP,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,sCAAsC,CAAC,CAAC;YAClD,UAAU,EAAE,CAAA;YACZ,MAAK;QACP,CAAC;QACD,KAAK,WAAW,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACpB,MAAK;QACP;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAA;YAC5C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACjB,UAAU,EAAE,CAAA;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAuBb,CAAC,CAAA;AACF,CAAC;AAED,qCAAqC;AACrC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE;IACvC,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA;AAEF,KAAK,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"traqr.js","sourceRoot":"","sources":["../../src/bin/traqr.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAE/B,KAAK,UAAU,IAAI;IACjB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;YACnC,MAAK;QACP,KAAK,UAAU;YACb,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;YACvC,MAAK;QACP,KAAK,OAAO;YACV,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAA;YACpC,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;YACrC,MAAK;QACP,KAAK,MAAM;YACT,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;YACnC,MAAK;QACP,KAAK,UAAU;YACb,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;YACvC,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;YACrC,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;YACrC,MAAK;QACP,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,UAAU,EAAE,CAAA;YACZ,MAAK;QACP,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;gBACrD,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;gBAClC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC;;;;;;;CAOrB,CAAC,CAAA;oBACQ,MAAK;gBACP,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,sCAAsC,CAAC,CAAC;YAClD,UAAU,EAAE,CAAA;YACZ,MAAK;QACP,CAAC;QACD,KAAK,WAAW,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACpB,MAAK;QACP;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAA;YAC5C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACjB,UAAU,EAAE,CAAA;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CAwBb,CAAC,CAAA;AACF,CAAC;AAED,qCAAqC;AACrC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE;IACvC,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA;AAEF,KAAK,IAAI,EAAE,CAAA"}
@@ -8,6 +8,8 @@
8
8
  * --dry-run Print rendered files to stdout instead of writing
9
9
  * --force Overwrite existing files
10
10
  */
11
+ import fs from 'fs/promises';
12
+ import path from 'path';
11
13
  import { loadProjectConfig, renderAllTemplates } from '@traqr/core';
12
14
  import { writeFiles } from '../lib/writer.js';
13
15
  const args = process.argv.slice(3);
@@ -49,6 +51,31 @@ async function run() {
49
51
  }
50
52
  }
51
53
  }
54
+ // Write global skills to ~/.claude/commands/
55
+ const globalEntries = Object.entries(result.globalFiles);
56
+ if (globalEntries.length > 0) {
57
+ const home = process.env.HOME || '';
58
+ if (dryRun) {
59
+ console.log(`\n--- Dry run: ${globalEntries.length} global skills ---`);
60
+ for (const [globalPath, content] of globalEntries) {
61
+ console.log(`\n=== ${globalPath} ===`);
62
+ console.log(content);
63
+ }
64
+ }
65
+ else {
66
+ for (const [globalPath, content] of globalEntries) {
67
+ const absPath = globalPath.replace(/^~/, home);
68
+ const exists = await fs.access(absPath).then(() => true).catch(() => false);
69
+ if (exists && !force) {
70
+ console.log(`Skipped global: ${globalPath} (use --force to overwrite)`);
71
+ continue;
72
+ }
73
+ await fs.mkdir(path.dirname(absPath), { recursive: true });
74
+ await fs.writeFile(absPath, content, 'utf-8');
75
+ }
76
+ console.log(`Global: ${globalEntries.length} skills -> ~/.claude/commands/`);
77
+ }
78
+ }
52
79
  if (result.warnings.length > 0) {
53
80
  console.log(`\nWarnings:`);
54
81
  for (const w of result.warnings) {
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * traqr verify — Post-setup health check
3
+ *
4
+ * Validates config, render output, memory setup, VCS, and team readiness.
5
+ * Designed to run after `traqr render` to confirm everything is wired up.
6
+ *
7
+ * Exit codes:
8
+ * 0 — all checks passed
9
+ * 1 — critical failures (missing config, broken render)
10
+ * 2 — warnings only (missing optional components)
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=verify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,216 @@
1
+ /**
2
+ * traqr verify — Post-setup health check
3
+ *
4
+ * Validates config, render output, memory setup, VCS, and team readiness.
5
+ * Designed to run after `traqr render` to confirm everything is wired up.
6
+ *
7
+ * Exit codes:
8
+ * 0 — all checks passed
9
+ * 1 — critical failures (missing config, broken render)
10
+ * 2 — warnings only (missing optional components)
11
+ */
12
+ import fs from 'fs/promises';
13
+ import path from 'path';
14
+ import { calculateAutomationScore } from '@traqr/core';
15
+ const results = [];
16
+ function check(category, label, status, message) {
17
+ results.push({ category, label, status, message });
18
+ }
19
+ async function fileExists(filePath) {
20
+ try {
21
+ await fs.access(filePath);
22
+ return true;
23
+ }
24
+ catch {
25
+ return false;
26
+ }
27
+ }
28
+ async function checkConfig(cwd) {
29
+ const configPath = path.join(cwd, '.traqr', 'config.json');
30
+ if (!await fileExists(configPath)) {
31
+ check('config', 'config.json', 'fail', '.traqr/config.json not found — run npx traqr render');
32
+ return null;
33
+ }
34
+ try {
35
+ const raw = await fs.readFile(configPath, 'utf-8');
36
+ const config = JSON.parse(raw);
37
+ check('config', 'config.json', 'pass', `.traqr/config.json found (v${config.version})`);
38
+ // Check required fields
39
+ if (!config.project?.name) {
40
+ check('config', 'project.name', 'fail', 'Missing project.name in config');
41
+ }
42
+ if (config.tier === undefined) {
43
+ check('config', 'tier', 'fail', 'Missing tier in config');
44
+ }
45
+ // Determine golden path
46
+ const vcs = config.vcs?.provider || 'unknown';
47
+ const issueProvider = config.issues?.provider || 'none';
48
+ let goldenPath = 'custom';
49
+ if (vcs === 'github' && issueProvider === 'linear')
50
+ goldenPath = 'github-pro';
51
+ else if (vcs === 'gitlab' && issueProvider === 'gitlab')
52
+ goldenPath = 'gitlab-team';
53
+ else if (vcs === 'gitlab' && issueProvider === 'none')
54
+ goldenPath = 'gitlab-minimal';
55
+ check('config', 'golden-path', 'pass', `Golden Path: ${goldenPath} (tier ${config.tier})`);
56
+ return config;
57
+ }
58
+ catch (e) {
59
+ check('config', 'parse', 'fail', `Invalid JSON in config.json: ${e.message}`);
60
+ return null;
61
+ }
62
+ }
63
+ async function checkRender(cwd) {
64
+ // Check CLAUDE.md
65
+ const claudePath = path.join(cwd, 'CLAUDE.md');
66
+ if (await fileExists(claudePath)) {
67
+ const content = await fs.readFile(claudePath, 'utf-8');
68
+ const markerCount = (content.match(/<!-- traqr:start:/g) || []).length;
69
+ if (markerCount > 0) {
70
+ check('render', 'CLAUDE.md', 'pass', `CLAUDE.md exists — ${markerCount} Traqr sections`);
71
+ }
72
+ else {
73
+ check('render', 'CLAUDE.md', 'warn', 'CLAUDE.md exists but has no Traqr section markers — run npx traqr render');
74
+ }
75
+ // Check for unresolved template vars
76
+ const unresolvedVars = content.match(/\{\{[A-Z_]+\}\}/g);
77
+ if (unresolvedVars && unresolvedVars.length > 0) {
78
+ check('render', 'template-vars', 'warn', `${unresolvedVars.length} unresolved template variables: ${unresolvedVars.slice(0, 3).join(', ')}`);
79
+ }
80
+ }
81
+ else {
82
+ check('render', 'CLAUDE.md', 'fail', 'CLAUDE.md not found — run npx traqr render');
83
+ }
84
+ // Check ONBOARDING.md
85
+ const onboardingPath = path.join(cwd, '.traqr', 'ONBOARDING.md');
86
+ if (await fileExists(onboardingPath)) {
87
+ check('render', 'ONBOARDING.md', 'pass', 'ONBOARDING.md exists');
88
+ }
89
+ else {
90
+ check('render', 'ONBOARDING.md', 'warn', '.traqr/ONBOARDING.md not found — run npx traqr render');
91
+ }
92
+ }
93
+ async function checkMemory(cwd, config) {
94
+ const memoryProvider = config.memory?.provider;
95
+ if (!memoryProvider || memoryProvider === 'none') {
96
+ check('memory', 'provider', 'pass', 'No memory configured (tier 0)');
97
+ return;
98
+ }
99
+ check('memory', 'provider', 'pass', `Provider: ${memoryProvider}`);
100
+ // Check for MCP config
101
+ const mcpPaths = [
102
+ path.join(cwd, '.claude', 'mcp.json'),
103
+ path.join(process.env.HOME || '', '.claude', 'mcp.json'),
104
+ path.join(process.env.HOME || '', '.claude.json'),
105
+ ];
106
+ let mcpFound = false;
107
+ for (const mcpPath of mcpPaths) {
108
+ if (await fileExists(mcpPath)) {
109
+ try {
110
+ const raw = await fs.readFile(mcpPath, 'utf-8');
111
+ const mcpConfig = JSON.parse(raw);
112
+ const servers = mcpConfig.mcpServers || mcpConfig;
113
+ if (servers['traqr-memory']) {
114
+ check('memory', 'mcp-config', 'pass', `MCP config: found in ${path.basename(mcpPath)}`);
115
+ mcpFound = true;
116
+ break;
117
+ }
118
+ }
119
+ catch {
120
+ // Invalid JSON, try next
121
+ }
122
+ }
123
+ }
124
+ if (!mcpFound) {
125
+ check('memory', 'mcp-config', 'warn', 'No traqr-memory MCP config found — run npx traqr-memory-mcp --install');
126
+ }
127
+ }
128
+ async function checkVcs(cwd, config) {
129
+ const vcsProvider = config.vcs?.provider;
130
+ if (!vcsProvider) {
131
+ check('vcs', 'provider', 'warn', 'No VCS provider configured');
132
+ return;
133
+ }
134
+ check('vcs', 'provider', 'pass', `Provider: ${vcsProvider}`);
135
+ // Check git remote
136
+ try {
137
+ const { execSync } = await import('child_process');
138
+ const remote = execSync('git config --get remote.origin.url', { cwd, encoding: 'utf-8' }).trim();
139
+ if (vcsProvider === 'github' && remote.includes('github.com')) {
140
+ check('vcs', 'remote', 'pass', `Remote: ${config.project?.ghOrgRepo || remote}`);
141
+ }
142
+ else if (vcsProvider === 'gitlab' && (remote.includes('gitlab') || config.vcs?.baseUrl)) {
143
+ check('vcs', 'remote', 'pass', `Remote: ${remote}`);
144
+ }
145
+ else {
146
+ check('vcs', 'remote', 'warn', `Remote ${remote} may not match provider ${vcsProvider}`);
147
+ }
148
+ }
149
+ catch {
150
+ check('vcs', 'remote', 'warn', 'No git remote configured');
151
+ }
152
+ }
153
+ async function checkTeam(cwd, config) {
154
+ if (config.tier < 2) {
155
+ check('team', 'tier', 'pass', 'Solo tier — team features not required');
156
+ return;
157
+ }
158
+ const onboardingPath = path.join(cwd, '.traqr', 'ONBOARDING.md');
159
+ if (await fileExists(onboardingPath)) {
160
+ check('team', 'onboarding', 'pass', 'Onboarding guide: present');
161
+ }
162
+ else {
163
+ check('team', 'onboarding', 'warn', 'No onboarding guide — run npx traqr render to generate');
164
+ }
165
+ }
166
+ async function run() {
167
+ const cwd = process.cwd();
168
+ console.log('TraqrOS Verify\n');
169
+ // 1. Config
170
+ const config = await checkConfig(cwd);
171
+ if (!config) {
172
+ printResults();
173
+ process.exit(1);
174
+ }
175
+ // 2. Render output
176
+ await checkRender(cwd);
177
+ // 3. Memory
178
+ await checkMemory(cwd, config);
179
+ // 4. VCS
180
+ await checkVcs(cwd, config);
181
+ // 5. Team
182
+ await checkTeam(cwd, config);
183
+ // 6. Score
184
+ const score = calculateAutomationScore(config);
185
+ check('score', 'automation', 'pass', `Automation: ${score}/100`);
186
+ printResults();
187
+ // Exit code
188
+ const hasFail = results.some(r => r.status === 'fail');
189
+ const hasWarn = results.some(r => r.status === 'warn');
190
+ if (hasFail)
191
+ process.exit(1);
192
+ if (hasWarn)
193
+ process.exit(2);
194
+ process.exit(0);
195
+ }
196
+ function printResults() {
197
+ for (const r of results) {
198
+ const icon = r.status === 'pass' ? '\x1b[32m✓\x1b[0m' : r.status === 'warn' ? '\x1b[33m!\x1b[0m' : '\x1b[31m✗\x1b[0m';
199
+ console.log(`${icon} [${r.category}] ${r.message}`);
200
+ }
201
+ const fails = results.filter(r => r.status === 'fail').length;
202
+ const warns = results.filter(r => r.status === 'warn').length;
203
+ const passes = results.filter(r => r.status === 'pass').length;
204
+ console.log('');
205
+ if (fails > 0) {
206
+ console.log(`\x1b[31m${fails} failed\x1b[0m, ${warns} warnings, ${passes} passed`);
207
+ }
208
+ else if (warns > 0) {
209
+ console.log(`\x1b[33m${warns} warnings\x1b[0m, ${passes} passed`);
210
+ }
211
+ else {
212
+ console.log(`\x1b[32mAll ${passes} checks passed.\x1b[0m`);
213
+ }
214
+ }
215
+ void run();
216
+ //# sourceMappingURL=verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAqB,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAUzE,MAAM,OAAO,GAAkB,EAAE,CAAA;AAEjC,SAAS,KAAK,CAAC,QAAgB,EAAE,KAAa,EAAE,MAAgC,EAAE,OAAe;IAC/F,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AACpD,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;IAC1D,IAAI,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,qDAAqD,CAAC,CAAA;QAC7F,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAA;QAE7C,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,8BAA8B,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;QAEvF,wBAAwB;QACxB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YAC1B,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,gCAAgC,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAA;QAC3D,CAAC;QAED,wBAAwB;QACxB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ,IAAI,SAAS,CAAA;QAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAA;QACvD,IAAI,UAAU,GAAG,QAAQ,CAAA;QACzB,IAAI,GAAG,KAAK,QAAQ,IAAI,aAAa,KAAK,QAAQ;YAAE,UAAU,GAAG,YAAY,CAAA;aACxE,IAAI,GAAG,KAAK,QAAQ,IAAI,aAAa,KAAK,QAAQ;YAAE,UAAU,GAAG,aAAa,CAAA;aAC9E,IAAI,GAAG,KAAK,QAAQ,IAAI,aAAa,KAAK,MAAM;YAAE,UAAU,GAAG,gBAAgB,CAAA;QAEpF,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,UAAU,UAAU,MAAM,CAAC,IAAI,GAAG,CAAC,CAAA;QAE1F,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,gCAAiC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAA;QACxF,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,kBAAkB;IAClB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IAC9C,IAAI,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACtD,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAA;QACtE,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,sBAAsB,WAAW,iBAAiB,CAAC,CAAA;QAC1F,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,0EAA0E,CAAC,CAAA;QAClH,CAAC;QAED,qCAAqC;QACrC,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACxD,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,mCAAmC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9I,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,4CAA4C,CAAC,CAAA;IACpF,CAAC;IAED,sBAAsB;IACtB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAA;IAChE,IAAI,MAAM,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAA;IAClE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,uDAAuD,CAAC,CAAA;IACnG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,MAAmB;IACzD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAA;IAC9C,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QACjD,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,+BAA+B,CAAC,CAAA;QACpE,OAAM;IACR,CAAC;IAED,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,cAAc,EAAE,CAAC,CAAA;IAElE,uBAAuB;IACvB,MAAM,QAAQ,GAAG;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,cAAc,CAAC;KAClD,CAAA;IAED,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACjC,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,IAAI,SAAS,CAAA;gBACjD,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC5B,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,wBAAwB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;oBACvF,QAAQ,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,uEAAuE,CAAC,CAAA;IAChH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,MAAmB;IACtD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAA;IACxC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,4BAA4B,CAAC,CAAA;QAC9D,OAAM;IACR,CAAC;IAED,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,WAAW,EAAE,CAAC,CAAA;IAE5D,mBAAmB;IACnB,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAChG,IAAI,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9D,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,CAAC,CAAA;QAClF,CAAC;aAAM,IAAI,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1F,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,MAAM,EAAE,CAAC,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,MAAM,2BAA2B,WAAW,EAAE,CAAC,CAAA;QAC1F,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,0BAA0B,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,MAAmB;IACvD,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wCAAwC,CAAC,CAAA;QACvE,OAAM;IACR,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAA;IAChE,IAAI,MAAM,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,2BAA2B,CAAC,CAAA;IAClE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,wDAAwD,CAAC,CAAA;IAC/F,CAAC;AACH,CAAC;AAED,KAAK,UAAU,GAAG;IAChB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAEzB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IAE/B,YAAY;IACZ,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,YAAY,EAAE,CAAA;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,mBAAmB;IACnB,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;IAEtB,YAAY;IACZ,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAE9B,SAAS;IACT,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAE3B,UAAU;IACV,MAAM,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAE5B,WAAW;IACX,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAC9C,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,KAAK,MAAM,CAAC,CAAA;IAEhE,YAAY,EAAE,CAAA;IAEd,YAAY;IACZ,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IACtD,IAAI,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,IAAI,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,SAAS,YAAY;IACnB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAA;QACrH,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAA;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAA;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAA;IAE9D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,mBAAmB,KAAK,cAAc,MAAM,SAAS,CAAC,CAAA;IACpF,CAAC;SAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,qBAAqB,MAAM,SAAS,CAAC,CAAA;IACnE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,wBAAwB,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC;AAED,KAAK,GAAG,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@traqr/cli",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "CLI for Claude Code — persistent memory, worktree slots, autonomous CI/CD, skill templates.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",