@damper/cli 0.5.3 → 0.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import { statusCommand } from './commands/status.js';
5
5
  import { cleanupCommand } from './commands/cleanup.js';
6
6
  import { setupCommand } from './commands/setup.js';
7
7
  import { releaseCommand } from './commands/release.js';
8
- const VERSION = '0.5.3';
8
+ const VERSION = '0.5.5';
9
9
  function showHelp() {
10
10
  console.log(`
11
11
  ${pc.bold('@damper/cli')} - Agent orchestration for Damper tasks
@@ -126,22 +126,13 @@ export async function launchClaude(options) {
126
126
  '--mcp-config', mcpConfigPath,
127
127
  initialPrompt,
128
128
  ];
129
- // Debug: show what we're about to run
130
- if (process.env.DEBUG) {
131
- console.log(pc.dim(`Debug: claude ${claudeArgs.join(' ')}`));
132
- console.log(pc.dim(`Debug: MCP config at ${mcpConfigPath}`));
133
- }
134
- // Launch Claude Code in interactive mode
129
+ // Launch Claude Code using spawnSync for reliable TTY handling
135
130
  try {
136
- // Use execSync for simpler, more reliable TTY passthrough
137
- const { execSync } = await import('node:child_process');
138
- // Build command with proper quoting
139
- const quotedPrompt = initialPrompt.replace(/'/g, "'\\''");
140
- const cmd = `claude --mcp-config '${mcpConfigPath}' '${quotedPrompt}'`;
141
- if (process.env.DEBUG) {
142
- console.log(pc.dim(`Debug: Running: ${cmd}`));
143
- }
144
- execSync(cmd, {
131
+ const { spawnSync } = await import('node:child_process');
132
+ const result = spawnSync('claude', [
133
+ '--mcp-config', mcpConfigPath,
134
+ initialPrompt
135
+ ], {
145
136
  cwd,
146
137
  stdio: 'inherit',
147
138
  env: {
@@ -149,14 +140,17 @@ export async function launchClaude(options) {
149
140
  DAMPER_API_KEY: apiKey,
150
141
  },
151
142
  });
152
- }
153
- catch (err) {
154
- const error = err;
155
- if (error.code === 'ENOENT') {
156
- console.log(pc.red('\nError: Claude Code CLI not found.'));
157
- console.log(pc.dim('Install it with: npm install -g @anthropic-ai/claude-code\n'));
158
- process.exit(1);
143
+ if (result.error) {
144
+ const error = result.error;
145
+ if (error.code === 'ENOENT') {
146
+ console.log(pc.red('\nError: Claude Code CLI not found.'));
147
+ console.log(pc.dim('Install it with: npm install -g @anthropic-ai/claude-code\n'));
148
+ process.exit(1);
149
+ }
150
+ throw result.error;
159
151
  }
152
+ }
153
+ catch {
160
154
  // Claude exited with error - still continue to post-task flow
161
155
  }
162
156
  finally {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@damper/cli",
3
- "version": "0.5.3",
3
+ "version": "0.5.5",
4
4
  "description": "CLI tool for orchestrating Damper task workflows with Claude Code",
5
5
  "author": "Damper <hello@usedamper.com>",
6
6
  "repository": {