create-claude-workspace 2.1.9 → 2.1.11

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.
@@ -206,12 +206,16 @@ export async function runScheduler(opts) {
206
206
  tui.destroy();
207
207
  return;
208
208
  }
209
- // State
209
+ // State — always load existing state to preserve completed/skipped tasks
210
210
  let state;
211
211
  const existing = readState(opts.projectDir);
212
- if (opts.resume && existing) {
212
+ if (existing) {
213
213
  state = existing;
214
- logger.info(`Resuming from iteration ${state.iteration}`);
214
+ // Clear in-progress pipelines from previous run (can't resume mid-pipeline)
215
+ if (!opts.resume) {
216
+ state.pipelines = {};
217
+ }
218
+ logger.info(`Loaded state: ${state.completedTasks.length} completed, ${state.skippedTasks.length} skipped, iteration ${state.iteration}`);
215
219
  }
216
220
  else {
217
221
  state = emptyState(opts.concurrency);
@@ -72,6 +72,15 @@ export async function runIteration(deps) {
72
72
  logger.info('No tasks found (no tasks.json or TODO.md)');
73
73
  return false;
74
74
  }
75
+ // Reconcile task status with scheduler state (handles restart without --resume)
76
+ for (const task of tasks) {
77
+ if (state.completedTasks.includes(task.id) && task.status !== 'done') {
78
+ task.status = 'done';
79
+ }
80
+ if (state.skippedTasks.includes(task.id) && task.status !== 'skipped') {
81
+ task.status = 'skipped';
82
+ }
83
+ }
75
84
  // Check project completion
76
85
  if (isProjectComplete(tasks)) {
77
86
  logger.info('All tasks complete.');
@@ -423,7 +423,11 @@ export class TUI {
423
423
  this.log(` ${pre} ${ANSI_COLORS.red}✗ ${output}${RESET}`, `ERROR: ${output}`);
424
424
  }
425
425
  else {
426
- this.log(` ${pre} ${ANSI_COLORS.green}✓${RESET} ${DIM}${output}${RESET}`, `OK: ${output}`);
426
+ const lines = output.split('\n');
427
+ const summary = lines.length > 3
428
+ ? `${lines.length} lines`
429
+ : output.replace(/\n/g, ' ').trim();
430
+ this.log(` ${pre} ${ANSI_COLORS.green}✓${RESET} ${DIM}${summary}${RESET}`, `OK: ${summary}`);
427
431
  }
428
432
  }
429
433
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-claude-workspace",
3
- "version": "2.1.9",
3
+ "version": "2.1.11",
4
4
  "author": "",
5
5
  "repository": {
6
6
  "type": "git",