بنقرة واحدة
autodev
// Ralph Loop 기반 자율 개발 루프. Stop Hook이 세션 종료를 가로채어 PRD 항목을 하나씩 완료하며 자동 커밋한다. 트리거: "autodev", "자율 개발", "밤새 돌려", "랄프 루프", "ralph loop", "자동 개발" 안티-트리거: "직접 구현해", "한번만 해", "수동"
// Ralph Loop 기반 자율 개발 루프. Stop Hook이 세션 종료를 가로채어 PRD 항목을 하나씩 완료하며 자동 커밋한다. 트리거: "autodev", "자율 개발", "밤새 돌려", "랄프 루프", "ralph loop", "자동 개발" 안티-트리거: "직접 구현해", "한번만 해", "수동"
현재 브랜치의 변경사항 코드 리뷰. Codex + Claude 듀얼 리뷰. 트리거: "리뷰", "review", "검토", "코드 리뷰", "PR 리뷰", "변경사항 확인" 안티-트리거: "구현", "코드 작성", "빌드"
코드 단순화 및 리팩토링 — 변경된 코드를 리뷰하고 불필요한 추상화, 중복, 복잡성을 제거합니다. Triggers on: 단순화, simplify, 리팩토링, 코드 정리, 코드 개선. NOT for: 새 기능 추가, 버그 수정.
작업 완료 후 코드 검증 (타입체크, 린트, 테스트, 빌드). Triggers on: 검증, verify, 테스트 돌려, 빌드 확인, 타입체크. NOT for: E2E 테스트, 코드 작성, 구현.
Ralph Loop 병렬 버전. 여러 에이전트가 worktree에서 동시에 PRD 항목을 처리한다. 트리거: "병렬 실험", "autodev parallel", "동시에 실험", "워크트리 실험", "병렬 랄프" 안티-트리거: "순차 실험", "하나씩"
변경사항 커밋, 푸시, PR 생성을 한 번에 수행하는 워크플로우. 트리거: "커밋", "PR 만들어", "푸시해", "PR 생성", "commit and push", "커밋하고 푸시", "PR 올려" 안티-트리거: "코드 리뷰", "git log 확인", "diff 보여줘", "브랜치 목록"
개발 완료 후 피처 기반 E2E 테스트 작성 및 실행. /verify 이후 실제 사용자 플로우를 검증합니다. Triggers on: e2e 검증, e2e-verify, E2E 테스트, 브라우저 테스트 실행. NOT for: 유닛 테스트, 타입체크, 빌드 검증.
| name | autodev |
| description | Ralph Loop 기반 자율 개발 루프. Stop Hook이 세션 종료를 가로채어 PRD 항목을 하나씩 완료하며 자동 커밋한다. 트리거: "autodev", "자율 개발", "밤새 돌려", "랄프 루프", "ralph loop", "자동 개발" 안티-트리거: "직접 구현해", "한번만 해", "수동" |
| user-invocable | true |
| disable-model-invocation | false |
| allowed-tools | Read, Write, Edit, Bash, Grep, Glob, Agent |
Stop Hook 기반 자율 개발 루프. PRD/체크리스트의 항목을 하나씩 완료하고 자동 커밋한다. 밤새 돌려놓으면 출근 시 PR이 올라와 있다.
세션 시작 → PRD 읽기 → 다음 항목 처리 → 커밋 → 세션 종료
↓
Stop Hook 감지
↓
완료? → Yes → 종료
↓ No
inject_prompt → 새 세션 시작
↓
PRD 읽기 → ...
사용자에게 확인 (빠진 것만 질문):
goal: "무엇을 달성할 것인가" # 예: "PRD.md의 모든 항목 완료"
prd: "PRD 또는 체크리스트 파일 경로" # 예: "PRD.md" 또는 "tasks/todo.md"
scope: ["수정 가능한 파일 패턴"] # 예: ["src/**", "tests/**"]
verify: "검증 명령어" # 예: "npm test" (자동 감지 가능)
max_iterations: 100 # 최대 반복 수 (기본 100)
completion_promise: "DONE" # 완료 시그널 (기본 "DONE")
mode: "continue" # continue | reset (기본 continue)
사용자가 verify를 안 줬으면:
package.json → npm test 또는 vitest runpyproject.toml → pytestMakefile → make testecho "no verify command"# 1. autodev 브랜치 생성
git checkout -b autodev/$(date +%Y%m%d-%H%M)
# 2. .ralph-loop/ 상태 디렉토리 생성
mkdir -p .ralph-loop
# 3. 상태 파일 초기화
cat > .ralph-loop/state.json << 'STATE'
{
"active": true,
"iteration": 0,
"max_iterations": {max_iterations},
"prompt": "{goal}",
"completion_promise": "{completion_promise}",
"prd_path": "{prd}",
"verify_command": "{verify}",
"started_at": "{ISO시간}",
"status": "running"
}
STATE
# 4. .gitignore에 .ralph-loop/ 추가
echo ".ralph-loop/" >> .gitignore
# 5. 베이스라인 검증
{verify} 2>&1 | tee .ralph-loop/baseline.log
각 세션(반복)에서 수행하는 절차:
1. READ PRD
- {prd} 파일을 읽는다
- 미완료 항목([ ]) 중 첫 번째를 선택
2. PLAN
- 선택한 항목을 구현하기 위한 최소 변경 계획
- scope 내 파일만 수정 가능
3. IMPLEMENT
- 계획대로 코드 수정
- scope 밖 파일 절대 수정 금지
4. VERIFY
- {verify} 실행
- 실패 시 build-fix 1회 시도
- 2회 실패 시 변경 롤백 (git checkout -- .)
5. COMMIT
- 성공 시:
git add -A
git commit -m "[autodev] {항목 요약}"
- PRD에서 해당 항목을 [x]로 체크
6. CHECK COMPLETION
- PRD에 미완료 항목이 남아있는가?
- Yes → 세션 자연 종료 (Stop Hook이 다음 반복 시작)
- No → 모든 항목 완료!
<promise>{completion_promise}</promise> 출력
→ Stop Hook이 감지하고 루프 종료
루프 종료 시 (완료 또는 max_iterations 도달):
# AutoDev 완료 보고서
## 요약
- 총 반복: {N}회
- 완료 항목: {K}/{total}
- 베이스라인 → 최종: 검증 통과
- 상태: {completed | max_iterations_reached}
## 완료된 항목
| # | 항목 | 커밋 |
|---|------|------|
| 1 | API 엔드포인트 구현 | abc1234 |
| 2 | 인증 추가 | def5678 |
## 미완료 항목 (있으면)
- [ ] 항목 N: 이유
## 브랜치
autodev/{tag} — main 머지 준비 완료
~/.claude/hooks/ralph-loop.sh가 세션 종료 시 실행:
.ralph-loop/state.json의 active가 true이면 다음 반복 시작<promise>DONE</promise> 감지 시 루프 종료iteration >= max_iterations 시 루프 종료active: false이면 아무 동작 없음# 루프 중지
python3 -c "import json; s=json.load(open('.ralph-loop/state.json')); s['active']=False; json.dump(s,open('.ralph-loop/state.json','w'))"
# 상태 확인
cat .ralph-loop/state.json
# 루프 재개
python3 -c "import json; s=json.load(open('.ralph-loop/state.json')); s['active']=True; json.dump(s,open('.ralph-loop/state.json','w'))"
| 상황 | 사용 스킬 |
|---|---|
| 빌드 실패 시 복구 | build-fix |
| 커밋 후 코드 정리 | simplify |
| 테스트 기반 구현 | tdd |
| 항목 구현 계획 | plan |
| 최종 검증 | verify |