@litmers/cursorflow-orchestrator 0.1.30 → 0.1.34

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.
Files changed (129) hide show
  1. package/README.md +144 -52
  2. package/commands/cursorflow-add.md +159 -0
  3. package/commands/cursorflow-monitor.md +23 -2
  4. package/commands/cursorflow-new.md +87 -0
  5. package/dist/cli/add.d.ts +7 -0
  6. package/dist/cli/add.js +377 -0
  7. package/dist/cli/add.js.map +1 -0
  8. package/dist/cli/clean.js +1 -0
  9. package/dist/cli/clean.js.map +1 -1
  10. package/dist/cli/config.d.ts +7 -0
  11. package/dist/cli/config.js +181 -0
  12. package/dist/cli/config.js.map +1 -0
  13. package/dist/cli/index.js +34 -30
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/logs.js +7 -33
  16. package/dist/cli/logs.js.map +1 -1
  17. package/dist/cli/monitor.js +51 -62
  18. package/dist/cli/monitor.js.map +1 -1
  19. package/dist/cli/new.d.ts +7 -0
  20. package/dist/cli/new.js +232 -0
  21. package/dist/cli/new.js.map +1 -0
  22. package/dist/cli/prepare.js +95 -193
  23. package/dist/cli/prepare.js.map +1 -1
  24. package/dist/cli/resume.js +11 -47
  25. package/dist/cli/resume.js.map +1 -1
  26. package/dist/cli/run.js +27 -22
  27. package/dist/cli/run.js.map +1 -1
  28. package/dist/cli/tasks.js +1 -2
  29. package/dist/cli/tasks.js.map +1 -1
  30. package/dist/core/failure-policy.d.ts +9 -0
  31. package/dist/core/failure-policy.js +9 -0
  32. package/dist/core/failure-policy.js.map +1 -1
  33. package/dist/core/orchestrator.d.ts +20 -6
  34. package/dist/core/orchestrator.js +217 -331
  35. package/dist/core/orchestrator.js.map +1 -1
  36. package/dist/core/runner/agent.d.ts +27 -0
  37. package/dist/core/runner/agent.js +294 -0
  38. package/dist/core/runner/agent.js.map +1 -0
  39. package/dist/core/runner/index.d.ts +5 -0
  40. package/dist/core/runner/index.js +22 -0
  41. package/dist/core/runner/index.js.map +1 -0
  42. package/dist/core/runner/pipeline.d.ts +9 -0
  43. package/dist/core/runner/pipeline.js +539 -0
  44. package/dist/core/runner/pipeline.js.map +1 -0
  45. package/dist/core/runner/prompt.d.ts +25 -0
  46. package/dist/core/runner/prompt.js +175 -0
  47. package/dist/core/runner/prompt.js.map +1 -0
  48. package/dist/core/runner/task.d.ts +26 -0
  49. package/dist/core/runner/task.js +283 -0
  50. package/dist/core/runner/task.js.map +1 -0
  51. package/dist/core/runner/utils.d.ts +37 -0
  52. package/dist/core/runner/utils.js +161 -0
  53. package/dist/core/runner/utils.js.map +1 -0
  54. package/dist/core/runner.d.ts +2 -96
  55. package/dist/core/runner.js +11 -1136
  56. package/dist/core/runner.js.map +1 -1
  57. package/dist/core/stall-detection.d.ts +326 -0
  58. package/dist/core/stall-detection.js +781 -0
  59. package/dist/core/stall-detection.js.map +1 -0
  60. package/dist/types/config.d.ts +6 -6
  61. package/dist/types/flow.d.ts +84 -0
  62. package/dist/types/flow.js +10 -0
  63. package/dist/types/flow.js.map +1 -0
  64. package/dist/types/index.d.ts +1 -0
  65. package/dist/types/index.js +3 -3
  66. package/dist/types/index.js.map +1 -1
  67. package/dist/types/lane.d.ts +0 -2
  68. package/dist/types/logging.d.ts +5 -1
  69. package/dist/types/task.d.ts +7 -11
  70. package/dist/utils/config.js +7 -15
  71. package/dist/utils/config.js.map +1 -1
  72. package/dist/utils/dependency.d.ts +36 -1
  73. package/dist/utils/dependency.js +256 -1
  74. package/dist/utils/dependency.js.map +1 -1
  75. package/dist/utils/enhanced-logger.d.ts +45 -82
  76. package/dist/utils/enhanced-logger.js +238 -844
  77. package/dist/utils/enhanced-logger.js.map +1 -1
  78. package/dist/utils/git.d.ts +29 -0
  79. package/dist/utils/git.js +115 -5
  80. package/dist/utils/git.js.map +1 -1
  81. package/dist/utils/state.js +0 -2
  82. package/dist/utils/state.js.map +1 -1
  83. package/dist/utils/task-service.d.ts +2 -2
  84. package/dist/utils/task-service.js +40 -31
  85. package/dist/utils/task-service.js.map +1 -1
  86. package/package.json +4 -3
  87. package/src/cli/add.ts +397 -0
  88. package/src/cli/clean.ts +1 -0
  89. package/src/cli/config.ts +177 -0
  90. package/src/cli/index.ts +36 -32
  91. package/src/cli/logs.ts +7 -31
  92. package/src/cli/monitor.ts +55 -71
  93. package/src/cli/new.ts +235 -0
  94. package/src/cli/prepare.ts +98 -205
  95. package/src/cli/resume.ts +13 -56
  96. package/src/cli/run.ts +311 -306
  97. package/src/cli/tasks.ts +1 -2
  98. package/src/core/failure-policy.ts +9 -0
  99. package/src/core/orchestrator.ts +281 -375
  100. package/src/core/runner/agent.ts +314 -0
  101. package/src/core/runner/index.ts +6 -0
  102. package/src/core/runner/pipeline.ts +567 -0
  103. package/src/core/runner/prompt.ts +174 -0
  104. package/src/core/runner/task.ts +320 -0
  105. package/src/core/runner/utils.ts +142 -0
  106. package/src/core/runner.ts +8 -1347
  107. package/src/core/stall-detection.ts +936 -0
  108. package/src/types/config.ts +6 -6
  109. package/src/types/flow.ts +91 -0
  110. package/src/types/index.ts +15 -3
  111. package/src/types/lane.ts +0 -2
  112. package/src/types/logging.ts +5 -1
  113. package/src/types/task.ts +7 -11
  114. package/src/utils/config.ts +8 -16
  115. package/src/utils/dependency.ts +311 -2
  116. package/src/utils/enhanced-logger.ts +263 -927
  117. package/src/utils/git.ts +145 -5
  118. package/src/utils/state.ts +0 -2
  119. package/src/utils/task-service.ts +48 -40
  120. package/commands/cursorflow-review.md +0 -56
  121. package/commands/cursorflow-runs.md +0 -59
  122. package/dist/cli/runs.d.ts +0 -5
  123. package/dist/cli/runs.js +0 -214
  124. package/dist/cli/runs.js.map +0 -1
  125. package/dist/core/reviewer.d.ts +0 -66
  126. package/dist/core/reviewer.js +0 -265
  127. package/dist/core/reviewer.js.map +0 -1
  128. package/src/cli/runs.ts +0 -212
  129. package/src/core/reviewer.ts +0 -285
@@ -45,107 +45,91 @@ const path_1 = require("../utils/path");
45
45
  const template_1 = require("../utils/template");
46
46
  function printHelp() {
47
47
  console.log(`
48
- Usage: cursorflow prepare <feature-name> [options]
49
-
50
- Prepare task files for a new feature - Terminal-first workflow.
48
+ cursorflow prepare - 태스크 파일 생성
51
49
 
52
50
  ═══════════════════════════════════════════════════════════════════════════════
53
- WORKFLOW: Requirements Lanes Tasks Validate → Run
51
+ 시나리오: "쇼핑몰" 프로젝트에서 백엔드 API와 프론트엔드 동시 개발
54
52
  ═══════════════════════════════════════════════════════════════════════════════
55
53
 
56
- ## Step 1: Create Initial Lanes (with Presets)
57
-
58
- # Complex implementation: plan implement test
59
- cursorflow prepare FeatureName --preset complex --prompt "Implement user auth"
60
-
61
- # Simple implementation: implement → test
62
- cursorflow prepare BugFix --preset simple --prompt "Fix login bug"
63
-
64
- # Merge lane: merge → test (for lanes with dependencies)
65
- cursorflow prepare Integration --preset merge --depends-on "01-lane-1,02-lane-2"
54
+ [Case 1] 가장 간단하게 - 버그 하나 고치기
55
+ ─────────────────────────────────────────
56
+ cursorflow prepare FixCartBug --prompt "장바구니 수량 버그 수정"
66
57
 
67
- # Multiple sequential lanes (auto-detects merge preset for dependent lanes)
68
- cursorflow prepare FullStack --lanes 3 --sequential --prompt "Build your layer"
58
+ 결과: _cursorflow/tasks/2412251030_FixCartBug/
59
+ └── 01-FixCartBug.json (implement 태스크 1개)
69
60
 
70
- ## Step 2: Add More Lanes (Incremental)
71
61
 
72
- # Add a merge lane to existing task directory
73
- cursorflow prepare --add-lane _cursorflow/tasks/2412211530_FullStack \\
74
- --preset merge --depends-on "01-lane-1,02-lane-2"
62
+ [Case 2] 프리셋 사용 - 계획부터 테스트까지
63
+ ─────────────────────────────────────────
64
+ cursorflow prepare PaymentAPI --preset complex --prompt "Stripe 결제 연동"
75
65
 
76
- ## Step 3: Add More Tasks to a Lane
66
+ 결과: 01-PaymentAPI.json에 plan implement test 태스크 생성
77
67
 
78
- # Append a task to an existing lane
79
- cursorflow prepare --add-task _cursorflow/tasks/2412211530_FullStack/01-lane-1.json \\
80
- --task "verify|sonnet-4.5|Double-check all requirements|All criteria met"
68
+ 프리셋:
69
+ --preset complex plan implement → test
70
+ --preset simple implement test
71
+ (없으면) implement만
81
72
 
82
- ## Step 4: Validate Configuration
83
73
 
84
- cursorflow doctor --tasks-dir _cursorflow/tasks/2412211530_FullStack
74
+ [Case 3] 병렬 레인 - 백엔드/프론트 동시 개발
75
+ ─────────────────────────────────────────
76
+ cursorflow prepare ShopFeature --lanes 2 --preset complex \\
77
+ --prompt "상품 검색 기능"
85
78
 
86
- ## Step 5: Run
87
-
88
- cursorflow run _cursorflow/tasks/2412211530_FullStack
89
-
90
- ═══════════════════════════════════════════════════════════════════════════════
79
+ 결과: 01-lane-1.json (백엔드) ─┬─ 동시 실행
80
+ 02-lane-2.json (프론트) ─┘
91
81
 
92
- ## Preset Templates
93
82
 
94
- --preset complex plan implement test (for complex features)
95
- --preset simple implement → test (for simple changes)
96
- --preset merge merge → test (auto-applied when --depends-on is set)
83
+ [Case 4] 의존성 - 프론트가 백엔드 완료 시작
84
+ ─────────────────────────────────────────
85
+ cursorflow prepare --add-task ./02-lane-2.json \\
86
+ --task "integrate|sonnet-4.5|API 연동|완료|01-lane-1:implement"
87
+ └─ 이 태스크 완료 후 시작
97
88
 
98
- ## Options
89
+ 실행 흐름:
90
+ 01-lane-1: [plan] → [implement] → [test]
91
+ ↓ 완료되면
92
+ 02-lane-2: [plan] ───────┴─────→ [integrate]
99
93
 
100
- Core:
101
- <feature-name> Name of the feature (for new task directories)
102
- --lanes <num> Number of lanes to create (default: 1)
103
- --preset <type> Use preset template: complex | simple | merge
104
94
 
105
- Task Definition:
106
- --prompt <text> Task prompt (uses preset or single task)
107
- --criteria <list> Comma-separated acceptance criteria
108
- --model <model> Model to use (default: sonnet-4.5)
109
- --task <spec> Full task spec: "name|model|prompt|criteria|dependsOn|timeout" (repeatable)
95
+ [Case 5] 커스텀 태스크 - 원하는 대로 구성
96
+ ─────────────────────────────────────────
97
+ cursorflow prepare CustomFlow \\
98
+ --task "setup|sonnet-4.5|DB 스키마 생성|완료" \\
99
+ --task "api|sonnet-4.5|REST API 구현|동작" \\
100
+ --task "test|sonnet-4.5|테스트 작성|통과"
110
101
 
111
- Dependencies:
112
- --sequential Chain lanes: 1 → 2 → 3
113
- --deps <spec> Custom dependencies: "2:1;3:1,2"
114
- --depends-on <lanes> Dependencies for --add-lane: "01-lane-1,02-lane-2"
115
- Task-level deps: In --task, add "lane:task" at the end.
116
- Example: "test|sonnet-4.5|Run tests|All pass|01-lane-1:setup"
117
- Task-level timeout: In --task, add milliseconds at the end.
118
- Example: "heavy|sonnet-4.5|Big task|Done||1200000"
119
102
 
120
- Incremental (add to existing):
121
- --add-lane <dir> Add a new lane to existing task directory
122
- --add-task <file> Append task(s) to existing lane JSON file
103
+ [Case 6] 나중에 추가 - 레인이나 태스크 덧붙이기
104
+ ─────────────────────────────────────────
105
+ # 레인 추가
106
+ cursorflow prepare --add-lane ./tasks/ShopFeature --preset simple
123
107
 
124
- Advanced:
125
- --template <path|url|name> External template JSON file, URL, or built-in name
126
- --force Overwrite existing files
108
+ # 기존 레인에 태스크 추가
109
+ cursorflow prepare --add-task ./01-lane-1.json \\
110
+ --task "docs|sonnet-4.5|API 문서화|완성"
127
111
 
128
112
  ═══════════════════════════════════════════════════════════════════════════════
129
113
 
130
- ## Examples
114
+ --task 형식: "이름|모델|프롬프트|완료조건|의존성|타임아웃"
131
115
 
132
- # 1. Complex feature with multiple lanes
133
- cursorflow prepare AuthSystem --lanes 3 --sequential --preset complex \\
134
- --prompt "Implement authentication for your layer"
116
+ 예시:
117
+ "build|sonnet-4.5|빌드하기|완료" 기본
118
+ "deploy|sonnet-4.5|배포|성공|01-lane:build" 의존성
119
+ "heavy|sonnet-4.5|대용량|완료||1200000" 타임아웃 20분
135
120
 
136
- # 2. Simple bug fix
137
- cursorflow prepare FixLoginBug --preset simple \\
138
- --prompt "Fix the login validation bug in auth.ts"
139
-
140
- # 3. Add a merge/integration lane
141
- cursorflow prepare --add-lane _cursorflow/tasks/2412211530_AuthSystem \\
142
- --preset merge --depends-on "01-lane-1,02-lane-2"
121
+ ═══════════════════════════════════════════════════════════════════════════════
143
122
 
144
- # 4. Custom multi-task lane (overrides preset)
145
- cursorflow prepare ComplexFeature \\
146
- --task "plan|sonnet-4.5-thinking|Create implementation plan|Plan documented" \\
147
- --task "implement|sonnet-4.5|Build the feature|Code complete" \\
148
- --task "test|sonnet-4.5|Write comprehensive tests|Tests pass"
123
+ 옵션 요약:
124
+ --prompt <text> 작업 설명
125
+ --preset <type> complex | simple | merge
126
+ --lanes <num> 병렬 레인 (기본: 1)
127
+ --task <spec> 커스텀 태스크 (반복 가능)
128
+ --add-lane <dir> 기존 디렉토리에 레인 추가
129
+ --add-task <file> 기존 레인에 태스크 추가
130
+ --model <model> AI 모델 (기본: sonnet-4.5)
131
+ --template <path> 외부 템플릿 파일
132
+ --force 덮어쓰기
149
133
  `);
150
134
  }
151
135
  function parseArgs(args) {
@@ -154,15 +138,12 @@ function parseArgs(args) {
154
138
  lanes: 1,
155
139
  template: null,
156
140
  preset: null,
157
- sequential: false,
158
- deps: null,
159
141
  prompt: null,
160
142
  criteria: [],
161
143
  model: null,
162
144
  taskSpecs: [],
163
145
  addLane: null,
164
146
  addTask: null,
165
- dependsOnLanes: [],
166
147
  force: false,
167
148
  help: false,
168
149
  };
@@ -175,9 +156,6 @@ function parseArgs(args) {
175
156
  else if (arg === '--force') {
176
157
  result.force = true;
177
158
  }
178
- else if (arg === '--sequential') {
179
- result.sequential = true;
180
- }
181
159
  else if (arg === '--lanes' && args[i + 1]) {
182
160
  result.lanes = parseInt(args[++i]) || 1;
183
161
  }
@@ -193,9 +171,6 @@ function parseArgs(args) {
193
171
  throw new Error(`Invalid preset: "${presetValue}". Must be one of: complex, simple, merge`);
194
172
  }
195
173
  }
196
- else if (arg === '--deps' && args[i + 1]) {
197
- result.deps = args[++i];
198
- }
199
174
  else if (arg === '--prompt' && args[i + 1]) {
200
175
  result.prompt = args[++i];
201
176
  }
@@ -214,9 +189,6 @@ function parseArgs(args) {
214
189
  else if (arg === '--add-task' && args[i + 1]) {
215
190
  result.addTask = args[++i];
216
191
  }
217
- else if (arg === '--depends-on' && args[i + 1]) {
218
- result.dependsOnLanes = args[++i].split(',').map(d => d.trim()).filter(d => d);
219
- }
220
192
  else if (!arg.startsWith('--') && !result.featureName) {
221
193
  result.featureName = arg;
222
194
  }
@@ -230,10 +202,7 @@ function parseTaskSpec(spec) {
230
202
  if (parts.length < 3) {
231
203
  throw new Error(`Invalid task spec: "${spec}". Expected format: "name|model|prompt[|criteria[|dependsOn[|timeout]]]"`);
232
204
  }
233
- const [name, model, prompt, criteriaStr, depsStr, timeoutStr] = parts;
234
- const acceptanceCriteria = criteriaStr
235
- ? criteriaStr.split(',').map(c => c.trim()).filter(c => c)
236
- : undefined;
205
+ const [name, model, prompt, _criteriaStr, depsStr, timeoutStr] = parts;
237
206
  const dependsOn = depsStr
238
207
  ? depsStr.split(',').map(d => d.trim()).filter(d => d)
239
208
  : undefined;
@@ -242,7 +211,6 @@ function parseTaskSpec(spec) {
242
211
  name: name.trim(),
243
212
  model: model.trim() || 'sonnet-4.5',
244
213
  prompt: prompt.trim(),
245
- ...(acceptanceCriteria && acceptanceCriteria.length > 0 ? { acceptanceCriteria } : {}),
246
214
  ...(dependsOn && dependsOn.length > 0 ? { dependsOn } : {}),
247
215
  ...(timeout ? { timeout } : {}),
248
216
  };
@@ -285,11 +253,6 @@ The plan document should include:
285
253
  - Data structures and interfaces
286
254
  - Step-by-step implementation tasks
287
255
  - Potential risks and edge cases`,
288
- acceptanceCriteria: [
289
- `Plan document saved to ${planDocPath}`,
290
- 'All required files are identified',
291
- 'Approach is clearly defined',
292
- ],
293
256
  }, {
294
257
  name: 'implement',
295
258
  model: 'sonnet-4.5',
@@ -316,11 +279,6 @@ ${basePrompt}
316
279
  - Refer back to the plan document if unsure about any step.
317
280
  - Verify all edge cases from the plan are handled.
318
281
  - Ensure code follows project conventions.`,
319
- acceptanceCriteria: criteria.length > 0 ? criteria : [
320
- 'Code implemented according to plan',
321
- 'No build errors',
322
- 'All edge cases handled',
323
- ],
324
282
  }, {
325
283
  name: 'test',
326
284
  model: 'sonnet-4.5',
@@ -343,11 +301,6 @@ Write comprehensive tests for the implementation.
343
301
  ## Important
344
302
  - All tests must pass before completing.
345
303
  - Cover happy path and error cases from the plan.`,
346
- acceptanceCriteria: [
347
- 'Unit tests written',
348
- 'All tests pass',
349
- 'Edge cases covered',
350
- ],
351
304
  });
352
305
  break;
353
306
  case 'simple':
@@ -369,11 +322,6 @@ ${basePrompt}
369
322
  ## Important
370
323
  - Keep changes focused and minimal.
371
324
  - Follow existing code conventions.`,
372
- acceptanceCriteria: criteria.length > 0 ? criteria : [
373
- 'Implementation complete',
374
- 'No build errors',
375
- 'Code follows conventions',
376
- ],
377
325
  }, {
378
326
  name: 'test',
379
327
  model: 'sonnet-4.5',
@@ -390,10 +338,6 @@ Test the implementation thoroughly.
390
338
 
391
339
  ## Important
392
340
  - All tests must pass before completing.`,
393
- acceptanceCriteria: [
394
- 'Tests written/updated',
395
- 'All tests pass',
396
- ],
397
341
  });
398
342
  break;
399
343
  case 'merge':
@@ -417,11 +361,6 @@ Merge dependent branches and resolve any conflicts.
417
361
  - Resolve all conflicts cleanly.
418
362
  - Ensure code from all merged branches works together.
419
363
  - Check that no functionality was broken by the merge.`,
420
- acceptanceCriteria: [
421
- 'All conflicts resolved',
422
- 'No build errors',
423
- 'Integration verified',
424
- ],
425
364
  }, {
426
365
  name: 'test',
427
366
  model: 'sonnet-4.5',
@@ -440,18 +379,13 @@ Run comprehensive tests after the merge.
440
379
  ## Important
441
380
  - All tests must pass.
442
381
  - Test the interaction between merged features.`,
443
- acceptanceCriteria: criteria.length > 0 ? criteria : [
444
- 'All unit tests pass',
445
- 'Integration tests pass',
446
- 'No regressions',
447
- ],
448
382
  });
449
383
  break;
450
384
  }
451
385
  return tasks;
452
386
  }
453
- function buildTasksFromOptions(options, laneNumber, featureName, hasDependencies = false) {
454
- // Priority: --task > --preset/dependencies > --prompt alone > default
387
+ function buildTasksFromOptions(options, laneNumber, featureName, _hasDependencies = false) {
388
+ // Priority: --task > --preset > --prompt alone > default
455
389
  // 1. Explicit --task specifications (highest priority)
456
390
  if (options.taskSpecs.length > 0) {
457
391
  const tasks = [];
@@ -460,12 +394,10 @@ function buildTasksFromOptions(options, laneNumber, featureName, hasDependencies
460
394
  }
461
395
  return tasks;
462
396
  }
463
- // 2. Preset template (use when --preset specified OR lane has dependencies)
397
+ // 2. Preset template (use when --preset specified)
464
398
  // --prompt serves as context when used with preset
465
- if (options.preset || hasDependencies) {
466
- // Auto-apply merge preset if lane has dependencies and no explicit preset
467
- const preset = options.preset || (hasDependencies ? 'merge' : 'complex');
468
- return buildTasksFromPreset(preset, featureName, laneNumber, options.prompt || `Implement ${featureName}`, options.criteria, hasDependencies);
399
+ if (options.preset) {
400
+ return buildTasksFromPreset(options.preset, featureName, laneNumber, options.prompt || `Implement ${featureName}`, options.criteria, false);
469
401
  }
470
402
  // 3. Single task from --prompt (only when no preset specified)
471
403
  if (options.prompt) {
@@ -474,13 +406,10 @@ function buildTasksFromOptions(options, laneNumber, featureName, hasDependencies
474
406
  model: options.model || 'sonnet-4.5',
475
407
  prompt: options.prompt,
476
408
  };
477
- if (options.criteria.length > 0) {
478
- task.acceptanceCriteria = options.criteria;
479
- }
480
409
  return [task];
481
410
  }
482
411
  // 4. Default: complex preset
483
- return buildTasksFromPreset('complex', featureName, laneNumber, `Implement ${featureName}`, options.criteria, hasDependencies);
412
+ return buildTasksFromPreset('complex', featureName, laneNumber, `Implement ${featureName}`, options.criteria, false);
484
413
  }
485
414
  function getDefaultConfig(laneNumber, featureName, tasks) {
486
415
  return {
@@ -495,10 +424,6 @@ function getDefaultConfig(laneNumber, featureName, tasks) {
495
424
  allowDependencyChange: false,
496
425
  lockfileReadOnly: true,
497
426
  },
498
- // Review Settings
499
- enableReview: true,
500
- reviewModel: 'sonnet-4.5-thinking',
501
- maxReviewIterations: 3,
502
427
  // Lane Metadata
503
428
  laneNumber: laneNumber,
504
429
  devPort: 3000 + laneNumber,
@@ -506,22 +431,6 @@ function getDefaultConfig(laneNumber, featureName, tasks) {
506
431
  tasks: tasks,
507
432
  };
508
433
  }
509
- function parseDeps(depsStr) {
510
- const map = new Map();
511
- // Format: "2:1;3:1,2"
512
- const lanes = depsStr.split(';');
513
- for (const lane of lanes) {
514
- const [targetStr, depsPart] = lane.split(':');
515
- if (!targetStr || !depsPart)
516
- continue;
517
- const target = parseInt(targetStr);
518
- const deps = depsPart.split(',').map(d => parseInt(d)).filter(d => !isNaN(d));
519
- if (!isNaN(target) && deps.length > 0) {
520
- map.set(target, deps);
521
- }
522
- }
523
- return map;
524
- }
525
434
  function replacePlaceholders(obj, context) {
526
435
  if (typeof obj === 'string') {
527
436
  return obj
@@ -570,7 +479,6 @@ async function addLaneToDir(options) {
570
479
  const laneName = `lane-${laneNumber}`;
571
480
  const fileName = `${laneNumber.toString().padStart(2, '0')}-${laneName}.json`;
572
481
  const filePath = (0, path_1.safeJoin)(taskDir, fileName);
573
- const hasDependencies = options.dependsOnLanes.length > 0;
574
482
  // Load template if provided
575
483
  let template = null;
576
484
  if (options.template) {
@@ -581,21 +489,16 @@ async function addLaneToDir(options) {
581
489
  taskConfig = { ...template, laneNumber, devPort: 3000 + laneNumber };
582
490
  }
583
491
  else {
584
- // Build tasks from options (auto-detects merge preset if has dependencies)
585
- const tasks = buildTasksFromOptions(options, laneNumber, featureName, hasDependencies);
492
+ // Build tasks from options
493
+ const tasks = buildTasksFromOptions(options, laneNumber, featureName, false);
586
494
  taskConfig = getDefaultConfig(laneNumber, featureName, tasks);
587
495
  }
588
496
  // Replace placeholders
589
- const processedConfig = replacePlaceholders(taskConfig, {
497
+ const finalConfig = replacePlaceholders(taskConfig, {
590
498
  featureName,
591
499
  laneNumber,
592
500
  devPort: 3000 + laneNumber,
593
501
  });
594
- // Add dependencies if specified
595
- const finalConfig = {
596
- ...processedConfig,
597
- ...(hasDependencies ? { dependsOn: options.dependsOnLanes } : {}),
598
- };
599
502
  // Use atomic write with wx flag to avoid TOCTOU race condition (unless force is set)
600
503
  // SECURITY NOTE: Writing user-defined task configuration to the file system.
601
504
  // The input is from CLI arguments and templates, used to generate CursorFlow lane files.
@@ -611,9 +514,8 @@ async function addLaneToDir(options) {
611
514
  }
612
515
  const tasksList = finalConfig.tasks || [];
613
516
  const taskSummary = tasksList.map((t) => t.name).join(' → ');
614
- const depsInfo = hasDependencies ? ` (depends: ${options.dependsOnLanes.join(', ')})` : '';
615
- const presetInfo = options.preset ? ` [${options.preset}]` : (hasDependencies ? ' [merge]' : (template ? ' [template]' : ''));
616
- logger.success(`Added lane: ${fileName} [${taskSummary}]${presetInfo}${depsInfo}`);
517
+ const presetInfo = options.preset ? ` [${options.preset}]` : (template ? ' [template]' : '');
518
+ logger.success(`Added lane: ${fileName} [${taskSummary}]${presetInfo}`);
617
519
  logger.info(`Directory: ${taskDir}`);
618
520
  console.log(`\nNext steps:`);
619
521
  console.log(` 1. Validate: cursorflow doctor --tasks-dir ${taskDir}`);
@@ -673,24 +575,14 @@ async function createNewFeature(options) {
673
575
  if (options.template) {
674
576
  template = await (0, template_1.resolveTemplate)(options.template);
675
577
  }
676
- // Calculate dependencies
677
- const dependencyMap = options.sequential
678
- ? new Map(Array.from({ length: options.lanes - 1 }, (_, i) => [i + 2, [i + 1]]))
679
- : (options.deps ? parseDeps(options.deps) : new Map());
680
578
  const laneInfoList = [];
681
579
  for (let i = 1; i <= options.lanes; i++) {
682
580
  const laneName = `lane-${i}`;
683
581
  const fileName = `${i.toString().padStart(2, '0')}-${laneName}.json`;
684
582
  const filePath = (0, path_1.safeJoin)(taskDir, fileName);
685
- const depNums = dependencyMap.get(i) || [];
686
- const dependsOn = depNums.map(n => {
687
- const depLaneName = `lane-${n}`;
688
- return `${n.toString().padStart(2, '0')}-${depLaneName}`;
689
- });
690
- const hasDependencies = dependsOn.length > 0;
691
583
  const devPort = 3000 + i;
692
584
  let taskConfig;
693
- let effectivePreset = options.preset || (hasDependencies ? 'merge' : 'complex');
585
+ let effectivePreset = options.preset || 'complex';
694
586
  if (template) {
695
587
  // Use template
696
588
  taskConfig = { ...template, laneNumber: i, devPort };
@@ -698,26 +590,21 @@ async function createNewFeature(options) {
698
590
  }
699
591
  else {
700
592
  // Build from CLI options
701
- const tasks = buildTasksFromOptions(options, i, options.featureName, hasDependencies);
593
+ const tasks = buildTasksFromOptions(options, i, options.featureName, false);
702
594
  taskConfig = getDefaultConfig(i, options.featureName, tasks);
703
595
  }
704
596
  // Replace placeholders
705
- const processedConfig = replacePlaceholders(taskConfig, {
597
+ const finalConfig = replacePlaceholders(taskConfig, {
706
598
  featureName: options.featureName,
707
599
  laneNumber: i,
708
600
  devPort: devPort,
709
601
  });
710
- // Add dependencies if any
711
- const finalConfig = {
712
- ...processedConfig,
713
- ...(dependsOn.length > 0 ? { dependsOn } : {}),
714
- };
715
602
  // SECURITY NOTE: Writing generated lane configuration (containing user prompts) to file system.
716
603
  fs.writeFileSync(filePath, JSON.stringify(finalConfig, null, 2) + '\n', 'utf8');
717
604
  const taskSummary = finalConfig.tasks?.map((t) => t.name).join(' → ') || 'default';
718
605
  const presetLabel = effectivePreset !== 'custom' ? ` [${effectivePreset}]` : '';
719
- logger.success(`Created: ${fileName} [${taskSummary}]${presetLabel}${dependsOn.length > 0 ? ` (depends: ${dependsOn.join(', ')})` : ''}`);
720
- laneInfoList.push({ name: laneName, fileName, dependsOn, preset: effectivePreset });
606
+ logger.success(`Created: ${fileName} [${taskSummary}]${presetLabel}`);
607
+ laneInfoList.push({ name: laneName, fileName, preset: effectivePreset });
721
608
  }
722
609
  // Create README
723
610
  const readmePath = (0, path_1.safeJoin)(taskDir, 'README.md');
@@ -738,14 +625,29 @@ cursorflow run ${path.relative(config.projectRoot, taskDir)}
738
625
 
739
626
  ## Lanes
740
627
 
741
- ${laneInfoList.map(l => `- **${l.fileName.replace('.json', '')}** [${l.preset}]${l.dependsOn.length > 0 ? ` (depends: ${l.dependsOn.join(', ')})` : ''}`).join('\n')}
628
+ ${laneInfoList.map(l => `- **${l.fileName.replace('.json', '')}** [${l.preset}]`).join('\n')}
629
+
630
+ ## Task-Level Dependencies
631
+
632
+ To make a task wait for another task to complete before starting, use the \`dependsOn\` field:
633
+
634
+ \`\`\`json
635
+ {
636
+ "tasks": [
637
+ {
638
+ "name": "my-task",
639
+ "prompt": "...",
640
+ "dependsOn": ["other-lane:other-task"]
641
+ }
642
+ ]
643
+ }
644
+ \`\`\`
742
645
 
743
646
  ## Modifying Tasks
744
647
 
745
648
  \`\`\`bash
746
- # Add a new lane (with merge preset for dependent lanes)
747
- cursorflow prepare --add-lane ${path.relative(config.projectRoot, taskDir)} \\
748
- --preset merge --depends-on "01-lane-1"
649
+ # Add a new lane
650
+ cursorflow prepare --add-lane ${path.relative(config.projectRoot, taskDir)} --preset complex
749
651
 
750
652
  # Add task to existing lane
751
653
  cursorflow prepare --add-task ${path.relative(config.projectRoot, taskDir)}/01-lane-1.json \\
@@ -1 +1 @@
1
- {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/cli/prepare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/cli/prepare.ts"],"names":[],"mappings":"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"}