@litmers/cursorflow-orchestrator 0.1.31 → 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.
- package/README.md +144 -52
- package/commands/cursorflow-add.md +159 -0
- package/commands/cursorflow-monitor.md +23 -2
- package/commands/cursorflow-new.md +87 -0
- package/dist/cli/add.d.ts +7 -0
- package/dist/cli/add.js +377 -0
- package/dist/cli/add.js.map +1 -0
- package/dist/cli/clean.js +1 -0
- package/dist/cli/clean.js.map +1 -1
- package/dist/cli/config.d.ts +7 -0
- package/dist/cli/config.js +181 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/index.js +34 -30
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/logs.js +7 -33
- package/dist/cli/logs.js.map +1 -1
- package/dist/cli/monitor.js +51 -62
- package/dist/cli/monitor.js.map +1 -1
- package/dist/cli/new.d.ts +7 -0
- package/dist/cli/new.js +232 -0
- package/dist/cli/new.js.map +1 -0
- package/dist/cli/prepare.js +95 -193
- package/dist/cli/prepare.js.map +1 -1
- package/dist/cli/resume.js +11 -47
- package/dist/cli/resume.js.map +1 -1
- package/dist/cli/run.js +27 -22
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/tasks.js +1 -2
- package/dist/cli/tasks.js.map +1 -1
- package/dist/core/failure-policy.d.ts +9 -0
- package/dist/core/failure-policy.js +9 -0
- package/dist/core/failure-policy.js.map +1 -1
- package/dist/core/orchestrator.d.ts +20 -6
- package/dist/core/orchestrator.js +213 -333
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/runner/agent.d.ts +27 -0
- package/dist/core/runner/agent.js +294 -0
- package/dist/core/runner/agent.js.map +1 -0
- package/dist/core/runner/index.d.ts +5 -0
- package/dist/core/runner/index.js +22 -0
- package/dist/core/runner/index.js.map +1 -0
- package/dist/core/runner/pipeline.d.ts +9 -0
- package/dist/core/runner/pipeline.js +539 -0
- package/dist/core/runner/pipeline.js.map +1 -0
- package/dist/core/runner/prompt.d.ts +25 -0
- package/dist/core/runner/prompt.js +175 -0
- package/dist/core/runner/prompt.js.map +1 -0
- package/dist/core/runner/task.d.ts +26 -0
- package/dist/core/runner/task.js +283 -0
- package/dist/core/runner/task.js.map +1 -0
- package/dist/core/runner/utils.d.ts +37 -0
- package/dist/core/runner/utils.js +161 -0
- package/dist/core/runner/utils.js.map +1 -0
- package/dist/core/runner.d.ts +2 -96
- package/dist/core/runner.js +11 -1136
- package/dist/core/runner.js.map +1 -1
- package/dist/core/stall-detection.d.ts +326 -0
- package/dist/core/stall-detection.js +781 -0
- package/dist/core/stall-detection.js.map +1 -0
- package/dist/types/config.d.ts +6 -6
- package/dist/types/flow.d.ts +84 -0
- package/dist/types/flow.js +10 -0
- package/dist/types/flow.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +3 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/lane.d.ts +0 -2
- package/dist/types/logging.d.ts +5 -1
- package/dist/types/task.d.ts +7 -11
- package/dist/utils/config.js +7 -15
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/dependency.d.ts +36 -1
- package/dist/utils/dependency.js +256 -1
- package/dist/utils/dependency.js.map +1 -1
- package/dist/utils/enhanced-logger.d.ts +45 -82
- package/dist/utils/enhanced-logger.js +238 -844
- package/dist/utils/enhanced-logger.js.map +1 -1
- package/dist/utils/git.d.ts +29 -0
- package/dist/utils/git.js +115 -5
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/state.js +0 -2
- package/dist/utils/state.js.map +1 -1
- package/dist/utils/task-service.d.ts +2 -2
- package/dist/utils/task-service.js +40 -31
- package/dist/utils/task-service.js.map +1 -1
- package/package.json +4 -3
- package/src/cli/add.ts +397 -0
- package/src/cli/clean.ts +1 -0
- package/src/cli/config.ts +177 -0
- package/src/cli/index.ts +36 -32
- package/src/cli/logs.ts +7 -31
- package/src/cli/monitor.ts +55 -71
- package/src/cli/new.ts +235 -0
- package/src/cli/prepare.ts +98 -205
- package/src/cli/resume.ts +13 -56
- package/src/cli/run.ts +311 -306
- package/src/cli/tasks.ts +1 -2
- package/src/core/failure-policy.ts +9 -0
- package/src/core/orchestrator.ts +277 -378
- package/src/core/runner/agent.ts +314 -0
- package/src/core/runner/index.ts +6 -0
- package/src/core/runner/pipeline.ts +567 -0
- package/src/core/runner/prompt.ts +174 -0
- package/src/core/runner/task.ts +320 -0
- package/src/core/runner/utils.ts +142 -0
- package/src/core/runner.ts +8 -1347
- package/src/core/stall-detection.ts +936 -0
- package/src/types/config.ts +6 -6
- package/src/types/flow.ts +91 -0
- package/src/types/index.ts +15 -3
- package/src/types/lane.ts +0 -2
- package/src/types/logging.ts +5 -1
- package/src/types/task.ts +7 -11
- package/src/utils/config.ts +8 -16
- package/src/utils/dependency.ts +311 -2
- package/src/utils/enhanced-logger.ts +263 -927
- package/src/utils/git.ts +145 -5
- package/src/utils/state.ts +0 -2
- package/src/utils/task-service.ts +48 -40
- package/commands/cursorflow-review.md +0 -56
- package/commands/cursorflow-runs.md +0 -59
- package/dist/cli/runs.d.ts +0 -5
- package/dist/cli/runs.js +0 -214
- package/dist/cli/runs.js.map +0 -1
- package/dist/core/reviewer.d.ts +0 -66
- package/dist/core/reviewer.js +0 -265
- package/dist/core/reviewer.js.map +0 -1
- package/src/cli/runs.ts +0 -212
- package/src/core/reviewer.ts +0 -285
package/dist/cli/prepare.js
CHANGED
|
@@ -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
|
-
|
|
49
|
-
|
|
50
|
-
Prepare task files for a new feature - Terminal-first workflow.
|
|
48
|
+
cursorflow prepare - 태스크 파일 생성
|
|
51
49
|
|
|
52
50
|
═══════════════════════════════════════════════════════════════════════════════
|
|
53
|
-
|
|
51
|
+
시나리오: "쇼핑몰" 프로젝트에서 백엔드 API와 프론트엔드 동시 개발
|
|
54
52
|
═══════════════════════════════════════════════════════════════════════════════
|
|
55
53
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
68
|
-
|
|
58
|
+
결과: _cursorflow/tasks/2412251030_FixCartBug/
|
|
59
|
+
└── 01-FixCartBug.json (implement 태스크 1개)
|
|
69
60
|
|
|
70
|
-
## Step 2: Add More Lanes (Incremental)
|
|
71
61
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
62
|
+
[Case 2] 프리셋 사용 - 계획부터 테스트까지
|
|
63
|
+
─────────────────────────────────────────
|
|
64
|
+
cursorflow prepare PaymentAPI --preset complex --prompt "Stripe 결제 연동"
|
|
75
65
|
|
|
76
|
-
|
|
66
|
+
결과: 01-PaymentAPI.json에 plan → implement → test 태스크 생성
|
|
77
67
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
--
|
|
68
|
+
프리셋:
|
|
69
|
+
--preset complex plan → implement → test
|
|
70
|
+
--preset simple implement → test
|
|
71
|
+
(없으면) implement만
|
|
81
72
|
|
|
82
|
-
## Step 4: Validate Configuration
|
|
83
73
|
|
|
84
|
-
|
|
74
|
+
[Case 3] 병렬 레인 - 백엔드/프론트 동시 개발
|
|
75
|
+
─────────────────────────────────────────
|
|
76
|
+
cursorflow prepare ShopFeature --lanes 2 --preset complex \\
|
|
77
|
+
--prompt "상품 검색 기능"
|
|
85
78
|
|
|
86
|
-
|
|
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
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
-
|
|
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
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
--
|
|
109
|
-
--task
|
|
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
|
-
|
|
121
|
-
|
|
122
|
-
|
|
103
|
+
[Case 6] 나중에 추가 - 레인이나 태스크 덧붙이기
|
|
104
|
+
─────────────────────────────────────────
|
|
105
|
+
# 새 레인 추가
|
|
106
|
+
cursorflow prepare --add-lane ./tasks/ShopFeature --preset simple
|
|
123
107
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
--
|
|
108
|
+
# 기존 레인에 태스크 추가
|
|
109
|
+
cursorflow prepare --add-task ./01-lane-1.json \\
|
|
110
|
+
--task "docs|sonnet-4.5|API 문서화|완성"
|
|
127
111
|
|
|
128
112
|
═══════════════════════════════════════════════════════════════════════════════
|
|
129
113
|
|
|
130
|
-
|
|
114
|
+
--task 형식: "이름|모델|프롬프트|완료조건|의존성|타임아웃"
|
|
131
115
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
116
|
+
예시:
|
|
117
|
+
"build|sonnet-4.5|빌드하기|완료" 기본
|
|
118
|
+
"deploy|sonnet-4.5|배포|성공|01-lane:build" 의존성
|
|
119
|
+
"heavy|sonnet-4.5|대용량|완료||1200000" 타임아웃 20분
|
|
135
120
|
|
|
136
|
-
|
|
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
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
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,
|
|
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,
|
|
454
|
-
// Priority: --task > --preset
|
|
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
|
|
397
|
+
// 2. Preset template (use when --preset specified)
|
|
464
398
|
// --prompt serves as context when used with preset
|
|
465
|
-
if (options.preset
|
|
466
|
-
|
|
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,
|
|
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
|
|
585
|
-
const tasks = buildTasksFromOptions(options, laneNumber, featureName,
|
|
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
|
|
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
|
|
615
|
-
|
|
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 ||
|
|
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,
|
|
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
|
|
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}
|
|
720
|
-
laneInfoList.push({ name: laneName, fileName,
|
|
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}]
|
|
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
|
|
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 \\
|
package/dist/cli/prepare.js.map
CHANGED
|
@@ -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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"}
|