| name | dev-plan |
| description | Create or update lightweight phased development plan documents with checkbox tasks, test cases, and completion criteria for implementation work |
| allowed-tools | ["Read","Write","Glob","Grep","Agent","Bash(ls:*)","Bash(git:*)","Bash(wc:*)"] |
| arguments | ["goal"] |
| argument-hint | [๊ตฌํํ ๊ธฐ๋ฅ ๋๋ ํ๋ก์ ํธ ๋ชฉํ ์ค๋ช
] |
| user-invocable | true |
| when_to_use | Use when the user wants to create an implementation plan, design document, or phased development roadmap.
Examples: 'dev plan', 'implementation plan', 'create a plan for', 'phased plan', 'implement_*.md',
'๊ฐ๋ฐ ๊ณํ', '๊ตฌํ ๊ณํ', '๊ณํ ์ธ์์ค', 'ํ์ด์ฆ ๋๋ ์ค', '์์
๋ถํด', '๊ตฌํ ํ๋', '๊ฐ๋ฐ ๊ณํ ๋ฌธ์'
|
Dev Plan
Overview
ํ๋ก์ ํธ๋ฅผ ๋ถ์ํ๊ณ , ๋ฒ์๋ฅผ ๊ณ ์ ํ๋ฉฐ, ํ์ด์ฆ๋ณ ์ฒดํฌ๋ฐ์ค ํ์คํฌ + ํ
์คํธ ์ผ์ด์ค๊ฐ ํฌํจ๋ ๊ตฌํ ๊ณํ์๋ฅผ ์์ฑํ๋ค.
Inputs
$goal: ๊ตฌํํ ๊ธฐ๋ฅ ๋๋ ํ๋ก์ ํธ ๋ชฉํ ์ค๋ช
Process
Step 1: ํ๋ก์ ํธ ๋ถ์
์ง๋ฌธํ๊ธฐ ์ ์ ๋จผ์ ํ๋ก์ ํธ๋ฅผ ๋ถ์ํ๋ค:
- ํ๋ก์ ํธ ์ค์ ํ์
:
CLAUDE.md, README.md, package.json, pyproject.toml, go.mod, Cargo.toml ๋ฑ ๋ฃจํธ ์ค์ ํ์ผ์ ์ฝ๋๋ค.
- ํ๋ก์ ํธ ๋ฌธ์ ํ์: Glob์ผ๋ก
.md ํ์ผ์ ํ์ํ์ฌ PRD, TRD, ADR, RFC, ๊ธฐ์กด ๊ณํ์ ๋ฑ ํต์ฌ ๋ฌธ์๋ฅผ ์๋ณํ๊ณ ์ฝ๋๋ค.
- ์์ค ๊ตฌ์กฐ ๋งคํ: Glob์ผ๋ก ๋๋ ํ ๋ฆฌ ๋ ์ด์์์ ํ์
ํ๋ค (
src/**, lib/**, app/** ๋ฑ).
- ์ปจ๋ฒค์
์๋ณ: ํ
์คํธ ๋๋ ํ ๋ฆฌ, ๋ฆฐํ
์ค์ , ๋น๋ ์ค์ , CI ํ์ดํ๋ผ์ธ์ ์ฐพ๋๋ค.
- ๊ด๋ จ ์ฝ๋ ํ์:
$goal์ด ๊ธฐ์กด ๊ธฐ๋ฅ์ ์ฐธ์กฐํ๋ฉด, Grep์ผ๋ก ๊ด๋ จ ๋ชจ๋, ์ธํฐํ์ด์ค, ํ์
์ ์ฐพ๋๋ค.
Step 2: ์๊ตฌ์ฌํญ ํ์ธ
$goal์ด ๋ชจํธํ๊ฑฐ๋ ๋ถ์กฑํ ๊ฒฝ์ฐ์๋ง ํต์ฌ ์ง๋ฌธ์ ํ๋ค:
- ๋ฒ์ ๊ฒฝ๊ณ๋? (๋ช
์์ ์ผ๋ก ์ ์ธ๋๋ ๊ฒ์?)
- ํ๋ ์ ์ฝ ์กฐ๊ฑด์? (์ฑ๋ฅ ๋ชฉํ, ํ์ ํธํ์ฑ, ํน์ API ์ฌ์ฉ)
- ์ ํธํ๋ ์ํคํ
์ฒ/ํจํด์ด ์๋๊ฐ?
- ํ
์คํธ ์ ๋ต์? (์ ๋, ํตํฉ, E2E?)
์ค์: ๊ณผ๋ํ ์ง๋ฌธ ๊ธ์ง. ์ฝ๋๋ฒ ์ด์ค ๋ถ์์ผ๋ก ์ถฉ๋ถํ ์ปจํ
์คํธ๋ฅผ ์ป์์ผ๋ฉด ๋ฐ๋ก ์งํํ๋ค.
Step 3: ์ํคํ
์ฒ ์ค๊ณ
- ํ์ํ ํต์ฌ ์ถ์ํ ์๋ณ (์ธํฐํ์ด์ค, ํ์
, ๋ชจ๋)
- ๋ฐ์ดํฐ ํ๋ฆ ๋งคํ (์
๋ ฅ โ ๋ณํ โ ์ถ๋ ฅ)
- ๊ธฐ์กด ์ฝ๋์์ ํตํฉ์ ์๋ณ
- ๋ณ๋ ฌํ ๊ฐ๋ฅํ ๊ฒ ํ์
(๋
๋ฆฝ ๋ชจ๋)
- ์์ฐจ์ ์ด์ด์ผ ํ๋ ๊ฒ ํ์
(์ปดํฌ๋ํธ ๊ฐ ์์กด์ฑ)
Step 4: ๊ณํ์ ์์ฑ
references/dev-plan-template.md ํ
ํ๋ฆฟ์ ๋ฐ๋ผ ์์ฑํ๋ค. ํ์ ์น์
:
- Context (Why / Current State / Target State / Scope Boundary)
- Architecture Overview (Diagram / Design Decisions / New Files / Modified Files)
- Phase Dependencies
- Implementation Phases (Tasks + Success Criteria + Test Cases + Testing Instructions)
- Integration & Verification
- Edge Cases & Risks
- Execution Rules
Step 5: ์์ง๋์ด๋ง ๋ฆฌ๋ทฐ
๊ณํ์ ์์ฑ ํ, ๊ตฌํ ์ ์ ๋ฆฌ๋ทฐ๋ฅผ ์ํํ๋ค:
- ์์ฒด ๊ฒ์ฆ: ๊ณํ์๋ฅผ
code-review ์คํฌ์ Plan mode ๊ธฐ์ค์ผ๋ก ์์ฒด ์ ๊ฒํ๋ค.
- ์ํคํ
์ฒ ์ ํฉ์ฑ, ์์ ๊ถ ๊ฒฝ๊ณ, ์ฃ์ง์ผ์ด์ค, ๋ณด์, ํ
์คํธ ์ ๋ต
- Engineering Review ์น์
์ถ๊ฐ: ๊ณํ์์ ๋ค์ ํ
์ด๋ธ์ ํฌํจํ๋ค:
## Engineering Review
| ํญ๋ชฉ | ํ์ | ๋ฉ๋ชจ |
|---|---|---|
| ์ํคํ
์ฒ | ready / needs revision / blocked | ... |
| ๊ณต์ ๊ณ์ฝ | ready / needs revision / blocked | ... |
| ์ฃ์ง์ผ์ด์ค | ready / needs revision / blocked | ... |
| ํ
์คํธ ์ ๋ต | ready / needs revision / blocked | ... |
- ์ฌ์ธต ๋ฆฌ๋ทฐ ํ์ ์: ์ฌ์ฉ์์๊ฒ
/code-review [plan-file-path]๋ก ๋ณ๋ ๋ฆฌ๋ทฐ๋ฅผ ์๋ดํ๋ค.
Step 6: ์ ์ฅ ๋ฐ ๋ณด๊ณ
- ํ๋ก์ ํธ์
docs/ ๋๋ ํ ๋ฆฌ๊ฐ ์์ผ๋ฉด โ docs/impl-plan-[feature-name].md
- ์์ผ๋ฉด โ ํ๋ก์ ํธ ๋ฃจํธ์
impl-plan-[feature-name].md
- ๊ฒฐ๊ณผ ๋ณด๊ณ : ์ ์ฅ ์์น, ์ด Phase ์, ๋ณ๋ ฌ ๊ฐ๋ฅ Phase, ์์ ๋ฒ์
Quality Rules
ํ์คํฌ ๊ตฌ์ฒด์ฑ
- ๋ชจ๋ ํ์คํฌ์ ์ ํํ ํ์ผ ๊ฒฝ๋ก์ ํจ์/์ปดํฌ๋ํธ๋ช
๋ช
์
- "์ธ์ฆ ๋ชจ๋ ๊ตฌํ" (X) โ "
src/services/auth/oauth-client.ts์ exchangeCodeForToken() ํจ์ ๊ตฌํ" (O)
ํ์ด์ฆ ํฌ๊ธฐ ์ ํ
- ํ์ด์ฆ๋น ์ต๋ 7๊ฐ ํ์คํฌ (์ด๊ณผ ์ ํ์ Phase๋ก ๋ถํ )
ํ
์คํธ ๋ช
๋ น์ด
- ๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ๋ก ๋ฐ๋ก ์คํ ๊ฐ๋ฅํ ์ ํํ ๋ช
๋ น์ด ์์ฑ
์ฑ๊ณต ๊ธฐ์ค
- ๊ฐ๊ด์ ์ผ๋ก ๊ฒ์ฆ ๊ฐ๋ฅํด์ผ ํจ
- "์ ๋์ํจ" (X) โ "์
๋ ฅ
{email: 'test@test.com'}์ ๋ํด HTTP 200๊ณผ {token: string} ๋ฐํ" (O)
ํ์ด์ฆ ๋
๋ฆฝ์ฑ
- ๊ฐ Phase๋ ์๋ํ๊ณ ํ
์คํธ ๊ฐ๋ฅํ ์ฆ๋ถ(increment)์ ์์ฐ
- ๋ฐ์ดํฐ ์์กด์ฑ์ด ์๋ Phase๋ ๋ณ๋ ฌ ๊ฐ๋ฅ์ผ๋ก ํ์
ํ
์คํธ ์ฐ์
- Happy-path์ Error-path ํ
์คํธ ์ผ์ด์ค ๋ชจ๋ ํฌํจ
- ๊ฐ Phase์ ํ
์คํธ๋ ๋
๋ฆฝ์ ์ผ๋ก ์คํ ๊ฐ๋ฅํด์ผ ํจ
์ธ์ด
- ๊ธฐ๋ณธ: ํ๊ตญ์ด
- ํ๋ก์ ํธ์ ๊ธฐ์กด ๋ฌธ์๊ฐ ์์ด๋ฉด ์์ด๋ก ์ ํ
- ๊ธฐ์ ์ฉ์ด (ํจ์๋ช
, ํ์ผ ๊ฒฝ๋ก, ๋ช
๋ น์ด)๋ ํญ์ ์์ด