work-plan이 작성한 계획서를 읽고, 계획에 따라 코드를 구현하고, 완료 후 계획서를 업데이트한다.
STEP 1 — 계획서 파일 특정
$ARGUMENTS에 파일 경로나 파일명이 주어진 경우 해당 파일을 사용한다.
주어지지 않은 경우 아래 규칙으로 자동 탐색한다.
pwd로 현재 프로젝트 루트 확인{프로젝트루트}/ai_history/work-plan/폴더 내*.md파일 목록 조회-issue.md로 끝나는 파일은 제외한다- 가장 최근에 수정된 파일 (또는 인덱스 번호가 가장 큰 파일)을 대상으로 선택
- 사용자에게 선택된 파일명을 알리고 진행 의사를 확인 — 다른 파일을 원하면 그 파일로 교체
STEP 2 — 계획서 파싱
선택된 계획서를 Read 도구로 읽고 아래 항목을 파악한다.
- 구현할 기능 요약: 프롬프트·계획 섹션에서 핵심 요구사항 추출
- 수정 대상 파일 목록: 계획에 명시된 파일 및 함수명
- 접근 방식: 기술적 상세 및 구현 방법
- 에이전트 사용 계획: 계획서에 명시된 에이전트가 있으면 동일하게 활용
- 현재 상태 확인: 계획서의 “작업 내용” 섹션이 “계획 수립 완료”인지 확인
- 이미 구현 내용이 기록되어 있으면 사용자에게 알리고 중단 여부를 확인
STEP 2-5 — 계획서 제약사항 검증
계획서의 수정 대상 파일과 접근 방식을 CLAUDE.md 규칙과 대조한다. 위반 항목이 하나라도 있으면 구현을 시작하지 않고 사용자에게 먼저 보고한다.
| 검증 항목 | 위반 기준 | 조치 |
|---|---|---|
| hmCesium API 기존 코드 수정/삭제 | api/src/core/ 또는 api/src/modules/ 파일에서 기존 코드를 수정·삭제하는 계획 | 중단 — 추가만 가능함을 안내 |
| core → modules 의존성 역전 | core/ 에 추가하는 코드가 modules/의 상태·인스턴스·함수를 직접 또는 간접(콜백·전역변수·이벤트 우회 포함)으로 참조 | 중단 — modules/에 구현하거나 콜백 주입으로 의존성 역전 후 재계획 안내 |
| 새 라이브러리 추가 | npm install, require, import 등으로 현재 tech stack 외 패키지 도입 계획 | 중단 — 기존 스택만 사용 가능함을 안내 |
| High Risk Areas 해당 파일 | Cesium 초기화 로직, 지도 좌표 처리, 파일 업로드 처리, Storage 연결 코드, DB query 관련 파일 | 사전 고지 — 영향 범위 안내 후 계속 진행 |
| over-engineering | 계획에 없는 파일·함수·기능이 추가된 계획 | 중단 — 요청 범위만 구현 가능함을 안내 |
위반 없으면 STEP 3으로 진행한다.
STEP 3 — 사전 코드 분석
계획서에 명시된 수정 대상 파일들을 Read/Grep/Glob으로 읽어 실제 현재 상태를 파악한다. 계획서 작성 이후 변경된 부분이 있으면 그 차이를 인식한다.
STEP 4 — 구현
CLAUDE.md 규칙을 반드시 준수하면서 계획서의 순서대로 구현한다.
- 각 수정 파일마다 Read → Edit/Write 순서를 지킨다 (수정 전 반드시 읽기)
- 계획서에 “에이전트 사용 계획”이 명시된 경우 해당 에이전트를 계획한 시점에 활용
- 계획에 없는 추가 변경은 하지 않는다 (over-engineering 금지)
- 구현 중 계획과 실제 코드 간 충돌이 발생하면 사용자에게 보고 후 지시를 받는다
#8 제약 관련 구현 우선순위 (반드시 준수):
계획서에 ✅ #8 제약 내 구현과 🔓 #8 제약 해제 시 구현이 모두 있는 경우,
사용자의 호출 메시지에 아래 명시적 허용 표현이 없으면 반드시 ✅ #8 제약 내 구현만 실행한다.
| 조건 | 실행 대상 |
|---|---|
| 기본 (아무 언급 없음) | ✅ #8 제약 내 구현 |
| ”제약 해제”, “제약 풀고”, “#8 무시”, “기존 코드 수정 허용” 등 명시적 언급 | 🔓 #8 제약 해제 시 구현 |
제약 해제 구현을 실행할 경우 구현 시작 전에 사용자에게 ”🔓 #8 제약 해제 구현을 진행합니다. hmCesium API 기존 코드를 수정합니다.”라고 고지한다.
STEP 5 — 계획서 업데이트
구현 완료 후 계획서 파일을 Edit 도구로 업데이트한다.
“작업 내용” 섹션 업데이트: 수정한 파일별로 다음 형식으로 기록한다.
- **작업 내용**:
- `{파일경로}` — {변경 내용 요약 (함수명, 추가/수정/삭제 내용)}
- `{파일경로}` — {변경 내용 요약}“결과” 섹션 업데이트:
- **결과**:
- 구현 완료
- 테스트 방법: {사용자가 확인할 수 있는 방법}
- 주요 변경점: {핵심 변경 사항 2~4줄 요약}단, 계획서에 이미 여러 차수(2차, 3차…)가 있는 경우, 현재 작업은 가장 최신 차수의 “작업 내용”과 “결과”를 업데이트한다.
STEP 6 — 완료 보고
사용자에게 다음을 알린다.
- 구현 완료된 기능 요약 (1~3줄)
- 수정된 파일 목록
- 계획서 업데이트 완료 알림 (파일 경로 포함)
- 테스트 방법 안내