@claudetree/cli 0.5.0 → 0.5.2
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/commands/log.d.ts +3 -0
- package/dist/commands/log.d.ts.map +1 -0
- package/dist/commands/log.js +116 -0
- package/dist/commands/log.js.map +1 -0
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/package.json +7 -4
- package/dist/commands/batch.test.d.ts +0 -2
- package/dist/commands/batch.test.d.ts.map +0 -1
- package/dist/commands/batch.test.js +0 -230
- package/dist/commands/batch.test.js.map +0 -1
- package/dist/commands/bustercall/issueFilters.test.d.ts +0 -2
- package/dist/commands/bustercall/issueFilters.test.d.ts.map +0 -1
- package/dist/commands/bustercall/issueFilters.test.js +0 -151
- package/dist/commands/bustercall/issueFilters.test.js.map +0 -1
- package/dist/commands/bustercall/sessionManager.test.d.ts +0 -2
- package/dist/commands/bustercall/sessionManager.test.d.ts.map +0 -1
- package/dist/commands/bustercall/sessionManager.test.js +0 -79
- package/dist/commands/bustercall/sessionManager.test.js.map +0 -1
- package/dist/commands/bustercall/statusDisplay.test.d.ts +0 -2
- package/dist/commands/bustercall/statusDisplay.test.d.ts.map +0 -1
- package/dist/commands/bustercall/statusDisplay.test.js +0 -111
- package/dist/commands/bustercall/statusDisplay.test.js.map +0 -1
- package/dist/commands/bustercall.test.d.ts +0 -2
- package/dist/commands/bustercall.test.d.ts.map +0 -1
- package/dist/commands/bustercall.test.js +0 -258
- package/dist/commands/bustercall.test.js.map +0 -1
- package/dist/commands/chain/chainDisplay.test.d.ts +0 -2
- package/dist/commands/chain/chainDisplay.test.d.ts.map +0 -1
- package/dist/commands/chain/chainDisplay.test.js +0 -128
- package/dist/commands/chain/chainDisplay.test.js.map +0 -1
- package/dist/commands/chain/chainSession.test.d.ts +0 -2
- package/dist/commands/chain/chainSession.test.d.ts.map +0 -1
- package/dist/commands/chain/chainSession.test.js +0 -93
- package/dist/commands/chain/chainSession.test.js.map +0 -1
- package/dist/commands/chain.test.d.ts +0 -2
- package/dist/commands/chain.test.d.ts.map +0 -1
- package/dist/commands/chain.test.js +0 -216
- package/dist/commands/chain.test.js.map +0 -1
- package/dist/commands/clean.test.d.ts +0 -2
- package/dist/commands/clean.test.d.ts.map +0 -1
- package/dist/commands/clean.test.js +0 -193
- package/dist/commands/clean.test.js.map +0 -1
- package/dist/commands/demo.d.ts +0 -3
- package/dist/commands/demo.d.ts.map +0 -1
- package/dist/commands/demo.js +0 -175
- package/dist/commands/demo.js.map +0 -1
- package/dist/commands/demo.test.d.ts +0 -2
- package/dist/commands/demo.test.d.ts.map +0 -1
- package/dist/commands/demo.test.js +0 -34
- package/dist/commands/demo.test.js.map +0 -1
- package/dist/commands/doctor.test.d.ts +0 -2
- package/dist/commands/doctor.test.d.ts.map +0 -1
- package/dist/commands/doctor.test.js +0 -324
- package/dist/commands/doctor.test.js.map +0 -1
- package/dist/commands/init.test.d.ts +0 -2
- package/dist/commands/init.test.d.ts.map +0 -1
- package/dist/commands/init.test.js +0 -94
- package/dist/commands/init.test.js.map +0 -1
- package/dist/commands/list.test.d.ts +0 -2
- package/dist/commands/list.test.d.ts.map +0 -1
- package/dist/commands/list.test.js +0 -106
- package/dist/commands/list.test.js.map +0 -1
- package/dist/commands/resume.test.d.ts +0 -2
- package/dist/commands/resume.test.d.ts.map +0 -1
- package/dist/commands/resume.test.js +0 -362
- package/dist/commands/resume.test.js.map +0 -1
- package/dist/commands/start/buildPrompt.test.d.ts +0 -2
- package/dist/commands/start/buildPrompt.test.d.ts.map +0 -1
- package/dist/commands/start/buildPrompt.test.js +0 -182
- package/dist/commands/start/buildPrompt.test.js.map +0 -1
- package/dist/commands/start/createWorktree.test.d.ts +0 -2
- package/dist/commands/start/createWorktree.test.d.ts.map +0 -1
- package/dist/commands/start/createWorktree.test.js +0 -81
- package/dist/commands/start/createWorktree.test.js.map +0 -1
- package/dist/commands/start/parseIssueInput.test.d.ts +0 -2
- package/dist/commands/start/parseIssueInput.test.d.ts.map +0 -1
- package/dist/commands/start/parseIssueInput.test.js +0 -118
- package/dist/commands/start/parseIssueInput.test.js.map +0 -1
- package/dist/commands/start/progressTracker.test.d.ts +0 -2
- package/dist/commands/start/progressTracker.test.d.ts.map +0 -1
- package/dist/commands/start/progressTracker.test.js +0 -100
- package/dist/commands/start/progressTracker.test.js.map +0 -1
- package/dist/commands/start/validationGates.test.d.ts +0 -2
- package/dist/commands/start/validationGates.test.d.ts.map +0 -1
- package/dist/commands/start/validationGates.test.js +0 -66
- package/dist/commands/start/validationGates.test.js.map +0 -1
- package/dist/commands/start.test.d.ts +0 -2
- package/dist/commands/start.test.d.ts.map +0 -1
- package/dist/commands/start.test.js +0 -260
- package/dist/commands/start.test.js.map +0 -1
- package/dist/commands/stats.test.d.ts +0 -2
- package/dist/commands/stats.test.d.ts.map +0 -1
- package/dist/commands/stats.test.js +0 -127
- package/dist/commands/stats.test.js.map +0 -1
- package/dist/commands/status.test.d.ts +0 -2
- package/dist/commands/status.test.d.ts.map +0 -1
- package/dist/commands/status.test.js +0 -172
- package/dist/commands/status.test.js.map +0 -1
- package/dist/commands/stop.test.d.ts +0 -2
- package/dist/commands/stop.test.d.ts.map +0 -1
- package/dist/commands/stop.test.js +0 -152
- package/dist/commands/stop.test.js.map +0 -1
- package/dist/commands/tdd.d.ts +0 -3
- package/dist/commands/tdd.d.ts.map +0 -1
- package/dist/commands/tdd.js +0 -472
- package/dist/commands/tdd.js.map +0 -1
- package/dist/commands/web.test.d.ts +0 -2
- package/dist/commands/web.test.d.ts.map +0 -1
- package/dist/commands/web.test.js +0 -133
- package/dist/commands/web.test.js.map +0 -1
package/dist/commands/demo.js
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import * as readline from 'node:readline';
|
|
3
|
-
const COLORS = {
|
|
4
|
-
green: '\x1b[32m',
|
|
5
|
-
red: '\x1b[31m',
|
|
6
|
-
yellow: '\x1b[33m',
|
|
7
|
-
cyan: '\x1b[36m',
|
|
8
|
-
magenta: '\x1b[35m',
|
|
9
|
-
blue: '\x1b[34m',
|
|
10
|
-
dim: '\x1b[2m',
|
|
11
|
-
reset: '\x1b[0m',
|
|
12
|
-
bold: '\x1b[1m',
|
|
13
|
-
};
|
|
14
|
-
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
15
|
-
async function typeText(text, delay = 30) {
|
|
16
|
-
for (const char of text) {
|
|
17
|
-
process.stdout.write(char);
|
|
18
|
-
await sleep(delay);
|
|
19
|
-
}
|
|
20
|
-
console.log();
|
|
21
|
-
}
|
|
22
|
-
async function simulateProgress(steps, delayMs = 800) {
|
|
23
|
-
for (const step of steps) {
|
|
24
|
-
process.stdout.write(` ${COLORS.dim}○${COLORS.reset} ${step}`);
|
|
25
|
-
await sleep(delayMs);
|
|
26
|
-
process.stdout.write(`\r ${COLORS.green}✓${COLORS.reset} ${step}\n`);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function printBox(lines, color = COLORS.cyan) {
|
|
30
|
-
// eslint-disable-next-line no-control-regex
|
|
31
|
-
const ANSI_REGEX = /\x1b\[[0-9;]*m/g;
|
|
32
|
-
const maxLen = Math.max(...lines.map((l) => l.replace(ANSI_REGEX, '').length));
|
|
33
|
-
const border = '─'.repeat(maxLen + 2);
|
|
34
|
-
console.log(`${color}┌${border}┐${COLORS.reset}`);
|
|
35
|
-
for (const line of lines) {
|
|
36
|
-
const plainLen = line.replace(ANSI_REGEX, '').length;
|
|
37
|
-
const padding = ' '.repeat(maxLen - plainLen);
|
|
38
|
-
console.log(`${color}│${COLORS.reset} ${line}${padding} ${color}│${COLORS.reset}`);
|
|
39
|
-
}
|
|
40
|
-
console.log(`${color}└${border}┘${COLORS.reset}`);
|
|
41
|
-
}
|
|
42
|
-
async function waitForEnter(message = 'Press Enter to continue...') {
|
|
43
|
-
const rl = readline.createInterface({
|
|
44
|
-
input: process.stdin,
|
|
45
|
-
output: process.stdout,
|
|
46
|
-
});
|
|
47
|
-
return new Promise((resolve) => {
|
|
48
|
-
rl.question(`\n${COLORS.dim}${message}${COLORS.reset}`, () => {
|
|
49
|
-
rl.close();
|
|
50
|
-
resolve();
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
async function runDemo() {
|
|
55
|
-
console.clear();
|
|
56
|
-
console.log(`\n${COLORS.bold}${COLORS.cyan}🌳 claudetree Demo${COLORS.reset}\n`);
|
|
57
|
-
console.log(`${COLORS.dim}This is a simulated walkthrough - no tokens will be consumed.${COLORS.reset}\n`);
|
|
58
|
-
await waitForEnter();
|
|
59
|
-
// Step 1: Issue
|
|
60
|
-
console.clear();
|
|
61
|
-
console.log(`\n${COLORS.bold}Step 1: You have a GitHub issue${COLORS.reset}\n`);
|
|
62
|
-
printBox([
|
|
63
|
-
`${COLORS.bold}Issue #42: Fix login button not responding${COLORS.reset}`,
|
|
64
|
-
'',
|
|
65
|
-
`${COLORS.dim}When clicking the login button, nothing happens.${COLORS.reset}`,
|
|
66
|
-
`${COLORS.dim}Expected: Should redirect to /auth${COLORS.reset}`,
|
|
67
|
-
`${COLORS.dim}Actual: No response${COLORS.reset}`,
|
|
68
|
-
'',
|
|
69
|
-
`${COLORS.yellow}Labels: bug, high-priority${COLORS.reset}`,
|
|
70
|
-
], COLORS.blue);
|
|
71
|
-
console.log(`\n${COLORS.dim}Normally you'd copy-paste this and manually implement...${COLORS.reset}`);
|
|
72
|
-
console.log(`${COLORS.green}With claudetree, just run one command:${COLORS.reset}\n`);
|
|
73
|
-
console.log(` ${COLORS.cyan}$ ct start https://github.com/you/repo/issues/42${COLORS.reset}\n`);
|
|
74
|
-
await waitForEnter();
|
|
75
|
-
// Step 2: Worktree creation
|
|
76
|
-
console.clear();
|
|
77
|
-
console.log(`\n${COLORS.bold}Step 2: claudetree creates an isolated workspace${COLORS.reset}\n`);
|
|
78
|
-
await simulateProgress([
|
|
79
|
-
'Fetching issue #42 from GitHub...',
|
|
80
|
-
'Creating branch: fix/issue-42-login-button',
|
|
81
|
-
'Creating worktree: .worktrees/issue-42-fix-login/',
|
|
82
|
-
'Initializing Claude session...',
|
|
83
|
-
]);
|
|
84
|
-
console.log(`\n${COLORS.dim}Your main branch stays untouched.${COLORS.reset}`);
|
|
85
|
-
console.log(`${COLORS.dim}Claude works in a completely isolated directory.${COLORS.reset}\n`);
|
|
86
|
-
printBox([
|
|
87
|
-
`${COLORS.bold}Project Structure${COLORS.reset}`,
|
|
88
|
-
'',
|
|
89
|
-
`my-app/ ${COLORS.dim}← You work here${COLORS.reset}`,
|
|
90
|
-
`├── src/`,
|
|
91
|
-
`└── .worktrees/`,
|
|
92
|
-
` └── issue-42-fix-login/ ${COLORS.cyan}← Claude works here${COLORS.reset}`,
|
|
93
|
-
], COLORS.green);
|
|
94
|
-
await waitForEnter();
|
|
95
|
-
// Step 3: Claude working
|
|
96
|
-
console.clear();
|
|
97
|
-
console.log(`\n${COLORS.bold}Step 3: Claude works autonomously${COLORS.reset}\n`);
|
|
98
|
-
console.log(`${COLORS.cyan}Claude:${COLORS.reset} I'll analyze the login button issue...\n`);
|
|
99
|
-
await typeText(`${COLORS.dim}> Reading src/components/LoginButton.tsx...${COLORS.reset}`, 20);
|
|
100
|
-
await sleep(500);
|
|
101
|
-
await typeText(`${COLORS.dim}> Found the issue: onClick handler is missing await${COLORS.reset}`, 20);
|
|
102
|
-
await sleep(500);
|
|
103
|
-
await typeText(`${COLORS.dim}> Editing src/components/LoginButton.tsx...${COLORS.reset}`, 20);
|
|
104
|
-
await sleep(500);
|
|
105
|
-
await typeText(`${COLORS.dim}> Running npm test...${COLORS.reset}`, 20);
|
|
106
|
-
await sleep(800);
|
|
107
|
-
console.log(`\n${COLORS.green}✓ All tests passing${COLORS.reset}\n`);
|
|
108
|
-
await typeText(`${COLORS.dim}> Creating commit: "fix: add await to login handler"${COLORS.reset}`, 20);
|
|
109
|
-
await typeText(`${COLORS.dim}> Pushing to origin/fix/issue-42-login-button...${COLORS.reset}`, 20);
|
|
110
|
-
await typeText(`${COLORS.dim}> Creating pull request...${COLORS.reset}`, 20);
|
|
111
|
-
await waitForEnter();
|
|
112
|
-
// Step 4: Result
|
|
113
|
-
console.clear();
|
|
114
|
-
console.log(`\n${COLORS.bold}Step 4: PR is ready for review!${COLORS.reset}\n`);
|
|
115
|
-
printBox([
|
|
116
|
-
`${COLORS.bold}${COLORS.green}Pull Request #123${COLORS.reset}`,
|
|
117
|
-
'',
|
|
118
|
-
`${COLORS.bold}fix: add await to login handler${COLORS.reset}`,
|
|
119
|
-
'',
|
|
120
|
-
`Fixes #42`,
|
|
121
|
-
'',
|
|
122
|
-
`${COLORS.dim}Changes:${COLORS.reset}`,
|
|
123
|
-
` ${COLORS.green}+ await${COLORS.reset} router.push('/auth')`,
|
|
124
|
-
` ${COLORS.red}- ${COLORS.reset}router.push('/auth')`,
|
|
125
|
-
'',
|
|
126
|
-
`${COLORS.cyan}→ github.com/you/repo/pull/123${COLORS.reset}`,
|
|
127
|
-
], COLORS.green);
|
|
128
|
-
console.log(`\n${COLORS.dim}Meanwhile, you were doing something else entirely.${COLORS.reset}`);
|
|
129
|
-
console.log(`${COLORS.dim}Now just review and merge!${COLORS.reset}\n`);
|
|
130
|
-
await waitForEnter();
|
|
131
|
-
// Step 5: Parallel
|
|
132
|
-
console.clear();
|
|
133
|
-
console.log(`\n${COLORS.bold}Bonus: Run multiple issues in parallel!${COLORS.reset}\n`);
|
|
134
|
-
console.log(` ${COLORS.cyan}$ ct start 42${COLORS.reset} ${COLORS.dim}# Fix login button${COLORS.reset}`);
|
|
135
|
-
console.log(` ${COLORS.cyan}$ ct start 43${COLORS.reset} ${COLORS.dim}# Add dark mode${COLORS.reset}`);
|
|
136
|
-
console.log(` ${COLORS.cyan}$ ct start 44${COLORS.reset} ${COLORS.dim}# Update deps${COLORS.reset}\n`);
|
|
137
|
-
console.log(`${COLORS.dim}Monitor all sessions:${COLORS.reset}\n`);
|
|
138
|
-
console.log(` ${COLORS.cyan}$ ct status${COLORS.reset} ${COLORS.dim}# CLI view${COLORS.reset}`);
|
|
139
|
-
console.log(` ${COLORS.cyan}$ ct web${COLORS.reset} ${COLORS.dim}# Web dashboard at localhost:3000${COLORS.reset}\n`);
|
|
140
|
-
printBox([
|
|
141
|
-
`${COLORS.bold}Session Status${COLORS.reset}`,
|
|
142
|
-
'',
|
|
143
|
-
`${COLORS.green}●${COLORS.reset} issue-42 ${COLORS.dim}running${COLORS.reset} fix login button`,
|
|
144
|
-
`${COLORS.green}●${COLORS.reset} issue-43 ${COLORS.dim}running${COLORS.reset} add dark mode`,
|
|
145
|
-
`${COLORS.yellow}●${COLORS.reset} issue-44 ${COLORS.dim}pending${COLORS.reset} update dependencies`,
|
|
146
|
-
], COLORS.magenta);
|
|
147
|
-
await waitForEnter();
|
|
148
|
-
// Final
|
|
149
|
-
console.clear();
|
|
150
|
-
console.log(`\n${COLORS.bold}${COLORS.green}🎉 That's claudetree!${COLORS.reset}\n`);
|
|
151
|
-
console.log(`${COLORS.bold}Quick Start:${COLORS.reset}\n`);
|
|
152
|
-
console.log(` ${COLORS.cyan}1.${COLORS.reset} ct init ${COLORS.dim}# Initialize in your project${COLORS.reset}`);
|
|
153
|
-
console.log(` ${COLORS.cyan}2.${COLORS.reset} ct doctor ${COLORS.dim}# Check everything is ready${COLORS.reset}`);
|
|
154
|
-
console.log(` ${COLORS.cyan}3.${COLORS.reset} ct start <issue-url> ${COLORS.dim}# Start working on an issue${COLORS.reset}`);
|
|
155
|
-
console.log(` ${COLORS.cyan}4.${COLORS.reset} ct status ${COLORS.dim}# Monitor progress${COLORS.reset}\n`);
|
|
156
|
-
console.log(`${COLORS.bold}Key Commands:${COLORS.reset}\n`);
|
|
157
|
-
console.log(` ct start <issue> ${COLORS.dim}Create worktree + start Claude${COLORS.reset}`);
|
|
158
|
-
console.log(` ct status ${COLORS.dim}View all sessions${COLORS.reset}`);
|
|
159
|
-
console.log(` ct stop [id] ${COLORS.dim}Stop a session${COLORS.reset}`);
|
|
160
|
-
console.log(` ct web ${COLORS.dim}Open web dashboard${COLORS.reset}`);
|
|
161
|
-
console.log(` ct batch <label> ${COLORS.dim}Process multiple issues${COLORS.reset}\n`);
|
|
162
|
-
console.log(`${COLORS.dim}Learn more: https://github.com/wonjangcloud9/claude-tree${COLORS.reset}\n`);
|
|
163
|
-
}
|
|
164
|
-
export const demoCommand = new Command('demo')
|
|
165
|
-
.description('Interactive demo of claudetree workflow (no tokens used)')
|
|
166
|
-
.action(async () => {
|
|
167
|
-
try {
|
|
168
|
-
await runDemo();
|
|
169
|
-
}
|
|
170
|
-
catch {
|
|
171
|
-
// User interrupted (Ctrl+C)
|
|
172
|
-
console.log(`\n${COLORS.dim}Demo interrupted.${COLORS.reset}\n`);
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
//# sourceMappingURL=demo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/commands/demo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"demo.test.d.ts","sourceRoot":"","sources":["../../src/commands/demo.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { demoCommand } from './demo.js';
|
|
3
|
-
describe('demoCommand', () => {
|
|
4
|
-
describe('command structure', () => {
|
|
5
|
-
it('should have correct name', () => {
|
|
6
|
-
expect(demoCommand.name()).toBe('demo');
|
|
7
|
-
});
|
|
8
|
-
it('should have correct description', () => {
|
|
9
|
-
expect(demoCommand.description()).toContain('Interactive demo');
|
|
10
|
-
expect(demoCommand.description()).toContain('no tokens');
|
|
11
|
-
});
|
|
12
|
-
it('should not require arguments', () => {
|
|
13
|
-
// Demo command has no required arguments
|
|
14
|
-
const args = demoCommand.registeredArguments;
|
|
15
|
-
expect(args).toHaveLength(0);
|
|
16
|
-
});
|
|
17
|
-
it('should not have options', () => {
|
|
18
|
-
// Demo command has no options
|
|
19
|
-
const options = demoCommand.options;
|
|
20
|
-
expect(options).toHaveLength(0);
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
describe('command definition', () => {
|
|
24
|
-
it('should be a Command instance', () => {
|
|
25
|
-
expect(demoCommand).toBeDefined();
|
|
26
|
-
expect(typeof demoCommand.parseAsync).toBe('function');
|
|
27
|
-
});
|
|
28
|
-
it('should have action handler', () => {
|
|
29
|
-
// Commander stores action in _actionHandler
|
|
30
|
-
expect(demoCommand._actionHandler).toBeDefined();
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
//# sourceMappingURL=demo.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"demo.test.js","sourceRoot":"","sources":["../../src/commands/demo.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAChE,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,yCAAyC;YACzC,MAAM,IAAI,GAAG,WAAW,CAAC,mBAAmB,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,8BAA8B;YAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;YACpC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,4CAA4C;YAC5C,MAAM,CAAE,WAAsD,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.test.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,324 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
|
|
2
|
-
import { mkdtemp, rm, mkdir, writeFile } from 'node:fs/promises';
|
|
3
|
-
import { tmpdir } from 'node:os';
|
|
4
|
-
import { join } from 'node:path';
|
|
5
|
-
// Mock execSync
|
|
6
|
-
const mockExecSync = vi.fn();
|
|
7
|
-
vi.mock('node:child_process', () => ({
|
|
8
|
-
execSync: (...args) => mockExecSync(...args),
|
|
9
|
-
}));
|
|
10
|
-
import { doctorCommand } from './doctor.js';
|
|
11
|
-
describe('doctorCommand', () => {
|
|
12
|
-
let testDir;
|
|
13
|
-
let originalCwd;
|
|
14
|
-
let originalExit;
|
|
15
|
-
let consoleLogSpy;
|
|
16
|
-
let originalEnv;
|
|
17
|
-
beforeEach(async () => {
|
|
18
|
-
testDir = await mkdtemp(join(tmpdir(), 'claudetree-doctor-test-'));
|
|
19
|
-
originalCwd = process.cwd();
|
|
20
|
-
process.chdir(testDir);
|
|
21
|
-
originalExit = process.exit;
|
|
22
|
-
process.exit = vi.fn();
|
|
23
|
-
originalEnv = { ...process.env };
|
|
24
|
-
consoleLogSpy = vi.spyOn(console, 'log').mockImplementation(() => { });
|
|
25
|
-
mockExecSync.mockReset();
|
|
26
|
-
});
|
|
27
|
-
afterEach(async () => {
|
|
28
|
-
process.chdir(originalCwd);
|
|
29
|
-
process.exit = originalExit;
|
|
30
|
-
process.env = originalEnv;
|
|
31
|
-
consoleLogSpy.mockRestore();
|
|
32
|
-
vi.clearAllMocks();
|
|
33
|
-
await rm(testDir, { recursive: true, force: true });
|
|
34
|
-
});
|
|
35
|
-
describe('Node.js check', () => {
|
|
36
|
-
it('should pass for Node.js >= 18', async () => {
|
|
37
|
-
// Setup mocks
|
|
38
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
39
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
40
|
-
return '.git';
|
|
41
|
-
if (cmd === 'claude --version')
|
|
42
|
-
return 'claude 1.0.0';
|
|
43
|
-
if (cmd === 'gh --version')
|
|
44
|
-
return 'gh version 2.0.0';
|
|
45
|
-
if (cmd === 'gh auth status')
|
|
46
|
-
return '';
|
|
47
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
48
|
-
});
|
|
49
|
-
await mkdir(join(testDir, '.claudetree'), { recursive: true });
|
|
50
|
-
await writeFile(join(testDir, '.claudetree', 'config.json'), '{}');
|
|
51
|
-
await doctorCommand.parseAsync(['node', 'test']);
|
|
52
|
-
expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('Node.js'));
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
describe('Git Repository check', () => {
|
|
56
|
-
it('should pass when inside git repo', async () => {
|
|
57
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
58
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
59
|
-
return '.git';
|
|
60
|
-
if (cmd === 'claude --version')
|
|
61
|
-
return 'claude 1.0.0';
|
|
62
|
-
if (cmd === 'gh --version')
|
|
63
|
-
return 'gh version 2.0.0';
|
|
64
|
-
if (cmd === 'gh auth status')
|
|
65
|
-
return '';
|
|
66
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
67
|
-
});
|
|
68
|
-
await mkdir(join(testDir, '.claudetree'), { recursive: true });
|
|
69
|
-
await writeFile(join(testDir, '.claudetree', 'config.json'), '{}');
|
|
70
|
-
await doctorCommand.parseAsync(['node', 'test']);
|
|
71
|
-
expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('Git Repository'));
|
|
72
|
-
});
|
|
73
|
-
it('should fail when not inside git repo', async () => {
|
|
74
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
75
|
-
if (cmd === 'git rev-parse --git-dir') {
|
|
76
|
-
throw new Error('not a git repository');
|
|
77
|
-
}
|
|
78
|
-
if (cmd === 'claude --version')
|
|
79
|
-
return 'claude 1.0.0';
|
|
80
|
-
if (cmd === 'gh --version')
|
|
81
|
-
return 'gh version 2.0.0';
|
|
82
|
-
if (cmd === 'gh auth status')
|
|
83
|
-
return '';
|
|
84
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
85
|
-
});
|
|
86
|
-
process.exit.mockImplementation(() => {
|
|
87
|
-
throw new Error('process.exit called');
|
|
88
|
-
});
|
|
89
|
-
await expect(doctorCommand.parseAsync(['node', 'test'])).rejects.toThrow('process.exit called');
|
|
90
|
-
expect(process.exit).toHaveBeenCalledWith(1);
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
describe('Claude CLI check', () => {
|
|
94
|
-
it('should pass when Claude CLI is installed', async () => {
|
|
95
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
96
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
97
|
-
return '.git';
|
|
98
|
-
if (cmd === 'claude --version')
|
|
99
|
-
return 'claude 1.0.0\nsome other info';
|
|
100
|
-
if (cmd === 'gh --version')
|
|
101
|
-
return 'gh version 2.0.0';
|
|
102
|
-
if (cmd === 'gh auth status')
|
|
103
|
-
return '';
|
|
104
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
105
|
-
});
|
|
106
|
-
await mkdir(join(testDir, '.claudetree'), { recursive: true });
|
|
107
|
-
await writeFile(join(testDir, '.claudetree', 'config.json'), '{}');
|
|
108
|
-
await doctorCommand.parseAsync(['node', 'test']);
|
|
109
|
-
expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('Claude CLI'));
|
|
110
|
-
});
|
|
111
|
-
it('should fail when Claude CLI is not installed', async () => {
|
|
112
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
113
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
114
|
-
return '.git';
|
|
115
|
-
if (cmd === 'claude --version')
|
|
116
|
-
throw new Error('command not found');
|
|
117
|
-
if (cmd === 'gh --version')
|
|
118
|
-
return 'gh version 2.0.0';
|
|
119
|
-
if (cmd === 'gh auth status')
|
|
120
|
-
return '';
|
|
121
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
122
|
-
});
|
|
123
|
-
process.exit.mockImplementation(() => {
|
|
124
|
-
throw new Error('process.exit called');
|
|
125
|
-
});
|
|
126
|
-
await expect(doctorCommand.parseAsync(['node', 'test'])).rejects.toThrow('process.exit called');
|
|
127
|
-
expect(process.exit).toHaveBeenCalledWith(1);
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
describe('GitHub CLI check', () => {
|
|
131
|
-
it('should pass (warn) when gh CLI is installed', async () => {
|
|
132
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
133
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
134
|
-
return '.git';
|
|
135
|
-
if (cmd === 'claude --version')
|
|
136
|
-
return 'claude 1.0.0';
|
|
137
|
-
if (cmd === 'gh --version')
|
|
138
|
-
return 'gh version 2.40.0';
|
|
139
|
-
if (cmd === 'gh auth status')
|
|
140
|
-
return '';
|
|
141
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
142
|
-
});
|
|
143
|
-
await mkdir(join(testDir, '.claudetree'), { recursive: true });
|
|
144
|
-
await writeFile(join(testDir, '.claudetree', 'config.json'), '{}');
|
|
145
|
-
await doctorCommand.parseAsync(['node', 'test']);
|
|
146
|
-
expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('GitHub CLI'));
|
|
147
|
-
});
|
|
148
|
-
it('should warn when gh CLI is not installed', async () => {
|
|
149
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
150
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
151
|
-
return '.git';
|
|
152
|
-
if (cmd === 'claude --version')
|
|
153
|
-
return 'claude 1.0.0';
|
|
154
|
-
if (cmd === 'gh --version')
|
|
155
|
-
throw new Error('command not found');
|
|
156
|
-
if (cmd === 'gh auth status')
|
|
157
|
-
throw new Error('not authenticated');
|
|
158
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
159
|
-
});
|
|
160
|
-
await mkdir(join(testDir, '.claudetree'), { recursive: true });
|
|
161
|
-
await writeFile(join(testDir, '.claudetree', 'config.json'), '{}');
|
|
162
|
-
// gh CLI missing is a warning, not a failure
|
|
163
|
-
await doctorCommand.parseAsync(['node', 'test']);
|
|
164
|
-
expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('GitHub CLI'));
|
|
165
|
-
});
|
|
166
|
-
});
|
|
167
|
-
describe('GitHub Auth check', () => {
|
|
168
|
-
it('should pass when gh is authenticated', async () => {
|
|
169
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
170
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
171
|
-
return '.git';
|
|
172
|
-
if (cmd === 'claude --version')
|
|
173
|
-
return 'claude 1.0.0';
|
|
174
|
-
if (cmd === 'gh --version')
|
|
175
|
-
return 'gh version 2.0.0';
|
|
176
|
-
if (cmd === 'gh auth status')
|
|
177
|
-
return 'Logged in as user';
|
|
178
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
179
|
-
});
|
|
180
|
-
await mkdir(join(testDir, '.claudetree'), { recursive: true });
|
|
181
|
-
await writeFile(join(testDir, '.claudetree', 'config.json'), '{}');
|
|
182
|
-
await doctorCommand.parseAsync(['node', 'test']);
|
|
183
|
-
expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('GitHub Auth'));
|
|
184
|
-
});
|
|
185
|
-
it('should pass when GITHUB_TOKEN is set', async () => {
|
|
186
|
-
process.env.GITHUB_TOKEN = 'test-token';
|
|
187
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
188
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
189
|
-
return '.git';
|
|
190
|
-
if (cmd === 'claude --version')
|
|
191
|
-
return 'claude 1.0.0';
|
|
192
|
-
if (cmd === 'gh --version')
|
|
193
|
-
return 'gh version 2.0.0';
|
|
194
|
-
if (cmd === 'gh auth status')
|
|
195
|
-
throw new Error('not authenticated');
|
|
196
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
197
|
-
});
|
|
198
|
-
await mkdir(join(testDir, '.claudetree'), { recursive: true });
|
|
199
|
-
await writeFile(join(testDir, '.claudetree', 'config.json'), '{}');
|
|
200
|
-
await doctorCommand.parseAsync(['node', 'test']);
|
|
201
|
-
expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('GitHub Auth'));
|
|
202
|
-
});
|
|
203
|
-
});
|
|
204
|
-
describe('claudetree Init check', () => {
|
|
205
|
-
it('should pass when initialized', async () => {
|
|
206
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
207
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
208
|
-
return '.git';
|
|
209
|
-
if (cmd === 'claude --version')
|
|
210
|
-
return 'claude 1.0.0';
|
|
211
|
-
if (cmd === 'gh --version')
|
|
212
|
-
return 'gh version 2.0.0';
|
|
213
|
-
if (cmd === 'gh auth status')
|
|
214
|
-
return '';
|
|
215
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
216
|
-
});
|
|
217
|
-
await mkdir(join(testDir, '.claudetree'), { recursive: true });
|
|
218
|
-
await writeFile(join(testDir, '.claudetree', 'config.json'), '{}');
|
|
219
|
-
await doctorCommand.parseAsync(['node', 'test']);
|
|
220
|
-
expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('claudetree Init'));
|
|
221
|
-
});
|
|
222
|
-
it('should fail when not initialized', async () => {
|
|
223
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
224
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
225
|
-
return '.git';
|
|
226
|
-
if (cmd === 'claude --version')
|
|
227
|
-
return 'claude 1.0.0';
|
|
228
|
-
if (cmd === 'gh --version')
|
|
229
|
-
return 'gh version 2.0.0';
|
|
230
|
-
if (cmd === 'gh auth status')
|
|
231
|
-
return '';
|
|
232
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
233
|
-
});
|
|
234
|
-
process.exit.mockImplementation(() => {
|
|
235
|
-
throw new Error('process.exit called');
|
|
236
|
-
});
|
|
237
|
-
await expect(doctorCommand.parseAsync(['node', 'test'])).rejects.toThrow('process.exit called');
|
|
238
|
-
expect(process.exit).toHaveBeenCalledWith(1);
|
|
239
|
-
});
|
|
240
|
-
});
|
|
241
|
-
describe('Anthropic API Key check', () => {
|
|
242
|
-
it('should pass when ANTHROPIC_API_KEY is set', async () => {
|
|
243
|
-
process.env.ANTHROPIC_API_KEY = 'sk-ant-test-key-12345678901234567890';
|
|
244
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
245
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
246
|
-
return '.git';
|
|
247
|
-
if (cmd === 'claude --version')
|
|
248
|
-
return 'claude 1.0.0';
|
|
249
|
-
if (cmd === 'gh --version')
|
|
250
|
-
return 'gh version 2.0.0';
|
|
251
|
-
if (cmd === 'gh auth status')
|
|
252
|
-
return '';
|
|
253
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
254
|
-
});
|
|
255
|
-
await mkdir(join(testDir, '.claudetree'), { recursive: true });
|
|
256
|
-
await writeFile(join(testDir, '.claudetree', 'config.json'), '{}');
|
|
257
|
-
await doctorCommand.parseAsync(['node', 'test']);
|
|
258
|
-
expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('Anthropic API Key'));
|
|
259
|
-
});
|
|
260
|
-
it('should warn when ANTHROPIC_API_KEY is not set', async () => {
|
|
261
|
-
delete process.env.ANTHROPIC_API_KEY;
|
|
262
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
263
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
264
|
-
return '.git';
|
|
265
|
-
if (cmd === 'claude --version')
|
|
266
|
-
return 'claude 1.0.0';
|
|
267
|
-
if (cmd === 'gh --version')
|
|
268
|
-
return 'gh version 2.0.0';
|
|
269
|
-
if (cmd === 'gh auth status')
|
|
270
|
-
return '';
|
|
271
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
272
|
-
});
|
|
273
|
-
await mkdir(join(testDir, '.claudetree'), { recursive: true });
|
|
274
|
-
await writeFile(join(testDir, '.claudetree', 'config.json'), '{}');
|
|
275
|
-
// Missing API key is a warning, not failure
|
|
276
|
-
await doctorCommand.parseAsync(['node', 'test']);
|
|
277
|
-
expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('Anthropic API Key'));
|
|
278
|
-
});
|
|
279
|
-
});
|
|
280
|
-
describe('--quiet option', () => {
|
|
281
|
-
it('should only show failures and warnings', async () => {
|
|
282
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
283
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
284
|
-
return '.git';
|
|
285
|
-
if (cmd === 'claude --version')
|
|
286
|
-
return 'claude 1.0.0';
|
|
287
|
-
if (cmd === 'gh --version')
|
|
288
|
-
return 'gh version 2.0.0';
|
|
289
|
-
if (cmd === 'gh auth status')
|
|
290
|
-
return '';
|
|
291
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
292
|
-
});
|
|
293
|
-
await mkdir(join(testDir, '.claudetree'), { recursive: true });
|
|
294
|
-
await writeFile(join(testDir, '.claudetree', 'config.json'), '{}');
|
|
295
|
-
delete process.env.ANTHROPIC_API_KEY;
|
|
296
|
-
await doctorCommand.parseAsync(['node', 'test', '--quiet']);
|
|
297
|
-
// In quiet mode, only warnings/failures should be logged
|
|
298
|
-
// Check that it completes without error
|
|
299
|
-
expect(process.exit).not.toHaveBeenCalled();
|
|
300
|
-
});
|
|
301
|
-
});
|
|
302
|
-
describe('summary output', () => {
|
|
303
|
-
it('should display ready message when all pass', async () => {
|
|
304
|
-
mockExecSync.mockImplementation((cmd) => {
|
|
305
|
-
if (cmd === 'git rev-parse --git-dir')
|
|
306
|
-
return '.git';
|
|
307
|
-
if (cmd === 'claude --version')
|
|
308
|
-
return 'claude 1.0.0';
|
|
309
|
-
if (cmd === 'gh --version')
|
|
310
|
-
return 'gh version 2.0.0';
|
|
311
|
-
if (cmd === 'gh auth status')
|
|
312
|
-
return '';
|
|
313
|
-
throw new Error(`Unknown command: ${cmd}`);
|
|
314
|
-
});
|
|
315
|
-
process.env.ANTHROPIC_API_KEY = 'sk-ant-test';
|
|
316
|
-
process.env.GITHUB_TOKEN = 'test-token';
|
|
317
|
-
await mkdir(join(testDir, '.claudetree'), { recursive: true });
|
|
318
|
-
await writeFile(join(testDir, '.claudetree', 'config.json'), '{}');
|
|
319
|
-
await doctorCommand.parseAsync(['node', 'test']);
|
|
320
|
-
expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('Ready to use claudetree'));
|
|
321
|
-
});
|
|
322
|
-
});
|
|
323
|
-
});
|
|
324
|
-
//# sourceMappingURL=doctor.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.test.js","sourceRoot":"","sources":["../../src/commands/doctor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.test.d.ts","sourceRoot":"","sources":["../../src/commands/init.test.ts"],"names":[],"mappings":""}
|