@claudetree/cli 0.5.8 → 0.5.10

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/README.md CHANGED
@@ -112,6 +112,7 @@ ct status
112
112
  | `ct auto` | Auto-fetch issues with conflict detection |
113
113
  | `ct chain [issues]` | Run issues sequentially (dependency order) |
114
114
  | `ct config` | View or modify config (`ct config set github.owner myorg`) |
115
+ | `ct export` | Generate session report (markdown or JSON) |
115
116
  | `ct web` | Launch web dashboard at localhost:3000 |
116
117
  | `ct list` | List all worktrees |
117
118
  | `ct clean` | Remove finished worktrees |
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const exportCommand: Command;
3
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuGpC,eAAO,MAAM,aAAa,SAuDtB,CAAC"}
@@ -0,0 +1,135 @@
1
+ import { Command } from 'commander';
2
+ import { join } from 'node:path';
3
+ import { access, writeFile } from 'node:fs/promises';
4
+ import { FileSessionRepository } from '@claudetree/core';
5
+ const CONFIG_DIR = '.claudetree';
6
+ function formatDuration(ms) {
7
+ const minutes = Math.round(ms / 60000);
8
+ if (minutes < 60)
9
+ return `${minutes}m`;
10
+ const hours = Math.floor(minutes / 60);
11
+ const mins = minutes % 60;
12
+ return mins > 0 ? `${hours}h ${mins}m` : `${hours}h`;
13
+ }
14
+ function getSessionDuration(session) {
15
+ const start = new Date(session.createdAt).getTime();
16
+ const end = new Date(session.updatedAt).getTime();
17
+ return end > start ? end - start : 0;
18
+ }
19
+ function generateMarkdown(sessions) {
20
+ const completed = sessions.filter((s) => s.status === 'completed').length;
21
+ const failed = sessions.filter((s) => s.status === 'failed').length;
22
+ const finished = completed + failed;
23
+ const successRate = finished > 0 ? ((completed / finished) * 100).toFixed(1) : '0';
24
+ let totalCost = 0;
25
+ let totalInput = 0;
26
+ let totalOutput = 0;
27
+ let totalDuration = 0;
28
+ let sessionsWithDuration = 0;
29
+ for (const s of sessions) {
30
+ if (s.usage) {
31
+ totalCost += s.usage.totalCostUsd;
32
+ totalInput += s.usage.inputTokens;
33
+ totalOutput += s.usage.outputTokens;
34
+ }
35
+ const dur = getSessionDuration(s);
36
+ if (dur > 0) {
37
+ totalDuration += dur;
38
+ sessionsWithDuration++;
39
+ }
40
+ }
41
+ const avgDuration = sessionsWithDuration > 0 ? totalDuration / sessionsWithDuration : 0;
42
+ const lines = [];
43
+ lines.push('# claudetree Session Report');
44
+ lines.push('');
45
+ lines.push(`Generated: ${new Date().toISOString().split('T')[0]}`);
46
+ lines.push('');
47
+ lines.push('## Summary');
48
+ lines.push('');
49
+ lines.push(`| Metric | Value |`);
50
+ lines.push(`|--------|-------|`);
51
+ lines.push(`| Total Sessions | ${sessions.length} |`);
52
+ lines.push(`| Completed | ${completed} |`);
53
+ lines.push(`| Failed | ${failed} |`);
54
+ lines.push(`| Success Rate | ${successRate}% |`);
55
+ lines.push(`| Total Cost | $${totalCost.toFixed(2)} |`);
56
+ lines.push(`| Total Tokens | ${formatTokens(totalInput)} in / ${formatTokens(totalOutput)} out |`);
57
+ lines.push(`| Avg Duration | ${formatDuration(avgDuration)} |`);
58
+ lines.push('');
59
+ if (sessions.length > 0) {
60
+ lines.push('## Sessions');
61
+ lines.push('');
62
+ lines.push('| Issue | Status | Duration | Cost | Tokens |');
63
+ lines.push('|-------|--------|----------|------|--------|');
64
+ for (const s of sessions) {
65
+ const issue = s.issueNumber ? `#${s.issueNumber}` : s.id.slice(0, 8);
66
+ const dur = getSessionDuration(s);
67
+ const cost = s.usage ? `$${s.usage.totalCostUsd.toFixed(4)}` : '-';
68
+ const tokens = s.usage
69
+ ? `${formatTokens(s.usage.inputTokens)}/${formatTokens(s.usage.outputTokens)}`
70
+ : '-';
71
+ lines.push(`| ${issue} | ${s.status} | ${formatDuration(dur)} | ${cost} | ${tokens} |`);
72
+ }
73
+ lines.push('');
74
+ }
75
+ lines.push('---');
76
+ lines.push('*Generated by [claudetree](https://github.com/wonjangcloud9/claude-tree)*');
77
+ return lines.join('\n');
78
+ }
79
+ function formatTokens(n) {
80
+ if (n >= 1_000_000)
81
+ return `${(n / 1_000_000).toFixed(1)}M`;
82
+ if (n >= 1_000)
83
+ return `${(n / 1_000).toFixed(1)}K`;
84
+ return String(n);
85
+ }
86
+ export const exportCommand = new Command('export')
87
+ .description('Generate session report (markdown or JSON)')
88
+ .option('-f, --format <format>', 'Output format: markdown, json', 'markdown')
89
+ .option('-o, --output <file>', 'Write to file instead of stdout')
90
+ .option('-s, --status <status>', 'Filter by status: completed, failed, running')
91
+ .action(async (options) => {
92
+ const cwd = process.cwd();
93
+ const configDir = join(cwd, CONFIG_DIR);
94
+ try {
95
+ await access(configDir);
96
+ }
97
+ catch {
98
+ console.error('Error: claudetree not initialized. Run "ct init" first.');
99
+ process.exit(1);
100
+ }
101
+ const sessionRepo = new FileSessionRepository(configDir);
102
+ let sessions = await sessionRepo.findAll();
103
+ if (options.status) {
104
+ sessions = sessions.filter((s) => s.status === options.status);
105
+ }
106
+ let output;
107
+ if (options.format === 'json') {
108
+ output = JSON.stringify({
109
+ generated: new Date().toISOString(),
110
+ totalSessions: sessions.length,
111
+ sessions: sessions.map((s) => ({
112
+ id: s.id,
113
+ issueNumber: s.issueNumber,
114
+ status: s.status,
115
+ duration: getSessionDuration(s),
116
+ cost: s.usage?.totalCostUsd ?? 0,
117
+ inputTokens: s.usage?.inputTokens ?? 0,
118
+ outputTokens: s.usage?.outputTokens ?? 0,
119
+ createdAt: s.createdAt,
120
+ updatedAt: s.updatedAt,
121
+ })),
122
+ }, null, 2);
123
+ }
124
+ else {
125
+ output = generateMarkdown(sessions);
126
+ }
127
+ if (options.output) {
128
+ await writeFile(options.output, output);
129
+ console.log(`Report written to ${options.output}`);
130
+ }
131
+ else {
132
+ console.log(output);
133
+ }
134
+ });
135
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ import { chainCommand } from './commands/chain.js';
7
7
  import { cleanCommand } from './commands/clean.js';
8
8
  import { configCommand } from './commands/config.js';
9
9
  import { doctorCommand } from './commands/doctor.js';
10
+ import { exportCommand } from './commands/export.js';
10
11
  import { initCommand } from './commands/init.js';
11
12
  import { listCommand } from './commands/list.js';
12
13
  import { logCommand } from './commands/log.js';
@@ -22,20 +23,29 @@ program
22
23
  .name('claudetree')
23
24
  .description('Issue-to-PR automation: parallel Claude Code sessions with cost tracking & web dashboard')
24
25
  .version(version);
25
- program.addCommand(batchCommand);
26
- program.addCommand(bustercallCommand);
27
- program.addCommand(chainCommand);
28
- program.addCommand(cleanCommand);
29
- program.addCommand(configCommand);
30
- program.addCommand(doctorCommand);
31
26
  program.addCommand(initCommand);
32
- program.addCommand(listCommand);
33
- program.addCommand(logCommand);
34
- program.addCommand(resumeCommand);
35
27
  program.addCommand(startCommand);
36
- program.addCommand(statsCommand);
37
28
  program.addCommand(statusCommand);
29
+ program.addCommand(statsCommand);
30
+ program.addCommand(logCommand);
38
31
  program.addCommand(stopCommand);
32
+ program.addCommand(resumeCommand);
33
+ program.addCommand(batchCommand);
34
+ program.addCommand(bustercallCommand);
35
+ program.addCommand(chainCommand);
36
+ program.addCommand(configCommand);
37
+ program.addCommand(exportCommand);
39
38
  program.addCommand(webCommand);
39
+ program.addCommand(listCommand);
40
+ program.addCommand(cleanCommand);
41
+ program.addCommand(doctorCommand);
42
+ program.addHelpText('after', `
43
+ Quick Start:
44
+ $ ct init # initialize in your project
45
+ $ ct start <github-issue-url> # fire and forget
46
+ $ ct status # monitor progress
47
+ $ ct stats # view cost analytics
48
+
49
+ Docs: https://github.com/wonjangcloud9/claude-tree`);
40
50
  program.parse();
41
51
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,0FAA0F,CAAC;KACvG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACtC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAE/B,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,0FAA0F,CAAC;KACvG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACtC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAElC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE;;;;;;;mDAOsB,CAAC,CAAC;AAErD,OAAO,CAAC,KAAK,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claudetree/cli",
3
- "version": "0.5.8",
3
+ "version": "0.5.10",
4
4
  "description": "Issue-to-PR automation: parallel Claude Code sessions with cost tracking, batch processing & web dashboard",
5
5
  "type": "module",
6
6
  "bin": {
@@ -36,8 +36,8 @@
36
36
  "dependencies": {
37
37
  "async-mutex": "^0.5.0",
38
38
  "commander": "^14.0.2",
39
- "@claudetree/core": "0.5.8",
40
- "@claudetree/shared": "0.5.8"
39
+ "@claudetree/shared": "0.5.10",
40
+ "@claudetree/core": "0.5.10"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/node": "^25.0.3",