@litmers/cursorflow-orchestrator 0.1.0 → 0.1.1

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.
@@ -1,131 +1,131 @@
1
- # CursorFlow Monitor
2
-
3
- ## Overview
4
- 레인 실행 상태를 모니터링합니다. 실시간으로 진행 상황을 확인하고 로그를 조회할 있습니다.
5
-
6
- ## Steps
7
-
8
- 1. **실시간 모니터링**
9
- ```bash
10
- cursorflow monitor --watch
11
- ```
12
-
13
- 2. **특정 run 모니터링**
14
- ```bash
15
- cursorflow monitor _cursorflow/logs/runs/my-run/
16
- ```
17
-
18
- 3. **상태 확인**
19
-
20
- 레인별 상태 정보:
21
- - pending: 대기 중
22
- - running: 실행
23
- - completed: 완료
24
- - failed: 실패
25
- - blocked_dependency: 의존성 대기
26
-
27
- 4. **로그 확인**
28
-
29
- 레인의 로그 파일:
30
- - `state.json`: 현재 상태
31
- - `conversation.jsonl`: 에이전트 대화
32
- - `git-operations.jsonl`: Git 작업
33
- - `events.jsonl`: 이벤트 로그
34
-
35
- ## 옵션
36
-
37
- | 옵션 | 설명 |
38
- |------|------|
39
- | `--watch` | 실시간 갱신 (2 간격) |
40
- | `--interval <sec>` | 갱신 간격 (초) |
41
- | `--json` | JSON 형식으로 출력 |
42
-
43
- ## 예제
44
-
45
- ### 최신 run 모니터링
46
- ```bash
47
- cursorflow monitor
48
- ```
49
-
50
- ### 실시간 모니터링 (5 간격)
51
- ```bash
52
- cursorflow monitor --watch --interval 5
53
- ```
54
-
55
- ### JSON 출력
56
- ```bash
57
- cursorflow monitor --json | jq
58
- ```
59
-
60
- ## 출력 예시
61
-
62
- ```
63
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
64
- 📡 Lane 상태 모니터링
65
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
66
-
67
- Run: 01-dashboard-2025-12-19T18-30-00
68
-
69
- - 01-dashboard: running (2/3)
70
- - 02-client: completed (3/3)
71
- - 03-projects: blocked_dependency (1/2)
72
- ```
73
-
74
- ## 로그 조회
75
-
76
- ### 대화 기록
77
- ```bash
78
- cat _cursorflow/logs/runs/01-dashboard-xxx/conversation.jsonl | jq
79
- ```
80
-
81
- ### Git 작업 로그
82
- ```bash
83
- cat _cursorflow/logs/runs/01-dashboard-xxx/git-operations.jsonl | jq
84
- ```
85
-
86
- ### 이벤트 로그
87
- ```bash
88
- cat _cursorflow/logs/runs/01-dashboard-xxx/events.jsonl | jq
89
- ```
90
-
91
- ## 상태 분석
92
-
93
- ### 레인별 진행률
94
- ```bash
95
- # 모든 레인의 state.json 확인
96
- for state in _cursorflow/logs/runs/*/lanes/*/state.json; do
97
- echo "$(dirname $state):"
98
- jq '.status, .currentTaskIndex, .totalTasks' $state
99
- done
100
- ```
101
-
102
- ### 실패한 레인 찾기
103
- ```bash
104
- # status failed인 레인
105
- find _cursorflow/logs/runs -name "state.json" -exec sh -c \
106
- 'jq -r "select(.status==\"failed\") | .label" {}' \;
107
- ```
108
-
109
- ## Checklist
110
- - [ ] 레인 상태가 정상인가?
111
- - [ ] 에러가 발생했는가?
112
- - [ ] 로그를 확인했는가?
113
- - [ ] Blocked lane이 있는가?
114
- - [ ] 의존성 문제는 없는가?
115
-
116
- ## 트러블슈팅
117
-
118
- ### 레인이 멈춘 경우
119
- 1. `state.json`에서 상태 확인
120
- 2. `conversation.jsonl`에서 마지막 대화 확인
121
- 3. 필요시 `cursorflow resume <lane>`로 재개
122
-
123
- ### 로그가 없는 경우
124
- 1. 실행이 시작되었는지 확인
125
- 2. 로그 디렉토리 권한 확인
126
- 3. 설정 파일의 logsDir 경로 확인
127
-
128
- ## Next Steps
129
- 1. 문제 발견 `cursorflow resume`로 재개
130
- 2. 완료된 레인의 PR 확인
131
- 3. 로그 분석으로 개선점 파악
1
+ # CursorFlow Monitor
2
+
3
+ ## Overview
4
+ Monitor lane execution status. Track progress in real time and inspect logs.
5
+
6
+ ## Steps
7
+
8
+ 1. **Monitor in real time**
9
+ ```bash
10
+ cursorflow monitor --watch
11
+ ```
12
+
13
+ 2. **Monitor a specific run**
14
+ ```bash
15
+ cursorflow monitor _cursorflow/logs/runs/my-run/
16
+ ```
17
+
18
+ 3. **Check status**
19
+
20
+ Lane status values:
21
+ - pending: waiting
22
+ - running: in progress
23
+ - completed: finished
24
+ - failed: failed
25
+ - blocked_dependency: waiting on dependencies
26
+
27
+ 4. **Inspect logs**
28
+
29
+ Per-lane log files:
30
+ - `state.json`: current status
31
+ - `conversation.jsonl`: agent conversation
32
+ - `git-operations.jsonl`: Git activity
33
+ - `events.jsonl`: event log
34
+
35
+ ## Options
36
+
37
+ | Option | Description |
38
+ |------|------|
39
+ | `--watch` | Refresh in real time (every 2 seconds) |
40
+ | `--interval <sec>` | Refresh interval in seconds |
41
+ | `--json` | Output in JSON format |
42
+
43
+ ## Examples
44
+
45
+ ### Monitor the latest run
46
+ ```bash
47
+ cursorflow monitor
48
+ ```
49
+
50
+ ### Real-time monitoring (5-second interval)
51
+ ```bash
52
+ cursorflow monitor --watch --interval 5
53
+ ```
54
+
55
+ ### JSON output
56
+ ```bash
57
+ cursorflow monitor --json | jq
58
+ ```
59
+
60
+ ## Sample output
61
+
62
+ ```
63
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
64
+ 📡 Lane Status Monitoring
65
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
66
+
67
+ Run: 01-dashboard-2025-12-19T18-30-00
68
+
69
+ - 01-dashboard: running (2/3)
70
+ - 02-client: completed (3/3)
71
+ - 03-projects: blocked_dependency (1/2)
72
+ ```
73
+
74
+ ## Viewing logs
75
+
76
+ ### Conversation history
77
+ ```bash
78
+ cat _cursorflow/logs/runs/01-dashboard-xxx/conversation.jsonl | jq
79
+ ```
80
+
81
+ ### Git activity log
82
+ ```bash
83
+ cat _cursorflow/logs/runs/01-dashboard-xxx/git-operations.jsonl | jq
84
+ ```
85
+
86
+ ### Event log
87
+ ```bash
88
+ cat _cursorflow/logs/runs/01-dashboard-xxx/events.jsonl | jq
89
+ ```
90
+
91
+ ## Status analysis
92
+
93
+ ### Progress per lane
94
+ ```bash
95
+ # Inspect state.json for all lanes
96
+ for state in _cursorflow/logs/runs/*/lanes/*/state.json; do
97
+ echo "$(dirname $state):"
98
+ jq '.status, .currentTaskIndex, .totalTasks' $state
99
+ done
100
+ ```
101
+
102
+ ### Find failed lanes
103
+ ```bash
104
+ # Lanes where status is failed
105
+ find _cursorflow/logs/runs -name "state.json" -exec sh -c \
106
+ 'jq -r "select(.status==\"failed\") | .label" {}' \;
107
+ ```
108
+
109
+ ## Checklist
110
+ - [ ] Are lane states healthy?
111
+ - [ ] Did any errors occur?
112
+ - [ ] Have the logs been reviewed?
113
+ - [ ] Are any lanes blocked?
114
+ - [ ] Are there dependency issues?
115
+
116
+ ## Troubleshooting
117
+
118
+ ### Lane is stuck
119
+ 1. Check status in `state.json`.
120
+ 2. Inspect the last conversation in `conversation.jsonl`.
121
+ 3. Resume if needed with `cursorflow resume <lane>`.
122
+
123
+ ### Logs are missing
124
+ 1. Confirm the run actually started.
125
+ 2. Check log directory permissions.
126
+ 3. Verify the `logsDir` path in the config file.
127
+
128
+ ## Next steps
129
+ 1. If you find issues, resume with `cursorflow resume`.
130
+ 2. Review PRs for completed lanes.
131
+ 3. Analyze logs to identify improvements.
@@ -1,134 +1,134 @@
1
- # CursorFlow Prepare
2
-
3
- ## Overview
4
- Feature에 대한 태스크 파일을 준비합니다. Feature 정보를 수집하고 레인별 JSON 파일을 생성합니다.
5
-
6
- ## 필수 참조
7
- - 패키지 문서: `node_modules/@cursorflow/orchestrator/docs/GUIDE.md`
8
- - 모델 목록: 터미널에서 `cursorflow models --list` 실행
9
-
10
- ## Steps
11
-
12
- 1. **Feature 정보 수집**
13
-
14
- 사용자에게 다음 정보를 확인합니다:
15
- ```
16
- 📋 태스크 준비 정보
17
- ================
18
-
19
- 1. Feature 이름: [예: SchemaUpdate, AdminDashboard]
20
- 2. 레인 개수: [예: 3]
21
- 3. 레인별 작업 내용:
22
- - Lane 1: [작업 설명]
23
- - Lane 2: [작업 설명]
24
- - ...
25
- 4. 의존성 변경 필요 여부: [Y/N]
26
- 5. 참조할 기존 태스크 (선택): [경로 또는 N]
27
- ```
28
-
29
- 2. **태스크 폴더 생성**
30
- ```bash
31
- # 타임스탬프 기반 폴더명 생성 (YYMMDDHHMM - 10자리)
32
- TIMESTAMP=$(date +%y%m%d%H%M)
33
- FEATURE_NAME="<사용자 입력>"
34
- TASK_DIR="_cursorflow/tasks/${TIMESTAMP}_${FEATURE_NAME}"
35
-
36
- mkdir -p "$TASK_DIR"
37
- ```
38
-
39
- 3. **태스크 JSON 템플릿**
40
-
41
- 레인마다 다음 구조의 JSON 파일을 생성합니다:
42
- ```json
43
- {
44
- "repository": "https://github.com/org/repo",
45
- "baseBranch": "main",
46
- "branchPrefix": "<feature>/<lane>-",
47
- "executor": "cursor-agent",
48
- "autoCreatePr": false,
49
- "allowDependencyChange": false,
50
- "lockfileReadOnly": true,
51
- "pollInterval": 60,
52
-
53
- "laneNumber": 1,
54
- "devPort": 3001,
55
-
56
- "enableReview": true,
57
- "reviewModel": "sonnet-4.5-thinking",
58
- "maxReviewIterations": 3,
59
-
60
- "tasks": [
61
- {
62
- "name": "plan",
63
- "model": "opus-4.5-thinking",
64
- "acceptanceCriteria": [
65
- "계획서 파일 생성됨"
66
- ],
67
- "prompt": "..."
68
- }
69
- ]
70
- }
71
- ```
72
-
73
- 4. **모델 선택 가이드**
74
-
75
- | 모델 | 용도 | 비고 |
76
- |------|------|------|
77
- | `sonnet-4.5` | 일반 구현, 빠른 작업 | 가장 범용적 |
78
- | `sonnet-4.5-thinking` | 코드 리뷰, 추론 강화 | Thinking 모델 |
79
- | `opus-4.5` | 복잡한 작업, 고품질 | 고급 모델 |
80
- | `opus-4.5-thinking` | 아키텍처 설계 | 최고급 |
81
- | `gpt-5.2` | 일반 작업용 | OpenAI |
82
- | `gpt-5.2-high` | 고급 추론 | 고성능 |
83
-
84
- 5. **생성 결과 확인**
85
- ```
86
- 태스크 준비 완료
87
- =================
88
-
89
- 폴더: _cursorflow/tasks/<timestamp>_<feature>/
90
- 생성된 파일:
91
- - 01-<lane1>.json
92
- - 02-<lane2>.json
93
- - ...
94
- - README.md
95
-
96
- 다음 명령어로 실행:
97
- cursorflow run _cursorflow/tasks/<timestamp>_<feature>/
98
- ```
99
-
100
- ## 예제
101
-
102
- ### 단일 레인 태스크
103
- ```bash
104
- cursorflow prepare MyFeature --lanes 1
105
- ```
106
-
107
- ### 멀티 레인 태스크
108
- ```bash
109
- cursorflow prepare AdminDashboard --lanes 5
110
- ```
111
-
112
- ### 커스텀 템플릿 사용
113
- ```bash
114
- cursorflow prepare MyFeature --template ./my-template.json
115
- ```
116
-
117
- ## Checklist
118
- - [ ] Feature 이름이 명확한가?
119
- - [ ] 레인별 작업이 정의되었는가?
120
- - [ ] 모델 선택이 적절한가?
121
- - [ ] 의존성 변경 필요 여부를 확인했는가?
122
- - [ ] Acceptance Criteria가 명확한가?
123
- - [ ] 생성된 파일들을 검토했는가?
124
-
125
- ## 주의사항
126
- 1. **모델명**: 유효한 모델만 사용 (models 명령으로 확인)
127
- 2. **경로**: 태스크는 항상 `_cursorflow/tasks/`에 생성
128
- 3. **브랜치 프리픽스**: 충돌하지 않도록 고유하게 설정
129
- 4. **devPort**: 레인마다 고유한 포트 (3001, 3002, ...)
130
-
131
- ## Next Steps
132
- 1. 생성된 JSON 파일들을 프로젝트에 맞게 수정
133
- 2. 프롬프트 내용을 상세하게 작성
134
- 3. `cursorflow run`으로 태스크 실행
1
+ # CursorFlow Prepare
2
+
3
+ ## Overview
4
+ Prepare task files for a new feature by gathering requirements and generating lane-specific JSON files.
5
+
6
+ ## Required references
7
+ - Package docs: `node_modules/@litmers/cursorflow-orchestrator/docs/GUIDE.md`
8
+ - Model list: run `cursorflow models --list` in the terminal
9
+
10
+ ## Steps
11
+
12
+ 1. **Collect feature information**
13
+
14
+ Confirm the following details with the requester:
15
+ ```
16
+ 📋 Task Preparation Info
17
+ =======================
18
+
19
+ 1. Feature name: [e.g., SchemaUpdate, AdminDashboard]
20
+ 2. Number of lanes: [e.g., 3]
21
+ 3. Work per lane:
22
+ - Lane 1: [description]
23
+ - Lane 2: [description]
24
+ - ...
25
+ 4. Need dependency changes? [Y/N]
26
+ 5. Existing task to reference (optional): [path or N]
27
+ ```
28
+
29
+ 2. **Create the task folder**
30
+ ```bash
31
+ # Timestamp-based folder name (YYMMDDHHMM - 10 digits)
32
+ TIMESTAMP=$(date +%y%m%d%H%M)
33
+ FEATURE_NAME="<user input>"
34
+ TASK_DIR="_cursorflow/tasks/${TIMESTAMP}_${FEATURE_NAME}"
35
+
36
+ mkdir -p "$TASK_DIR"
37
+ ```
38
+
39
+ 3. **Task JSON template**
40
+
41
+ Create one JSON file per lane using this structure:
42
+ ```json
43
+ {
44
+ "repository": "https://github.com/org/repo",
45
+ "baseBranch": "main",
46
+ "branchPrefix": "<feature>/<lane>-",
47
+ "executor": "cursor-agent",
48
+ "autoCreatePr": false,
49
+ "allowDependencyChange": false,
50
+ "lockfileReadOnly": true,
51
+ "pollInterval": 60,
52
+
53
+ "laneNumber": 1,
54
+ "devPort": 3001,
55
+
56
+ "enableReview": true,
57
+ "reviewModel": "sonnet-4.5-thinking",
58
+ "maxReviewIterations": 3,
59
+
60
+ "tasks": [
61
+ {
62
+ "name": "plan",
63
+ "model": "opus-4.5-thinking",
64
+ "acceptanceCriteria": [
65
+ "Plan document created"
66
+ ],
67
+ "prompt": "..."
68
+ }
69
+ ]
70
+ }
71
+ ```
72
+
73
+ 4. **Model selection guide**
74
+
75
+ | Model | Purpose | Notes |
76
+ |------|------|------|
77
+ | `sonnet-4.5` | General implementation, fast work | Most versatile |
78
+ | `sonnet-4.5-thinking` | Code review, deeper reasoning | Thinking model |
79
+ | `opus-4.5` | Complex tasks, high quality | Advanced |
80
+ | `opus-4.5-thinking` | Architecture design | Premium |
81
+ | `gpt-5.2` | General tasks | OpenAI |
82
+ | `gpt-5.2-high` | Advanced reasoning | High performance |
83
+
84
+ 5. **Verify the output**
85
+ ```
86
+ Task preparation complete
87
+ ===========================
88
+
89
+ Folder: _cursorflow/tasks/<timestamp>_<feature>/
90
+ Files created:
91
+ - 01-<lane1>.json
92
+ - 02-<lane2>.json
93
+ - ...
94
+ - README.md
95
+
96
+ Run with:
97
+ cursorflow run _cursorflow/tasks/<timestamp>_<feature>/
98
+ ```
99
+
100
+ ## Examples
101
+
102
+ ### Single-lane task
103
+ ```bash
104
+ cursorflow prepare MyFeature --lanes 1
105
+ ```
106
+
107
+ ### Multi-lane task
108
+ ```bash
109
+ cursorflow prepare AdminDashboard --lanes 5
110
+ ```
111
+
112
+ ### Using a custom template
113
+ ```bash
114
+ cursorflow prepare MyFeature --template ./my-template.json
115
+ ```
116
+
117
+ ## Checklist
118
+ - [ ] Is the feature name clear?
119
+ - [ ] Is the work for each lane defined?
120
+ - [ ] Is the model selection appropriate?
121
+ - [ ] Have dependency changes been confirmed?
122
+ - [ ] Are the acceptance criteria clear?
123
+ - [ ] Have the generated files been reviewed?
124
+
125
+ ## Notes
126
+ 1. **Model names**: Use only valid models (check with the `models` command).
127
+ 2. **Paths**: Always create tasks under `_cursorflow/tasks/`.
128
+ 3. **Branch prefix**: Make it unique to avoid collisions.
129
+ 4. **devPort**: Use unique ports per lane (3001, 3002, ...).
130
+
131
+ ## Next steps
132
+ 1. Tailor the generated JSON files to the project.
133
+ 2. Write detailed prompts.
134
+ 3. Run the tasks with `cursorflow run`.