@litmers/cursorflow-orchestrator 0.1.36 → 0.1.39

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 (85) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/commands/cursorflow-init.md +113 -32
  3. package/commands/cursorflow-prepare.md +146 -339
  4. package/commands/cursorflow-run.md +148 -131
  5. package/dist/cli/add.js +8 -4
  6. package/dist/cli/add.js.map +1 -1
  7. package/dist/cli/index.js +2 -0
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/cli/new.js +3 -5
  10. package/dist/cli/new.js.map +1 -1
  11. package/dist/cli/resume.js +26 -15
  12. package/dist/cli/resume.js.map +1 -1
  13. package/dist/cli/run.js +1 -6
  14. package/dist/cli/run.js.map +1 -1
  15. package/dist/cli/setup-commands.d.ts +1 -0
  16. package/dist/cli/setup-commands.js +1 -0
  17. package/dist/cli/setup-commands.js.map +1 -1
  18. package/dist/core/runner/agent.d.ts +5 -1
  19. package/dist/core/runner/agent.js +34 -2
  20. package/dist/core/runner/agent.js.map +1 -1
  21. package/dist/core/runner/pipeline.d.ts +0 -1
  22. package/dist/core/runner/pipeline.js +116 -167
  23. package/dist/core/runner/pipeline.js.map +1 -1
  24. package/dist/core/runner/prompt.d.ts +0 -1
  25. package/dist/core/runner/prompt.js +11 -16
  26. package/dist/core/runner/prompt.js.map +1 -1
  27. package/dist/core/runner/task.d.ts +1 -2
  28. package/dist/core/runner/task.js +24 -36
  29. package/dist/core/runner/task.js.map +1 -1
  30. package/dist/core/runner.js +12 -2
  31. package/dist/core/runner.js.map +1 -1
  32. package/dist/core/stall-detection.d.ts +16 -4
  33. package/dist/core/stall-detection.js +97 -148
  34. package/dist/core/stall-detection.js.map +1 -1
  35. package/dist/services/logging/console.d.ts +7 -1
  36. package/dist/services/logging/console.js +15 -3
  37. package/dist/services/logging/console.js.map +1 -1
  38. package/dist/services/logging/formatter.js +2 -0
  39. package/dist/services/logging/formatter.js.map +1 -1
  40. package/dist/types/config.d.ts +1 -1
  41. package/dist/types/logging.d.ts +1 -1
  42. package/dist/types/task.d.ts +2 -7
  43. package/dist/utils/doctor.js +4 -4
  44. package/dist/utils/doctor.js.map +1 -1
  45. package/dist/utils/git.js +2 -0
  46. package/dist/utils/git.js.map +1 -1
  47. package/dist/utils/health.js +13 -13
  48. package/dist/utils/health.js.map +1 -1
  49. package/dist/utils/log-formatter.js +44 -7
  50. package/dist/utils/log-formatter.js.map +1 -1
  51. package/dist/utils/logger.js +2 -2
  52. package/dist/utils/logger.js.map +1 -1
  53. package/package.json +2 -1
  54. package/src/cli/add.ts +9 -4
  55. package/src/cli/index.ts +3 -0
  56. package/src/cli/new.ts +3 -5
  57. package/src/cli/resume.ts +30 -19
  58. package/src/cli/run.ts +1 -6
  59. package/src/cli/setup-commands.ts +1 -1
  60. package/src/core/runner/agent.ts +40 -5
  61. package/src/core/runner/pipeline.ts +127 -176
  62. package/src/core/runner/prompt.ts +11 -18
  63. package/src/core/runner/task.ts +24 -37
  64. package/src/core/runner.ts +13 -2
  65. package/src/core/stall-detection.ts +190 -146
  66. package/src/services/logging/console.ts +15 -3
  67. package/src/services/logging/formatter.ts +2 -0
  68. package/src/types/config.ts +1 -1
  69. package/src/types/logging.ts +4 -2
  70. package/src/types/task.ts +2 -7
  71. package/src/utils/doctor.ts +5 -5
  72. package/src/utils/git.ts +2 -0
  73. package/src/utils/health.ts +15 -15
  74. package/src/utils/log-formatter.ts +50 -7
  75. package/src/utils/logger.ts +2 -2
  76. package/commands/cursorflow-add.md +0 -159
  77. package/commands/cursorflow-clean.md +0 -84
  78. package/commands/cursorflow-doctor.md +0 -102
  79. package/commands/cursorflow-models.md +0 -51
  80. package/commands/cursorflow-monitor.md +0 -90
  81. package/commands/cursorflow-new.md +0 -87
  82. package/commands/cursorflow-resume.md +0 -205
  83. package/commands/cursorflow-signal.md +0 -52
  84. package/commands/cursorflow-stop.md +0 -55
  85. package/commands/cursorflow-triggers.md +0 -250
@@ -144,9 +144,9 @@ export function withContext(context: string) {
144
144
  */
145
145
  export function section(message: string): void {
146
146
  console.log('');
147
- console.log(`${COLORS.cyan}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${COLORS.reset}`);
147
+ console.log(`${COLORS.cyan}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${COLORS.reset}`);
148
148
  console.log(`${COLORS.cyan} ${message}${COLORS.reset}`);
149
- console.log(`${COLORS.cyan}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${COLORS.reset}`);
149
+ console.log(`${COLORS.cyan}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${COLORS.reset}`);
150
150
  console.log('');
151
151
  }
152
152
 
@@ -1,159 +0,0 @@
1
- # cursorflow add
2
-
3
- Lane에 Task를 추가합니다.
4
-
5
- ## 사용법
6
-
7
- ```bash
8
- cursorflow add <FlowName> <LaneName> --task "name=...|model=...|prompt=..." [--after ...]
9
- ```
10
-
11
- ## 설명
12
-
13
- 지정된 Flow의 Lane에 Task를 추가합니다.
14
- `--task` 옵션은 여러 번 사용하여 여러 태스크를 순차적으로 추가할 수 있습니다.
15
-
16
- ## --task 형식
17
-
18
- ```
19
- "name=<이름>|model=<모델>|prompt=<프롬프트>"
20
- ```
21
-
22
- ### 필수 필드
23
-
24
- | 필드 | 설명 | 예시 |
25
- |------|------|------|
26
- | `name` | 태스크 이름 (영문, 숫자, -, _) | `name=implement` |
27
- | `prompt` | 태스크 프롬프트/지시사항 | `prompt=API 구현` |
28
-
29
- ### 선택 필드
30
-
31
- | 필드 | 설명 | 예시 |
32
- |------|------|------|
33
- | `model` | AI 모델 (생략 시 기본 모델 사용) | `model=<your-model>` |
34
-
35
- 기본 모델 설정: `cursorflow config defaultModel <model-name>`
36
-
37
- ## --after 형식 (의존성 설정)
38
-
39
- 첫 번째 태스크가 시작되기 전에 완료되어야 할 태스크를 지정합니다.
40
-
41
- | 형식 | 설명 |
42
- |------|------|
43
- | `"lane"` | 해당 레인의 **마지막 태스크** 완료 후 시작 |
44
- | `"lane:task"` | 특정 태스크 완료 후 시작 |
45
- | `"a:t1, b:t2"` | **여러 태스크가 모두 완료**된 후 시작 |
46
-
47
- ## 예시
48
-
49
- ### 기본 사용: 단일 태스크 추가 (기본 모델 사용)
50
-
51
- ```bash
52
- cursorflow add SearchFeature api \
53
- --task "name=implement|prompt=검색 API 구현"
54
- ```
55
-
56
- ### 여러 태스크 추가
57
-
58
- ```bash
59
- cursorflow add SearchFeature api \
60
- --task "name=plan|prompt=API 설계" \
61
- --task "name=implement|prompt=검색 API 구현" \
62
- --task "name=test|prompt=테스트 코드 작성"
63
- ```
64
-
65
- ### 의존성 설정: 특정 태스크 완료 후 시작
66
-
67
- ```bash
68
- # api 레인의 implement 태스크 완료 후 시작
69
- cursorflow add SearchFeature web \
70
- --task "name=ui|prompt=검색 UI 구현" \
71
- --after "api:implement"
72
- ```
73
-
74
- ### 의존성 설정: 레인 전체 완료 후 시작
75
-
76
- ```bash
77
- # api 레인의 마지막 태스크 완료 후 시작
78
- cursorflow add SearchFeature web \
79
- --task "name=ui|prompt=검색 UI 구현" \
80
- --after "api"
81
- ```
82
-
83
- ### 다중 의존성: 여러 태스크 완료 후 시작
84
-
85
- ```bash
86
- # web과 mobile 모두 완료된 후 시작
87
- cursorflow add SearchFeature e2e \
88
- --task "name=verify|prompt=E2E 테스트" \
89
- --after "web:ui, mobile:app"
90
- ```
91
-
92
- ## 출력 예시
93
-
94
- ```
95
- ✅ 3개 태스크 추가 완료
96
-
97
- 📄 01-api.json
98
-
99
- ├── plan (<default-model>)
100
- ├── implement (<default-model>)
101
- └── test (<default-model>)
102
-
103
- 전체 태스크 목록:
104
- 1. plan (new)
105
- 2. implement (new)
106
- 3. test (new)
107
-
108
- 다음 단계:
109
- cursorflow run SearchFeature # Flow 실행
110
- cursorflow doctor SearchFeature # 설정 검증
111
- ```
112
-
113
- ## 생성되는 Lane 파일 구조
114
-
115
- ```json
116
- {
117
- "laneName": "api",
118
- "tasks": [
119
- {
120
- "name": "plan",
121
- "model": "<your-model>",
122
- "prompt": "API 설계"
123
- },
124
- {
125
- "name": "implement",
126
- "model": "<your-model>",
127
- "prompt": "검색 API 구현"
128
- },
129
- {
130
- "name": "test",
131
- "model": "<your-model>",
132
- "prompt": "테스트 코드 작성"
133
- }
134
- ]
135
- }
136
- ```
137
-
138
- ### 의존성이 있는 경우
139
-
140
- ```json
141
- {
142
- "laneName": "web",
143
- "tasks": [
144
- {
145
- "name": "ui",
146
- "model": "<your-model>",
147
- "prompt": "검색 UI 구현",
148
- "dependsOn": ["01-api:implement"]
149
- }
150
- ]
151
- }
152
- ```
153
-
154
- ## 관련 명령어
155
-
156
- - [cursorflow new](cursorflow-new.md) - Flow와 Lane 생성
157
- - [cursorflow run](cursorflow-run.md) - Flow 실행
158
- - [cursorflow doctor](cursorflow-doctor.md) - 설정 검증
159
-
@@ -1,84 +0,0 @@
1
- # CursorFlow Clean
2
-
3
- ## Overview
4
- Clean up temporary resources created by CursorFlow, including Git worktrees, feature branches, log files, and task definitions.
5
-
6
- ## Usage
7
-
8
- ```bash
9
- cursorflow clean <type> [options]
10
- ```
11
-
12
- ## Clean Types
13
-
14
- | Type | Description |
15
- |------|------|
16
- | `branches` | Remove local feature branches created by CursorFlow |
17
- | `worktrees` | Remove temporary Git worktrees |
18
- | `logs` | Clear all run and terminal logs |
19
- | `tasks` | Remove task definition directories (keeps `example/`) |
20
- | `all` | Clean everything (branches, worktrees, logs, and tasks) |
21
-
22
- ## Options
23
-
24
- | Option | Description |
25
- |------|------|
26
- | `--run <id>` | Clean resources linked to a specific run |
27
- | `--older-than <time>` | Clean resources older than a specific time (e.g., `24h`, `7d`) |
28
- | `--orphaned` | Clean orphaned resources (worktrees without runs, etc.) |
29
- | `--dry-run` | Show what would be removed without actually deleting anything |
30
- | `--force` | Force removal (ignore uncommitted changes in worktrees) |
31
- | `--include-latest` | Also remove the most recent item (by default, latest is kept) |
32
- | `--help`, `-h` | Show help |
33
-
34
- ## Examples
35
-
36
- ### Review before deleting (latest is kept by default)
37
- ```bash
38
- cursorflow clean all --dry-run
39
- ```
40
-
41
- ### Clean only worktrees (keeps the latest worktree)
42
- ```bash
43
- cursorflow clean worktrees
44
- ```
45
-
46
- ### Force clean everything including the latest
47
- ```bash
48
- cursorflow clean all --force --include-latest
49
- ```
50
-
51
- ### Remove all worktrees including the latest
52
- ```bash
53
- cursorflow clean worktrees --include-latest
54
- ```
55
-
56
- ### Clean resources for a specific run
57
- ```bash
58
- cursorflow clean all --run run-1734873132
59
- ```
60
-
61
- ### Clean logs and tasks older than 7 days
62
- ```bash
63
- cursorflow clean logs --older-than 7d
64
- cursorflow clean tasks --older-than 7d
65
- ```
66
-
67
- ### Clean orphaned worktrees and branches
68
- ```bash
69
- cursorflow clean all --orphaned
70
- ```
71
-
72
- ## Notes
73
-
74
- 1. **Safety**: It is highly recommended to run with `--dry-run` first to see exactly what will be deleted.
75
- 2. **Worktrees**: The command identifies CursorFlow worktrees by their location (usually in `_cursorflow/worktrees/`) or their prefix.
76
- 3. **Branches**: Only branches starting with the configured `branchPrefix` (default: `cursorflow/`) are targeted.
77
- 4. **Irreversible**: Once logs are deleted, they cannot be recovered.
78
- 5. **Default Behavior**: By default, the most recent item is preserved. The "most recent" is determined by:
79
- - **Worktrees**: Directory modification time
80
- - **Branches**: Latest commit timestamp
81
- - **Logs**: File/directory modification time
82
- - **Tasks**: Directory modification time
83
-
84
- Use `--include-latest` to remove everything including the most recent item.
@@ -1,102 +0,0 @@
1
- # CursorFlow Doctor
2
-
3
- ## Overview
4
- Verify that your environment and flow configurations are properly set up for CursorFlow.
5
-
6
- ## Usage
7
-
8
- ```bash
9
- cursorflow doctor [flow-name] [options]
10
- ```
11
-
12
- ## Checks Performed
13
- - **Environment**: Git repository status, remote availability, and worktree support.
14
- - **Cursor IDE**: Verifies `cursor-agent` is installed and authenticated.
15
- - **Flow/Tasks**: (Optional) Validates flow JSON files for schema errors or missing fields.
16
-
17
- ## Options
18
-
19
- | Option | Description |
20
- |------|------|
21
- | `[flow-name]` | Flow name to validate (e.g., `SearchFeature`) |
22
- | `--tasks-dir <path>` | Validate flow/tasks in a specific directory (legacy) |
23
- | `--executor <type>` | Check environment for `cursor-agent` \| `cloud` |
24
- | `--test-agent` | Run an interactive agent test (to approve permissions) |
25
- | `--no-cursor` | Skip Cursor Agent installation and auth checks |
26
- | `--json` | Output the report in machine-readable JSON format |
27
-
28
- ## Flow Validation
29
-
30
- When a flow name or `--tasks-dir` is provided, the doctor performs comprehensive validation:
31
-
32
- ### Structure Validation
33
- - **tasks array**: Must exist and be non-empty
34
- - **task.name**: Required, must be alphanumeric with `-` and `_` only, unique within lane
35
- - **task.prompt**: Required, should be descriptive (warns if < 10 chars)
36
- - **task.model**: Optional, must be string if provided
37
- - **task.dependsOn**: Optional, task-level dependencies
38
-
39
- ### Dependency Validation (DAG)
40
- - **Unknown dependencies**: Reports if `dependsOn` references non-existent lanes/tasks
41
- - **Circular dependencies**: Detects cycles (e.g., A→B→A) that would cause deadlock
42
- - Reports the exact cycle path for easy debugging
43
-
44
- ### Branch Validation
45
- - **Prefix collision**: Warns if multiple lanes use the same `branchPrefix`
46
- - **Existing branch conflicts**: Detects if existing branches match a lane's prefix
47
- - **Duplicate lane names**: Ensures each lane file has a unique name
48
-
49
- ## Examples
50
-
51
- ```bash
52
- # Basic environment check
53
- cursorflow doctor
54
-
55
- # Validate a specific flow by name
56
- cursorflow doctor SearchFeature
57
-
58
- # Test agent permissions
59
- cursorflow doctor --test-agent
60
-
61
- # Validate a specific flow directory
62
- cursorflow doctor --tasks-dir _cursorflow/flows/001_SearchFeature
63
-
64
- # Skip cursor checks (faster)
65
- cursorflow doctor SearchFeature --no-cursor
66
-
67
- # Output as JSON
68
- cursorflow doctor SearchFeature --json
69
- ```
70
-
71
- ## Example Output
72
-
73
- ```
74
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
75
- 🩺 CursorFlow Doctor
76
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
77
-
78
- cwd: /home/user/project
79
- repo: /home/user/project
80
- tasks: /home/user/project/_cursorflow/flows/001_SearchFeature
81
-
82
- ✅ All checks passed
83
-
84
- 💡 Tip: If this is your first run, we recommend running:
85
- cursorflow doctor --test-agent
86
- ```
87
-
88
- ## Common Issues & Fixes
89
-
90
- | Issue | Potential Fix |
91
- |-------|---------------|
92
- | `Cursor Agent not found` | Ensure Cursor IDE is installed and `cursor` command is in PATH. |
93
- | `Not authenticated` | Open Cursor IDE and log in to your account. |
94
- | `Worktree not supported` | Upgrade your Git version (requires Git >= 2.5). |
95
- | `Circular dependency` | Check the `dependsOn` fields in your task JSON files. |
96
- | `Flow not found` | Verify flow name or create with `cursorflow new`. |
97
-
98
- ## Related Commands
99
-
100
- - [cursorflow new](cursorflow-new.md) - Create Flow and Lanes
101
- - [cursorflow add](cursorflow-add.md) - Add Tasks to Lanes
102
- - [cursorflow run](cursorflow-run.md) - Run Flow
@@ -1,51 +0,0 @@
1
- # CursorFlow Models
2
-
3
- ## Overview
4
- List available AI models supported by CursorFlow and their recommended use cases. These models are discovered from your local `cursor-agent` installation.
5
-
6
- ## Usage
7
-
8
- ```bash
9
- cursorflow models [options]
10
- ```
11
-
12
- ## Options
13
-
14
- | Option | Description |
15
- |------|------|
16
- | `--list`, `-l` | List models in a table (default) |
17
- | `--json` | Output model list as JSON |
18
-
19
- ## Available Models
20
-
21
- | ID | Name | Provider | Recommended Use |
22
- |----|------|----------|-----------------|
23
- | `sonnet-4.5` | Claude 3.7 Sonnet | Anthropic | General implementation, fast work (Most versatile) |
24
- | `sonnet-4.5-thinking` | Claude 3.7 Sonnet (Thinking) | Anthropic | Code review, deeper reasoning (Thinking model) |
25
- | `opus-4.5` | Claude 4.0 Opus | Anthropic | Complex tasks, high quality (Advanced) |
26
- | `opus-4.5-thinking` | Claude 4.0 Opus (Thinking) | Anthropic | Architecture design (Premium) |
27
- | `gpt-5.2` | GPT-5.2 | OpenAI | General tasks |
28
- | `gpt-5.2-high` | GPT-5.2 High Reasoning | OpenAI | Advanced reasoning (High performance) |
29
-
30
- ## Model Configuration
31
-
32
- In your task `.json` files, specify the model like this:
33
-
34
- ```json
35
- {
36
- "model": "sonnet-4.5",
37
- "tasks": [
38
- {
39
- "name": "implement",
40
- "prompt": "..."
41
- }
42
- ]
43
- }
44
- ```
45
-
46
- ## Tips
47
-
48
- - Use the `ID` from the `cursorflow models` output in your JSON files.
49
- - You can set a default model in `cursorflow.config.js`.
50
- - Individual tasks within a lane can override the lane-level model.
51
-
@@ -1,90 +0,0 @@
1
- # CursorFlow Monitor
2
-
3
- ## Overview
4
- The `cursorflow monitor` command provides a powerful, interactive terminal-based dashboard to track the execution status of all lanes in real-time. It allows you to visualize dependencies, stream live terminal output, and intervene in running tasks.
5
-
6
- ## Usage
7
-
8
- ```bash
9
- # Monitor the most recent run
10
- cursorflow monitor
11
-
12
- # List all runs (Multiple Flows Dashboard)
13
- cursorflow monitor --list
14
-
15
- # Monitor a specific run directory
16
- cursorflow monitor run-2025-12-21T10-00-00
17
- ```
18
-
19
- ## Options
20
-
21
- | Option | Description |
22
- |--------|-------------|
23
- | `[run-dir]` | Run directory or ID to monitor (default: latest) |
24
- | `--list`, `-l` | Show all runs dashboard (interactive list) |
25
- | `--interval <n>` | Refresh interval in seconds (default: 2) |
26
- | `--help`, `-h` | Show help |
27
-
28
- ## Dashboard Controls
29
-
30
- ### List View (Main)
31
- - **Navigation**: Use `↑` and `↓` to move between lanes.
32
- - **Details**: Press `→` or `Enter` to enter the **Lane Detail View**.
33
- - **Flow View**: Press `F` to see the task dependency graph (DAG).
34
- - **All Runs**: Press `M` to switch to the **All Flows Dashboard**.
35
- - **Unified Logs**: Press `U` to see a merged log stream of all lanes.
36
- - **Quit**: Press `Q` to exit.
37
-
38
- ### All Flows Dashboard
39
- - **Navigation**: Use `↑` and `↓` to select a flow.
40
- - **Switch**: Press `→` or `Enter` to switch the monitor to the selected flow.
41
- - **Delete**: Press `D` to delete a completed flow's logs (requires confirmation).
42
- - **Refresh**: Press `R` to refresh the list of flows.
43
- - **Back**: Press `M` or `Esc` to return to the List View.
44
-
45
- ### Lane Detail View
46
- - **History Browsing**: Use `↑` and `↓` to scroll through conversation history.
47
- - **Message Detail**: Press `→` or `Enter` on a message to see its full content.
48
- - **Live Terminal**: Press `T` to enter the **Full Terminal View**.
49
- - **Intervention**: Press `I` to send a manual prompt to the agent (requires `enableIntervention: true`).
50
- - **Kill Process**: Press `K` to forcefully terminate a stuck agent process.
51
- - **Back**: Press `←` or `Esc` to return to the List View.
52
-
53
- ### Full Terminal View
54
- - **Scrolling**: Use `↑` and `↓` to scroll through the entire agent output log.
55
- - **Back**: Press `T`, `←`, or `Esc` to return to the Lane Detail View.
56
-
57
- ### Intervention View
58
- - **Typing**: Type your message directly.
59
- - **Send**: Press `Enter` to send the intervention message.
60
- - **Cancel**: Press `Esc` to cancel and return.
61
-
62
- ## Key Concepts
63
-
64
- ### Lane Statuses
65
- | Status | Icon | Description |
66
- |--------|------|-------------|
67
- | `pending` | ⚪ | Lane is waiting to start |
68
- | `waiting` | ⏳ | Waiting for parent dependencies to complete |
69
- | `running` | 🔄 | Agent is currently executing tasks |
70
- | `reviewing` | 👀 | AI Reviewer is checking the task results |
71
- | `completed` | ✅ | All tasks and reviews finished successfully |
72
- | `failed` | ❌ | A task or review failed with an error |
73
- | `blocked` | 🚫 | Blocked by a failed dependency |
74
-
75
- ### Dependency Flow View
76
- A visual representation of the Directed Acyclic Graph (DAG). It shows which lanes must finish before others can start, helping you understand the execution pipeline.
77
-
78
- ### Heartbeat Logs
79
- CursorFlow monitors agent activity and logs status every few seconds. If a lane shows `0 bytes received` for a long period, it may be stuck or thinking deeply.
80
-
81
- ## Troubleshooting
82
-
83
- ### Lane is stuck
84
- 1. Enter the **Lane Detail View**.
85
- 2. Check the **PID** to ensure the process is still alive.
86
- 3. Check the **Live Terminal** preview or enter **Full Terminal View (T)**.
87
- 4. If it's truly stuck, press `K` to kill it, then use `cursorflow resume <lane>` to restart.
88
-
89
- ### Sending Instructions
90
- If the agent is heading in the wrong direction, use the **Intervention (I)** feature to guide it without stopping the run. Note that this requires `enableIntervention: true` in the task's JSON configuration.
@@ -1,87 +0,0 @@
1
- # cursorflow new
2
-
3
- Flow와 Lane을 생성합니다.
4
-
5
- ## 사용법
6
-
7
- ```bash
8
- cursorflow new <FlowName> --lanes "lane1,lane2,..."
9
- ```
10
-
11
- ## 설명
12
-
13
- 새로운 Flow 디렉토리를 생성하고, 지정된 Lane 파일들의 뼈대를 만듭니다.
14
- 각 Lane에 실제 Task를 추가하려면 `cursorflow add` 명령을 사용하세요.
15
-
16
- ## 옵션
17
-
18
- | 옵션 | 설명 | 예시 |
19
- |------|------|------|
20
- | `--lanes <names>` | 콤마로 구분된 레인 이름 목록 (필수) | `--lanes "backend,frontend"` |
21
-
22
- ## 예시
23
-
24
- ### 기본 사용
25
-
26
- ```bash
27
- # 백엔드와 프론트엔드 2개 레인 생성
28
- cursorflow new ShopFeature --lanes "backend,frontend"
29
- ```
30
-
31
- ### 3개 레인 생성
32
-
33
- ```bash
34
- # API, Web, Mobile 3개 레인 생성
35
- cursorflow new SearchFeature --lanes "api,web,mobile"
36
- ```
37
-
38
- ## 생성 결과
39
-
40
- ```
41
- _cursorflow/flows/001_ShopFeature/
42
- ├── flow.meta.json # Flow 메타데이터
43
- ├── 01-backend.json # Lane 1 (빈 상태)
44
- └── 02-frontend.json # Lane 2 (빈 상태)
45
- ```
46
-
47
- ### flow.meta.json 스키마
48
-
49
- ```json
50
- {
51
- "id": "001",
52
- "name": "ShopFeature",
53
- "createdAt": "2024-12-25T10:30:00Z",
54
- "createdBy": "user",
55
- "baseBranch": "main",
56
- "status": "pending",
57
- "lanes": ["backend", "frontend"]
58
- }
59
- ```
60
-
61
- ### Lane 파일 스키마 (빈 상태)
62
-
63
- ```json
64
- {
65
- "laneName": "backend",
66
- "tasks": []
67
- }
68
- ```
69
-
70
- ## 다음 단계
71
-
72
- Flow 생성 후, 각 Lane에 Task를 추가합니다:
73
-
74
- ```bash
75
- cursorflow add ShopFeature backend \
76
- --task "name=implement|prompt=API 구현"
77
-
78
- cursorflow add ShopFeature frontend \
79
- --task "name=ui|prompt=UI 구현" \
80
- --after "backend:implement"
81
- ```
82
-
83
- ## 관련 명령어
84
-
85
- - [cursorflow add](cursorflow-add.md) - Lane에 Task 추가
86
- - [cursorflow run](cursorflow-run.md) - Flow 실행
87
-