@claudetree/cli 0.1.0 → 0.2.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,GAAG,aAAa,CAAC;AACjC,MAAM,WAAW,GAAG,aAAa,CAAC;AASlC,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,UAAU;IACf,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE;IACvC,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE;IACrC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE;CACzC,CAAC;AAEF,KAAK,UAAU,YAAY;IACzB,IAAI,CAAC;QACH,QAAQ,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,sBAAsB;YAC/B,GAAG,EAAE,eAAe;SACrB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,OAAO,GAAG,EAAE,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,sBAAsB;YAC/B,GAAG,EAAE,mDAAmD;SACzD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,OAAO,GAAG,EAAE,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,iCAAiC;YAC1C,GAAG,EAAE,0BAA0B;SAChC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,IAAI,CAAC;QACH,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;QACpF,CAAC;QACD,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,+CAA+C;YACxD,GAAG,EAAE,qDAAqD;SAC3D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC;IAC9G,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,mCAAmC;YAC5C,GAAG,EAAE,cAAc;SACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAElE,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,mBAAmB,EAAE,CAAC;IACrF,CAAC;IACD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,OAAO,mBAAmB;QACtC,GAAG,EAAE,kCAAkC;KACxC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC1C,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,MAAM,GAAG,EAAE,CAAC;IACnF,CAAC;IACD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,2CAA2C;QACpD,GAAG,EAAE,qCAAqC;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAmB;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,aAAa,EAAE,iCAAiC,EAAE,KAAK,CAAC;KAC/D,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;IAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,oBAAoB,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,+BAA+B,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IAE1E,MAAM,MAAM,GAAG;QACb,gBAAgB;QAChB,YAAY;QACZ,cAAc;QACd,UAAU;QACV,WAAW;QACX,iBAAiB;QACjB,mBAAmB;KACpB,CAAC;IAEF,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC/C,WAAW,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CACT,OAAO,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,UAAU,MAAM,CAAC,KAAK,IAAI;QAC3D,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,YAAY,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACxF,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACpF,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,6BAA6B,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC5F,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,6CAA6C,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,kDAAkD,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,WAAW,SAsDpB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,eAAO,MAAM,WAAW,SA8EpB,CAAC"}
@@ -1,12 +1,15 @@
1
1
  import { Command } from 'commander';
2
2
  import { mkdir, writeFile, access } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
+ import { DEFAULT_TEMPLATES } from '@claudetree/core';
4
5
  const CONFIG_DIR = '.claudetree';
5
6
  const CONFIG_FILE = 'config.json';
7
+ const TEMPLATES_DIR = 'templates';
6
8
  export const initCommand = new Command('init')
7
9
  .description('Initialize claudetree in current repository')
8
10
  .option('-d, --worktree-dir <dir>', 'Base directory for worktrees', '.worktrees')
9
11
  .option('-f, --force', 'Overwrite existing configuration', false)
12
+ .option('--slack <webhook-url>', 'Slack webhook URL for notifications')
10
13
  .action(async (options) => {
11
14
  const cwd = process.cwd();
12
15
  const configDir = join(cwd, CONFIG_DIR);
@@ -30,6 +33,10 @@ export const initCommand = new Command('init')
30
33
  worktreeDir: options.worktreeDir,
31
34
  sessions: {},
32
35
  };
36
+ // Add Slack webhook if provided
37
+ if (options.slack) {
38
+ config.slack = { webhookUrl: options.slack };
39
+ }
33
40
  await writeFile(configPath, JSON.stringify(config, null, 2));
34
41
  // Create worktree directory
35
42
  const worktreeDir = join(cwd, options.worktreeDir);
@@ -48,8 +55,19 @@ export const initCommand = new Command('init')
48
55
  catch {
49
56
  // Ignore gitignore errors
50
57
  }
58
+ // Create default templates
59
+ const templatesDir = join(configDir, TEMPLATES_DIR);
60
+ await mkdir(templatesDir, { recursive: true });
61
+ for (const [name, template] of Object.entries(DEFAULT_TEMPLATES)) {
62
+ const templatePath = join(templatesDir, `${name}.json`);
63
+ await writeFile(templatePath, JSON.stringify(template, null, 2));
64
+ }
51
65
  console.log(`Initialized claudetree in ${cwd}`);
52
66
  console.log(` Config: ${configPath}`);
53
67
  console.log(` Worktrees: ${worktreeDir}`);
68
+ console.log(` Templates: ${templatesDir} (${Object.keys(DEFAULT_TEMPLATES).length} templates)`);
69
+ if (options.slack) {
70
+ console.log(` Slack: notifications enabled`);
71
+ }
54
72
  });
55
73
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,GAAG,aAAa,CAAC;AACjC,MAAM,WAAW,GAAG,aAAa,CAAC;AAOlC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,0BAA0B,EAAE,8BAA8B,EAAE,YAAY,CAAC;KAChF,MAAM,CAAC,aAAa,EAAE,kCAAkC,EAAE,KAAK,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,OAAoB,EAAE,EAAE;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAEhD,+BAA+B;IAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,wBAAwB;IACxB,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7D,4BAA4B;IAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9C,mBAAmB;IACnB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;aACtD,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;aACjD,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAEnB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,gBAAgB,GAAG,mBAAmB,UAAU,MAAM,OAAO,CAAC,WAAW,KAAK,CAAC;YAClG,MAAM,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B;IAC5B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const resumeCommand: Command;
3
+ //# sourceMappingURL=resume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,eAAO,MAAM,aAAa,SA4JtB,CAAC"}
@@ -0,0 +1,138 @@
1
+ import { Command } from 'commander';
2
+ import { join } from 'node:path';
3
+ import { access } from 'node:fs/promises';
4
+ import { randomUUID } from 'node:crypto';
5
+ import { ClaudeSessionAdapter, FileSessionRepository, FileEventRepository, } from '@claudetree/core';
6
+ const CONFIG_DIR = '.claudetree';
7
+ export const resumeCommand = new Command('resume')
8
+ .description('Resume a paused Claude session')
9
+ .argument('<session-id>', 'Session ID (prefix match supported)')
10
+ .option('-p, --prompt <prompt>', 'Additional prompt for resume')
11
+ .action(async (sessionIdArg, options) => {
12
+ const cwd = process.cwd();
13
+ const configDir = join(cwd, CONFIG_DIR);
14
+ try {
15
+ await access(configDir);
16
+ }
17
+ catch {
18
+ console.error('Error: claudetree not initialized. Run "claudetree init" first.');
19
+ process.exit(1);
20
+ }
21
+ const sessionRepo = new FileSessionRepository(configDir);
22
+ const sessions = await sessionRepo.findAll();
23
+ // Find session by prefix match
24
+ const session = sessions.find((s) => s.id.startsWith(sessionIdArg) &&
25
+ (s.status === 'paused' || s.status === 'running'));
26
+ if (!session) {
27
+ console.error(`No resumable session found matching: ${sessionIdArg}`);
28
+ console.log('\nResumable sessions (paused/running):');
29
+ const resumable = sessions.filter((s) => s.status === 'paused' || s.status === 'running');
30
+ if (resumable.length === 0) {
31
+ console.log(' (none)');
32
+ }
33
+ else {
34
+ resumable.forEach((s) => {
35
+ console.log(` ${s.id.slice(0, 8)} - ${s.status} - Issue #${s.issueNumber ?? 'N/A'}`);
36
+ });
37
+ }
38
+ process.exit(1);
39
+ }
40
+ if (!session.claudeSessionId) {
41
+ console.error('Error: Session has no Claude session ID. Cannot resume.');
42
+ console.log('Hint: This session may not have captured its session ID before pausing.');
43
+ process.exit(1);
44
+ }
45
+ if (!session.worktreePath) {
46
+ console.error('Error: Session has no worktree path. Cannot resume.');
47
+ process.exit(1);
48
+ }
49
+ // Check if worktree still exists
50
+ try {
51
+ await access(session.worktreePath);
52
+ }
53
+ catch {
54
+ console.error(`Error: Worktree no longer exists: ${session.worktreePath}`);
55
+ process.exit(1);
56
+ }
57
+ console.log(`Resuming session: ${session.id.slice(0, 8)}`);
58
+ console.log(` Claude Session: ${session.claudeSessionId.slice(0, 8)}`);
59
+ console.log(` Worktree: ${session.worktreePath}`);
60
+ const claudeAdapter = new ClaudeSessionAdapter();
61
+ const eventRepo = new FileEventRepository(configDir);
62
+ // Build resume prompt
63
+ const prompt = options.prompt ?? 'Continue from where you left off.';
64
+ // Setup event listener
65
+ claudeAdapter.on('output', async (event) => {
66
+ const { output } = event;
67
+ let eventType = 'output';
68
+ if (output.type === 'tool_use')
69
+ eventType = 'tool_call';
70
+ else if (output.type === 'error')
71
+ eventType = 'error';
72
+ try {
73
+ await eventRepo.append({
74
+ id: randomUUID(),
75
+ sessionId: session.id,
76
+ type: eventType,
77
+ content: output.content,
78
+ timestamp: output.timestamp,
79
+ });
80
+ }
81
+ catch {
82
+ // Ignore file write errors
83
+ }
84
+ });
85
+ // Resume Claude session
86
+ const result = await claudeAdapter.resume(session.claudeSessionId, prompt);
87
+ // Update session
88
+ session.processId = result.processId;
89
+ session.osProcessId = result.osProcessId;
90
+ session.status = 'running';
91
+ session.lastHeartbeat = new Date();
92
+ session.updatedAt = new Date();
93
+ await sessionRepo.save(session);
94
+ console.log('\nSession resumed. Claude is working...\n');
95
+ // Setup graceful shutdown
96
+ const handleShutdown = async () => {
97
+ console.log('\n[Info] Pausing session...');
98
+ session.status = 'paused';
99
+ session.updatedAt = new Date();
100
+ await sessionRepo.save(session);
101
+ console.log(`Session paused: ${session.id.slice(0, 8)}`);
102
+ process.exit(0);
103
+ };
104
+ process.on('SIGINT', handleShutdown);
105
+ process.on('SIGTERM', handleShutdown);
106
+ // Stream output
107
+ let outputCount = 0;
108
+ for await (const output of claudeAdapter.getOutput(result.processId)) {
109
+ outputCount++;
110
+ session.lastHeartbeat = new Date();
111
+ if (output.type === 'text') {
112
+ console.log(output.content);
113
+ }
114
+ else if (output.type === 'tool_use') {
115
+ console.log(`\x1b[36m[Tool]\x1b[0m ${output.content}`);
116
+ }
117
+ else if (output.type === 'error') {
118
+ console.error(`\x1b[31m[Error]\x1b[0m ${output.content}`);
119
+ }
120
+ else if (output.type === 'done') {
121
+ console.log(`\x1b[32m[Done]\x1b[0m Session completed`);
122
+ if (output.content) {
123
+ session.claudeSessionId = output.content;
124
+ }
125
+ }
126
+ // Update heartbeat periodically
127
+ if (outputCount % 10 === 0) {
128
+ session.updatedAt = new Date();
129
+ await sessionRepo.save(session);
130
+ }
131
+ }
132
+ // Session completed
133
+ session.status = 'completed';
134
+ session.updatedAt = new Date();
135
+ await sessionRepo.save(session);
136
+ console.log('\nSession completed.');
137
+ });
138
+ //# sourceMappingURL=resume.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,GAEpB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,UAAU,GAAG,aAAa,CAAC;AAMjC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,gCAAgC,CAAC;KAC7C,QAAQ,CAAC,cAAc,EAAE,qCAAqC,CAAC;KAC/D,MAAM,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;KAC/D,MAAM,CAAC,KAAK,EAAE,YAAoB,EAAE,OAAsB,EAAE,EAAE;IAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CACX,iEAAiE,CAClE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;IAE7C,+BAA+B;IAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAC7B,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CACpD,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CACvD,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,WAAW,IAAI,KAAK,EAAE,CACzE,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CACT,yEAAyE,CAC1E,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CACX,qCAAqC,OAAO,CAAC,YAAY,EAAE,CAC5D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEnD,MAAM,aAAa,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAErD,sBAAsB;IACtB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,mCAAmC,CAAC;IAErE,uBAAuB;IACvB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAwB,EAAE,EAAE;QAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACzB,IAAI,SAAS,GAAc,QAAQ,CAAC;QACpC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS,GAAG,WAAW,CAAC;aACnD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;YAAE,SAAS,GAAG,OAAO,CAAC;QAEtD,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,MAAM,CAAC;gBACrB,EAAE,EAAE,UAAU,EAAE;gBAChB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAE3E,iBAAiB;IACjB,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACrC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACzC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;IACnC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAEzD,0BAA0B;IAC1B,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC1B,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAEtC,gBAAgB;IAChB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACrE,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QAEnC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,WAAW,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAC/B,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;IAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CpC,eAAO,MAAM,YAAY,SAuSrB,CAAC"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoDpC,eAAO,MAAM,YAAY,SA8YrB,CAAC"}
@@ -2,7 +2,7 @@ import { Command } from 'commander';
2
2
  import { join } from 'node:path';
3
3
  import { randomUUID } from 'node:crypto';
4
4
  import { access, readFile } from 'node:fs/promises';
5
- import { GitWorktreeAdapter, ClaudeSessionAdapter, FileSessionRepository, FileEventRepository, FileToolApprovalRepository, GitHubAdapter, } from '@claudetree/core';
5
+ import { GitWorktreeAdapter, ClaudeSessionAdapter, FileSessionRepository, FileEventRepository, FileToolApprovalRepository, GitHubAdapter, TemplateLoader, DEFAULT_TEMPLATES, SlackNotifier, } from '@claudetree/core';
6
6
  const CONFIG_DIR = '.claudetree';
7
7
  async function loadConfig(cwd) {
8
8
  try {
@@ -21,6 +21,7 @@ export const startCommand = new Command('start')
21
21
  .option('-p, --prompt <prompt>', 'Initial prompt for Claude')
22
22
  .option('--no-session', 'Create worktree without starting Claude')
23
23
  .option('-s, --skill <skill>', 'Skill to activate (tdd, review)')
24
+ .option('-T, --template <template>', 'Session template (bugfix, feature, refactor, review)')
24
25
  .option('-b, --branch <branch>', 'Custom branch name')
25
26
  .option('-t, --token <token>', 'GitHub token (or use GITHUB_TOKEN env)')
26
27
  .action(async (issue, options) => {
@@ -146,8 +147,32 @@ export const startCommand = new Command('start')
146
147
  prompt: options.prompt ?? null,
147
148
  createdAt: new Date(),
148
149
  updatedAt: new Date(),
150
+ // Recovery fields
151
+ processId: null,
152
+ osProcessId: null,
153
+ lastHeartbeat: null,
154
+ errorCount: 0,
155
+ worktreePath: worktree.path,
156
+ // Token usage
157
+ usage: null,
149
158
  };
150
159
  await sessionRepo.save(session);
160
+ // Load template if specified
161
+ let template = null;
162
+ if (options.template) {
163
+ const templateLoader = new TemplateLoader(join(cwd, CONFIG_DIR));
164
+ template = await templateLoader.load(options.template);
165
+ // Fall back to default templates
166
+ if (!template && options.template in DEFAULT_TEMPLATES) {
167
+ template = DEFAULT_TEMPLATES[options.template] ?? null;
168
+ }
169
+ if (!template) {
170
+ console.error(`Error: Template "${options.template}" not found.`);
171
+ console.log('Available templates: bugfix, feature, refactor, review');
172
+ process.exit(1);
173
+ }
174
+ console.log(` Template: ${template.name}`);
175
+ }
151
176
  // Build prompt
152
177
  let prompt;
153
178
  if (options.prompt) {
@@ -176,17 +201,28 @@ Start implementing now.`;
176
201
  else {
177
202
  prompt = `Working on ${branchName}. Implement any required changes.`;
178
203
  }
179
- // Add skill if specified
204
+ // Apply template to prompt
205
+ if (template) {
206
+ const prefix = template.promptPrefix ? `${template.promptPrefix}\n\n` : '';
207
+ const suffix = template.promptSuffix ? `\n\n${template.promptSuffix}` : '';
208
+ prompt = `${prefix}${prompt}${suffix}`;
209
+ }
210
+ // Add skill if specified (template skill takes precedence)
180
211
  let systemPrompt;
181
- if (options.skill === 'tdd') {
212
+ const effectiveSkill = template?.skill || options.skill;
213
+ if (effectiveSkill === 'tdd') {
182
214
  systemPrompt = 'Follow TDD workflow: write failing test first, then implement, then refactor.';
183
215
  }
184
- else if (options.skill === 'review') {
216
+ else if (effectiveSkill === 'review') {
185
217
  systemPrompt = 'Review code thoroughly for security, quality, and best practices.';
186
218
  }
219
+ // Template system prompt overrides
220
+ if (template?.systemPrompt) {
221
+ systemPrompt = template.systemPrompt;
222
+ }
187
223
  console.log('\nStarting Claude session...');
188
- if (systemPrompt) {
189
- console.log(` Skill: ${options.skill}`);
224
+ if (effectiveSkill) {
225
+ console.log(` Skill: ${effectiveSkill}`);
190
226
  }
191
227
  // Initialize event repositories
192
228
  const eventRepo = new FileEventRepository(join(cwd, CONFIG_DIR));
@@ -245,10 +281,27 @@ Start implementing now.`;
245
281
  allowedTools: ['Read', 'Write', 'Edit', 'Bash', 'Glob', 'Grep'],
246
282
  });
247
283
  console.log(`\x1b[33m[Debug]\x1b[0m Process started with ID: ${result.processId.slice(0, 8)}`);
248
- // Update session
284
+ // Update session with process info
285
+ session.processId = result.processId;
286
+ session.osProcessId = result.osProcessId;
287
+ session.lastHeartbeat = new Date();
249
288
  session.status = 'running';
250
289
  session.updatedAt = new Date();
251
290
  await sessionRepo.save(session);
291
+ // Setup graceful shutdown
292
+ const handleShutdown = async () => {
293
+ console.log('\n[Info] Pausing session...');
294
+ session.status = 'paused';
295
+ session.updatedAt = new Date();
296
+ await sessionRepo.save(session);
297
+ console.log(`Session paused: ${session.id.slice(0, 8)}`);
298
+ if (session.claudeSessionId) {
299
+ console.log(`Resume with: claudetree resume ${session.id.slice(0, 8)}`);
300
+ }
301
+ process.exit(0);
302
+ };
303
+ process.on('SIGINT', handleShutdown);
304
+ process.on('SIGTERM', handleShutdown);
252
305
  console.log(`\nSession started: ${session.id.slice(0, 8)}`);
253
306
  console.log(`Working directory: ${worktree.path}`);
254
307
  console.log('Claude is now working on the issue...\n');
@@ -257,6 +310,7 @@ Start implementing now.`;
257
310
  let outputCount = 0;
258
311
  for await (const output of claudeAdapter.getOutput(result.processId)) {
259
312
  outputCount++;
313
+ session.lastHeartbeat = new Date();
260
314
  console.log(`\x1b[33m[Debug]\x1b[0m Received output #${outputCount}: type=${output.type}`);
261
315
  if (output.type === 'text') {
262
316
  console.log(output.content);
@@ -269,6 +323,20 @@ Start implementing now.`;
269
323
  }
270
324
  else if (output.type === 'done') {
271
325
  console.log(`\x1b[32m[Done]\x1b[0m Session ID: ${output.content}`);
326
+ // Capture Claude session ID for resume
327
+ if (output.content) {
328
+ session.claudeSessionId = output.content;
329
+ }
330
+ // Capture token usage
331
+ if (output.usage) {
332
+ session.usage = output.usage;
333
+ console.log(`\x1b[32m[Usage]\x1b[0m Tokens: ${output.usage.inputTokens} in / ${output.usage.outputTokens} out | Cost: $${output.usage.totalCostUsd.toFixed(4)}`);
334
+ }
335
+ }
336
+ // Update heartbeat periodically
337
+ if (outputCount % 10 === 0) {
338
+ session.updatedAt = new Date();
339
+ await sessionRepo.save(session);
272
340
  }
273
341
  }
274
342
  console.log(`\x1b[33m[Debug]\x1b[0m Total outputs received: ${outputCount}`);
@@ -277,8 +345,31 @@ Start implementing now.`;
277
345
  session.updatedAt = new Date();
278
346
  await sessionRepo.save(session);
279
347
  console.log('\nSession completed.');
348
+ // Send Slack notification
349
+ if (config.slack?.webhookUrl) {
350
+ const slack = new SlackNotifier(config.slack.webhookUrl);
351
+ await slack.notifySession({
352
+ sessionId: session.id,
353
+ status: 'completed',
354
+ issueNumber,
355
+ branch: branchName,
356
+ worktreePath: worktree.path,
357
+ duration: Date.now() - session.createdAt.getTime(),
358
+ });
359
+ }
280
360
  }
281
361
  catch (error) {
362
+ // Send failure notification
363
+ if (config.slack?.webhookUrl) {
364
+ const slack = new SlackNotifier(config.slack.webhookUrl);
365
+ await slack.notifySession({
366
+ sessionId: 'unknown',
367
+ status: 'failed',
368
+ issueNumber,
369
+ branch: branchName,
370
+ error: error instanceof Error ? error.message : 'Unknown error',
371
+ });
372
+ }
282
373
  if (error instanceof Error) {
283
374
  console.error(`Error: ${error.message}`);
284
375
  }
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,eAAO,MAAM,aAAa,SAmEtB,CAAC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,eAAO,MAAM,aAAa,SAwFtB,CAAC"}
@@ -37,6 +37,9 @@ export const statusCommand = new Command('status')
37
37
  return;
38
38
  }
39
39
  console.log('Sessions:\n');
40
+ let totalCost = 0;
41
+ let totalInputTokens = 0;
42
+ let totalOutputTokens = 0;
40
43
  for (const session of sessions) {
41
44
  const color = STATUS_COLORS[session.status] ?? '';
42
45
  const statusStr = `${color}${session.status}${RESET}`;
@@ -50,8 +53,22 @@ export const statusCommand = new Command('status')
50
53
  console.log(` Prompt: ${truncatedPrompt}`);
51
54
  }
52
55
  console.log(` Created: ${session.createdAt.toLocaleString()}`);
56
+ // Display token usage
57
+ if (session.usage) {
58
+ const { inputTokens, outputTokens, totalCostUsd } = session.usage;
59
+ console.log(` \x1b[33mTokens:\x1b[0m ${inputTokens.toLocaleString()} in / ${outputTokens.toLocaleString()} out`);
60
+ console.log(` \x1b[33mCost:\x1b[0m $${totalCostUsd.toFixed(4)}`);
61
+ totalCost += totalCostUsd;
62
+ totalInputTokens += inputTokens;
63
+ totalOutputTokens += outputTokens;
64
+ }
53
65
  console.log('');
54
66
  }
67
+ // Show totals if any session has usage data
68
+ if (totalCost > 0) {
69
+ console.log('\x1b[2m─────────────────────────────────────\x1b[0m');
70
+ console.log(`\x1b[1mTotal:\x1b[0m ${totalInputTokens.toLocaleString()} in / ${totalOutputTokens.toLocaleString()} out | \x1b[32m$${totalCost.toFixed(4)}\x1b[0m\n`);
71
+ }
55
72
  };
56
73
  if (options.watch) {
57
74
  console.log('Watching sessions... (Ctrl+C to exit)\n');
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { program } from 'commander';
3
+ import { batchCommand } from './commands/batch.js';
4
+ import { demoCommand } from './commands/demo.js';
5
+ import { doctorCommand } from './commands/doctor.js';
3
6
  import { initCommand } from './commands/init.js';
4
7
  import { listCommand } from './commands/list.js';
8
+ import { resumeCommand } from './commands/resume.js';
5
9
  import { startCommand } from './commands/start.js';
6
10
  import { statusCommand } from './commands/status.js';
7
11
  import { stopCommand } from './commands/stop.js';
@@ -10,8 +14,12 @@ program
10
14
  .name('claudetree')
11
15
  .description('Git Worktree-based Claude Code multi-session manager')
12
16
  .version('0.1.0');
17
+ program.addCommand(batchCommand);
18
+ program.addCommand(demoCommand);
19
+ program.addCommand(doctorCommand);
13
20
  program.addCommand(initCommand);
14
21
  program.addCommand(listCommand);
22
+ program.addCommand(resumeCommand);
15
23
  program.addCommand(startCommand);
16
24
  program.addCommand(statusCommand);
17
25
  program.addCommand(stopCommand);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,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,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,sDAAsD,CAAC;KACnE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,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,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,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,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,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,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,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,sDAAsD,CAAC;KACnE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,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,aAAa,CAAC,CAAC;AAClC,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claudetree/cli",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "CLI for claudetree - Manage Claude sessions with git worktrees",
5
5
  "type": "module",
6
6
  "bin": {
@@ -8,7 +8,8 @@
8
8
  "ct": "./dist/index.js"
9
9
  },
10
10
  "files": [
11
- "dist"
11
+ "dist",
12
+ "README.md"
12
13
  ],
13
14
  "keywords": [
14
15
  "claude",
@@ -20,14 +21,15 @@
20
21
  ],
21
22
  "repository": {
22
23
  "type": "git",
23
- "url": "https://github.com/notwonjang/claude-tree.git",
24
+ "url": "https://github.com/wonjangcloud9/claude-tree.git",
24
25
  "directory": "packages/cli"
25
26
  },
27
+ "homepage": "https://github.com/wonjangcloud9/claude-tree#readme",
26
28
  "license": "MIT",
27
29
  "dependencies": {
28
- "@claudetree/core": "0.1.0",
29
- "@claudetree/shared": "0.1.0",
30
- "commander": "^13.0.0"
30
+ "commander": "^13.0.0",
31
+ "@claudetree/core": "0.2.1",
32
+ "@claudetree/shared": "0.2.1"
31
33
  },
32
34
  "devDependencies": {
33
35
  "@types/node": "^22.10.0",