muno-claude-plugin 1.16.1 → 1.16.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "muno-claude-plugin",
3
- "version": "1.16.1",
3
+ "version": "1.16.2",
4
4
  "description": "Unleash Claude Code's full power - Complete development workflow with expert personas, TDD-based agents, and automated documentation",
5
5
  "main": "bin/cli.js",
6
6
  "bin": {
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: task-executor
3
+ description: |
4
+ Executes a single Task: reads Task file, generates unit tests (TDD), implements code,
5
+ runs tests, calls code-reviewer, and updates status. Called by bulk-executor for parallel execution.
6
+ tools: Read, Write, Edit, Bash, Glob, Grep, Task
7
+ model: sonnet
8
+ ---
9
+
10
+ # Task Executor
11
+
12
+ ## 역할
13
+
14
+ **단일 Task 파일을 받아서 구현 완료**까지 수행.
15
+ - bulk-executor가 병렬로 호출
16
+ - 각 Task는 독립적인 컨텍스트에서 실행
17
+
18
+ ---
19
+
20
+ ## 입력
21
+
22
+ Task 파일 경로 (예: `documents/epics/.../tasks/task-001.md`)
23
+
24
+ ---
25
+
26
+ ## 실행 절차
27
+
28
+ ### 1. 준비
29
+ ```
30
+ 1. Task 파일 읽기
31
+ 2. CLAUDE.md 읽기 → 기술 스택, 컨벤션 파악
32
+ 3. 관련 코드 탐색 (Glob, Grep)
33
+ ```
34
+
35
+ ### 2. TDD Red Phase
36
+ ```
37
+ 1. Task의 Acceptance Criteria, Test Scenarios 확인
38
+ 2. Unit Test 생성 (실패하는 테스트)
39
+ 3. 테스트 실행 → 실패 확인
40
+ ```
41
+
42
+ ### 3. TDD Green Phase
43
+ ```
44
+ 1. 테스트 통과하도록 코드 구현
45
+ 2. 프로젝트 컨벤션 따르기
46
+ 3. 테스트 실행 → 통과 확인
47
+ ```
48
+
49
+ ### 4. 코드 리뷰
50
+ ```
51
+ Task 도구로 code-reviewer subagent 호출:
52
+ - subagent_type: "code-reviewer"
53
+ - prompt: "방금 구현한 코드 리뷰해줘: {변경된 파일 목록}"
54
+
55
+ 리뷰 결과에 문제 있으면 수정 후 재리뷰
56
+ ```
57
+
58
+ ### 5. 완료
59
+ ```
60
+ 1. Task 파일 status: todo → done 업데이트
61
+ 2. 결과 리포트 반환
62
+ ```
63
+
64
+ ---
65
+
66
+ ## 출력
67
+
68
+ ```markdown
69
+ ## Task 실행 완료
70
+
71
+ - **Task**: {task-id}
72
+ - **상태**: done
73
+ - **생성 파일**: {파일 목록}
74
+ - **테스트**: PASSED
75
+ ```
76
+
77
+ ---
78
+
79
+ ## 실패 시
80
+
81
+ ```markdown
82
+ ## Task 실행 실패
83
+
84
+ - **Task**: {task-id}
85
+ - **상태**: blocked
86
+ - **원인**: {에러 메시지}
87
+ - **필요 조치**: {해결 방안}
88
+ ```
@@ -1,65 +1,90 @@
1
1
  ---
2
2
  name: bulk-executor
3
3
  description: |
4
- Executes all TODO status Tasks from documents/ directory sequentially in one batch operation.
5
- Use when user requests "execute 100 tasks", "implement all tasks", "bulk execute", "run all todos",
6
- "모든 task 실행", "일괄 처리". Automatically triggers code-reviewer, unit-test-generator, and
7
- task-tracker subagents after each Task. For uninterrupted bulk execution, combine with Ralph Wiggum:
8
- /ralph-loop "/bulk-executor" --max-iterations 100
9
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite
4
+ Executes multiple TODO status Tasks in parallel by spawning task-executor subagents.
5
+ Use when user requests "execute all tasks", "implement all tasks", "bulk execute",
6
+ "모든 task 실행", "일괄 처리". Each Task runs in isolated context for stability.
7
+ allowed-tools: Read, Glob, Grep, Task
10
8
  ---
11
9
 
12
10
  # Bulk Task Executor
13
11
 
14
- @.claude/personas/dev.md
12
+ ## 역할
15
13
 
16
- ## 개요
17
-
18
- documents/ 디렉터리의 모든 `status: todo` Task를 한 번에 순차 실행합니다.
14
+ `status: todo`인 Task들을 **병렬로 실행**.
15
+ - 각 Task는 `task-executor` subagent가 독립적으로 처리
16
+ - 컨텍스트 분리로 안정성 확보
19
17
 
20
18
  ---
21
19
 
22
- ## 워크플로우 (요약)
20
+ ## 실행 절차
23
21
 
22
+ ### 1. Task 수집
23
+ ```
24
+ 1. Glob: documents/**/task-*.md 검색
25
+ 2. 각 파일에서 status: todo 필터링
26
+ 3. 의존성 순서 정렬 (depends_on 있으면)
24
27
  ```
25
- 1. Glob: documents/**/*.md 검색
26
- 2. Frontmatter status: todo 필터링
27
- 3. 의존성 순서 정렬 (depends_on 기반)
28
- 4. Task 순차 실행:
29
- a. status: todo → inprogress
30
- b. Task 구현
31
- c. unit-test-generator 호출
32
- d. code-reviewer 호출
33
- e. status: inprogress → close
34
- f. task-tracker 호출
35
- 5. 전체 완료 리포트
28
+
29
+ ### 2. 병렬 실행
30
+ ```
31
+ Task 도구로 task-executor subagent 병렬 호출:
32
+
33
+ Task(
34
+ subagent_type: "task-executor",
35
+ prompt: "이 Task를 구현해줘: {task-file-path}",
36
+ run_in_background: true
37
+ )
38
+ ```
39
+
40
+ ### 3. 결과 수집
41
+ ```
42
+ TaskOutput으로 각 subagent 결과 수집
36
43
  ```
37
44
 
38
45
  ---
39
46
 
40
- ## Reference Materials
47
+ ## 병렬 실행 방법
48
+
49
+ **한 메시지에서 여러 Task 도구 호출** = 병렬 실행
41
50
 
42
- - **[실행 로직](reference/execution-logic.md)** - 의존성 해결 및 순서
43
- - **[에러 처리](reference/error-handling.md)** - 실패 시 대응 전략
51
+ ```json
52
+ // 동시에 3개 호출 (한 응답에서)
53
+ { "tool": "Task", "subagent_type": "task-executor", "prompt": "구현: task-001.md", "run_in_background": true }
54
+ { "tool": "Task", "subagent_type": "task-executor", "prompt": "구현: task-002.md", "run_in_background": true }
55
+ { "tool": "Task", "subagent_type": "task-executor", "prompt": "구현: task-003.md", "run_in_background": true }
44
56
 
45
- ### Quick Reference
46
- - 의존성 자동 해결:
47
- - 병렬 실행: ❌ (순차만)
48
- - 중단 후 재개: ✅ (status 기반)
49
- - Ralph Wiggum 연동: ✅
57
+ // 결과 수집
58
+ { "tool": "TaskOutput", "task_id": "{반환된 agent ID}", "block": true }
59
+ ```
50
60
 
51
61
  ---
52
62
 
53
- ## Ralph Wiggum 연동
63
+ ## 출력
64
+
65
+ ```markdown
66
+ ## Bulk Execution 완료
67
+
68
+ ### 성공: {N}개
69
+ | Task | 상태 | 생성 파일 |
70
+ |------|------|----------|
71
+ | task-001 | done | UserService.kt |
72
+ | task-002 | done | UserRepository.kt |
73
+
74
+ ### 실패: {M}개
75
+ | Task | 원인 |
76
+ |------|------|
77
+ | task-003 | 의존성 누락 |
54
78
 
55
- **무한 실행 모드**:
56
- ```bash
57
- /ralph-loop "/bulk-executor" --max-iterations 100
79
+ ### 다음 단계
80
+ 실패한 Task는 원인 해결 후 재실행
58
81
  ```
59
82
 
60
83
  ---
61
84
 
62
- ## 관련 Skills
85
+ ## 옵션
63
86
 
64
- - `/task-generator`: Task 생성
65
- - Subagents: `unit-test-generator`, `code-reviewer`, `task-tracker` (자동 호출)
87
+ | 옵션 | 설명 | 기본값 |
88
+ |------|------|--------|
89
+ | 병렬 개수 | 동시 실행 subagent 수 | 5 |
90
+ | 순차 모드 | 의존성 있으면 순차 실행 | auto |
@@ -1,352 +0,0 @@
1
- # Ralph Wiggum 플러그인 연동 가이드
2
-
3
- **bulk-executor 스킬과 Ralph를 함께 사용하여 100개 이상의 Task를 중단 없이 처리하는 방법입니다.**
4
-
5
- ---
6
-
7
- ## Ralph Wiggum이란?
8
-
9
- **Claude Code의 자동 종료를 감지하고 재시작하는 플러그인입니다.**
10
-
11
- ### 왜 필요한가?
12
-
13
- Claude Code는 작업이 "완료"되었다고 판단하면 자동으로 종료합니다. 하지만 100개의 Task를 처리하는 도중에는:
14
-
15
- ```
16
- /bulk-executor 실행
17
-
18
- TASK-001~015 구현 (약 2시간)
19
-
20
- Claude Code: "작업 완료!" (자동 종료 시도)
21
-
22
- ❌ 나머지 85개 Task는?
23
- ```
24
-
25
- **Ralph가 이 문제를 해결합니다:**
26
-
27
- ```
28
- Ralph 실행
29
-
30
- /bulk-executor 실행
31
-
32
- TASK-001~015 구현
33
-
34
- Claude Code 종료 시도
35
-
36
- Ralph: "아직 TODO가 남았어!" (재시작)
37
-
38
- TASK-016~030 구현
39
-
40
- 반복...
41
-
42
- ✅ 모든 100개 Task 완료
43
- ```
44
-
45
- ---
46
-
47
- ## 설치 방법
48
-
49
- ### 1. Ralph 저장소 클론
50
-
51
- ```bash
52
- git clone https://github.com/frankbria/ralph-claude-code.git
53
- cd ralph-claude-code
54
- ```
55
-
56
- ### 2. 설치 스크립트 실행
57
-
58
- ```bash
59
- ./install.sh
60
- ```
61
-
62
- ### 3. 설치 확인
63
-
64
- ```bash
65
- # Claude Code 재시작 후
66
- /ralph-loop --help
67
- ```
68
-
69
- ---
70
-
71
- ## 기본 사용법
72
-
73
- ### 단순 실행
74
-
75
- ```bash
76
- /ralph-loop "/bulk-executor" --max-iterations 100
77
- ```
78
-
79
- **옵션:**
80
- - `--max-iterations`: 최대 반복 횟수 (기본: 50)
81
- - `--completion-promise`: 완료 조건 (선택)
82
-
83
- ### 완료 조건 지정
84
-
85
- ```bash
86
- /ralph-loop "/bulk-executor" \
87
- --max-iterations 100 \
88
- --completion-promise "모든 TODO Task 완료됨"
89
- ```
90
-
91
- **Ralph는 다음 조건에서 종료:**
92
- 1. `--max-iterations` 도달
93
- 2. `--completion-promise` 메시지 감지
94
- 3. 사용자가 `/cancel-ralph` 실행
95
-
96
- ---
97
-
98
- ## 고급 사용법
99
-
100
- ### Feature별 실행
101
-
102
- ```bash
103
- /ralph-loop "/bulk-executor --feature=auth" --max-iterations 50
104
- ```
105
-
106
- ### 실패한 Task만 재시도
107
-
108
- ```bash
109
- /ralph-loop "/bulk-executor --failed-only" --max-iterations 30
110
- ```
111
-
112
- ### Dry Run으로 사전 확인
113
-
114
- ```bash
115
- # 먼저 dry run으로 확인
116
- /bulk-executor --dry-run
117
-
118
- # 확인 후 Ralph로 실행
119
- /ralph-loop "/bulk-executor" --max-iterations 100
120
- ```
121
-
122
- ---
123
-
124
- ## 모니터링
125
-
126
- ### 진행 상황 확인
127
-
128
- **Ralph는 백그라운드에서 실행되므로 진행 상황을 확인하려면:**
129
-
130
- 1. **TodoWrite 목록 확인**
131
- - Claude Code의 todo 목록에 실시간 반영
132
-
133
- 2. **로그 파일 확인**
134
- ```bash
135
- tail -f .errors/*.log
136
- ```
137
-
138
- 3. **Task 파일 직접 확인**
139
- ```bash
140
- grep -r "status: done" documents/issues/
141
- ```
142
-
143
- ### 알림 설정 (선택)
144
-
145
- **Ralph 완료 시 푸시 알림 받기:**
146
-
147
- ```bash
148
- # .claude/hooks/post-ralph.sh 생성
149
- #!/bin/bash
150
- curl -s -F "token=$PUSHOVER_TOKEN" \
151
- -F "user=$PUSHOVER_USER" \
152
- -F "message=Ralph 실행 완료: $(date)" \
153
- https://api.pushover.net/1/messages.json
154
- ```
155
-
156
- ---
157
-
158
- ## 비용 관리
159
-
160
- ### 예상 토큰 사용량
161
-
162
- | Task 수 | 평균 토큰/Task | 총 토큰 | 예상 비용 (Sonnet) |
163
- |--------|--------------|--------|-------------------|
164
- | 10개 | 50K | 500K | $1.50 |
165
- | 50개 | 50K | 2.5M | $7.50 |
166
- | 100개 | 50K | 5M | $15.00 |
167
-
168
- **절약 팁:**
169
- - `--max-iterations`를 적절히 설정
170
- - 간단한 Task는 Haiku 모델 사용 고려
171
- - Dry run으로 사전 확인
172
-
173
- ### Iteration 제한 설정
174
-
175
- ```bash
176
- # 안전하게 시작 (30번 반복)
177
- /ralph-loop "/bulk-executor" --max-iterations 30
178
-
179
- # 완료 안 되면 다시 실행
180
- /ralph-loop "/bulk-executor" --max-iterations 30
181
- ```
182
-
183
- ---
184
-
185
- ## 문제 해결
186
-
187
- ### Ralph가 종료되지 않음
188
-
189
- **원인:** `--completion-promise` 조건이 충족되지 않음
190
-
191
- **해결:**
192
- ```bash
193
- # 다른 터미널에서
194
- /cancel-ralph
195
- ```
196
-
197
- ### 중간에 에러 발생
198
-
199
- **Ralph는 에러 발생 시에도 계속 진행합니다.**
200
-
201
- **확인:**
202
- ```bash
203
- # 에러 로그 확인
204
- ls -la .errors/
205
-
206
- # 특정 Task 에러 확인
207
- cat .errors/TASK-023-error.log
208
- ```
209
-
210
- ### 같은 Task 반복 실행
211
-
212
- **원인:** Task의 status가 업데이트되지 않음
213
-
214
- **해결:**
215
- 1. Task frontmatter 확인
216
- 2. 수동으로 status 업데이트
217
- 3. Ralph 재시작
218
-
219
- ---
220
-
221
- ## Best Practices
222
-
223
- ### 1. 점진적 실행
224
-
225
- ```bash
226
- # Phase 1: 10개 Task로 테스트
227
- /ralph-loop "/bulk-executor --feature=auth" --max-iterations 20
228
-
229
- # Phase 2: 전체 실행
230
- /ralph-loop "/bulk-executor" --max-iterations 100
231
- ```
232
-
233
- ### 2. 정기적 체크포인트
234
-
235
- **10개 Task마다 수동 확인:**
236
-
237
- ```bash
238
- # 10개 실행
239
- /ralph-loop "/bulk-executor" --max-iterations 15
240
-
241
- # 결과 확인
242
- grep -r "status: done" documents/issues/ | wc -l
243
-
244
- # 이상 없으면 계속
245
- /ralph-loop "/bulk-executor" --max-iterations 15
246
- ```
247
-
248
- ### 3. 에러 로그 모니터링
249
-
250
- ```bash
251
- # 별도 터미널에서
252
- watch -n 10 "ls -lh .errors/ | tail -5"
253
- ```
254
-
255
- ### 4. Git 커밋 주기 설정
256
-
257
- **10개 Task마다 자동 커밋:**
258
-
259
- ```bash
260
- # .claude/hooks/post-task.sh
261
- #!/bin/bash
262
- DONE_COUNT=$(grep -r "status: done" documents/issues/ | wc -l)
263
- if [ $((DONE_COUNT % 10)) -eq 0 ]; then
264
- git add .
265
- git commit -m "feat: Complete ${DONE_COUNT} tasks"
266
- fi
267
- ```
268
-
269
- ---
270
-
271
- ## 성능 최적화
272
-
273
- ### Context 관리
274
-
275
- **Ralph는 각 iteration마다 컨텍스트를 유지합니다.**
276
-
277
- **최적화 팁:**
278
- - 큰 로그 파일은 `.gitignore`에 추가
279
- - 빌드 산출물은 정리
280
- - 완료된 Task 파일은 아카이브
281
-
282
- ```bash
283
- # 빌드 산출물 정리
284
- echo "build/" >> .gitignore
285
- echo "*.log" >> .gitignore
286
- ```
287
-
288
- ### 병렬 처리 (실험적)
289
-
290
- **여러 Feature를 병렬로 처리:**
291
-
292
- ```bash
293
- # Terminal 1
294
- /ralph-loop "/bulk-executor --feature=auth" --max-iterations 50
295
-
296
- # Terminal 2
297
- /ralph-loop "/bulk-executor --feature=payment" --max-iterations 50
298
- ```
299
-
300
- **주의:** Git conflict 가능성 있음
301
-
302
- ---
303
-
304
- ## 체크리스트
305
-
306
- ### 실행 전
307
- - [ ] Ralph 플러그인 설치 확인
308
- - [ ] `--max-iterations` 적절히 설정
309
- - [ ] Dry run으로 Task 목록 확인
310
- - [ ] 에러 로그 디렉터리 준비
311
-
312
- ### 실행 중
313
- - [ ] 진행 상황 주기적 확인
314
- - [ ] 에러 로그 모니터링
315
- - [ ] 토큰 사용량 체크
316
-
317
- ### 실행 후
318
- - [ ] 완료 리포트 확인
319
- - [ ] 실패한 Task 재시도
320
- - [ ] Git 커밋
321
- - [ ] task-tracker로 상태 동기화
322
-
323
- ---
324
-
325
- ## FAQ
326
-
327
- ### Q: Ralph 없이 bulk-executor만 사용할 수 있나요?
328
-
329
- **A:** 네, 가능합니다. 하지만 대량의 Task (50개 이상)는 중간에 멈출 수 있습니다.
330
-
331
- ### Q: --max-iterations는 어떻게 설정하나요?
332
-
333
- **A:** Task 수의 1.5~2배를 권장합니다. 예: 100개 Task → 150~200 iterations
334
-
335
- ### Q: Ralph가 무한 루프에 빠질 수 있나요?
336
-
337
- **A:** `--max-iterations`로 제한되므로 안전합니다.
338
-
339
- ### Q: 비용이 너무 높은데요?
340
-
341
- **A:**
342
- 1. Dry run으로 사전 확인
343
- 2. Feature별로 나눠서 실행
344
- 3. 간단한 Task는 Haiku 모델 사용
345
-
346
- ---
347
-
348
- ## 참고 링크
349
-
350
- - Ralph 공식 저장소: https://github.com/frankbria/ralph-claude-code
351
- - Claude Code 공식 문서: https://claude.ai/code
352
- - 비용 계산기: https://anthropic.com/pricing