Claude Code(Agent)์ ํจ๊ป ๊ฐ๋ฐํ๋ ๋๋ง์ ํ๋ฆ์ ์ฒด๊ณํํ ๋ฌธ์. 3์ฃผ์ฐจ ์ดํ์๋ ์ง์ ๊ฐ๋ฅํ๋๋ก ์์ ๋จ์ยทํ๋กฌํํธยท๊ฒ์ฆ ๊ธฐ์ค์ ๋ช ๋ฌธํํ๋ค. ํฐ ์ฒ ํ๊ณผ ์ธ์ ํจํด์ AI-WORKFLOW.md, ์คํ ๋๊ตฌ๋ .claude/ ์ฐธ๊ณ .
ํ๋์ ์ฌ์ฉ์ ๊ฐ์น๋ฅผ ๋๊น์ง ๋์์ํค๋ ์์ง ์ฌ๋ผ์ด์ค. GitHub Issue 1๊ฐ = ๊ธฐ๋ฅ ๋จ์ 1๊ฐ๊ฐ ๊ธฐ๋ณธ.
- ์: "ํ ๋ง ์ ๋ ฅ โ ๊ธฐ์ ํ๋ณด 5~8๊ฐ ๋ฐํ"
- ํฌํจ ๋ฒ์: ํ์ โ ๋ฐ์ดํฐ ์ด๋ํฐ โ AI ๋ก์ง โ API route โ ์ต์ UI
- ์๋ฃ ์ ์(DoD): mock data๋ก end-to-end ๋์ + ์ฒดํฌํฌ์ธํธ ํต๊ณผ
๊ธฐ๋ฅ ๋จ์ ์์์ ๋ค์ ์ชผ๊ฐ๋ ๊ธฐ์ค. ํ PR = ํ ์ปดํฌ๋ํธ ๋จ์๊ฐ ๊ธฐ๋ณธ.
- ์:
ScoreCardUI /us-stock์ด๋ํฐ /theme-searchํ๋กฌํํธ - ํฌํจ ๋ฒ์: ๋จ์ผ ์ฑ ์, ๋ ๋ฆฝ์ ์ผ๋ก importยท๋ ๋ยทํธ์ถ ๊ฐ๋ฅ
์ด ์์
์ด ์ฌ์ฉ์์๊ฒ ๋ณด์ด๋ ๊ฐ์น ํ ๋ฉ์ด๋ฆฌ์ธ๊ฐ?
โโ ์ โ ๊ธฐ๋ฅ ๋จ์ = Issue ๋ก ๋ฑ๋ก
โโ ๋๋ฌด ํผ โ ์ปดํฌ๋ํธ ๋จ์๋ก ๋ถํด = Issue ์์ ์ฒดํฌ๋ฐ์ค / ๊ฐ๋ณ PR
ํ PR์ด 300์ค์ ๋๊ฑฐ๋ ๋ฆฌ๋ทฐ ๊ด์ ์ด 2๊ฐ ์ด์ ์์ด๋ฉด โ ๋ ์ชผ๊ฐ ๋ค.
ํ์
/๊ณ์ฝ์ ํญ์ ์ฒซ ๋ฒ์งธ ์กฐ๊ฐ์ผ๋ก ๋ถ๋ฆฌํ๋ค (๋ค๋ฅธ ์กฐ๊ฐ์ด ์์กดํ๋ฏ๋ก).
- ํ ์ธ์ = ํ ๊ธฐ๋ฅ ๋จ์ ์ ๋๊ฐ ์ปจํ ์คํธ ๊ด๋ฆฌ์ ์ ๋น
- ์๋ก ์์กด ์๋ ์ปดํฌ๋ํธ(์: us-adapter / kr-adapter / ๊ณตํต ํ์ )๋ ๋ณ๋ ฌ(sub-agent) ์์ฒญ
- ์์กด์ด ์์ผ๋ฉด ์์ฐจ๋ก, ์ ๋จ๊ณ ์ฐ์ถ๋ฌผ์ ๋ค์ ํ๋กฌํํธ ๋งฅ๋ฝ์ ํฌํจ
๋ชจ๋ ์์ฒญ์ [๋งฅ๋ฝ] + [๋ชฉํ] + [์ ์ฝ] + [์ถ๋ ฅ ํํ] ๋ฅผ ์ฑ์ด๋ค.
| ์์ | ๋ฌด์์ | ์์ |
|---|---|---|
| ๋งฅ๋ฝ | ๊ด๋ จ ํ์ผ/ํ์ฌ ์ํ/Issue | "CLAUDE.md ์ฝ๊ณ , lib/types/stock.ts ๊ธฐ์ค์ผ๋ก" |
| ๋ชฉํ | ์ด ์ธ์ ์ ๊ฒฐ๊ณผ๋ฌผ | "FMP ์ด๋ํฐ + ์บ์ฑ๊น์ง" |
| ์ ์ฝ | ์ง์ผ์ผ ํ ๊ท์น/๋น์ฉ | "mock ์ฐ์ , ์๋ฌ graceful, 250req/day ๊ณ ๋ ค" |
| ์ถ๋ ฅ ํํ | ์ฝ๋/์ง๋จ/์ ์ ๋ฑ | "ํ์ ๋ถํฐ ์์๋๋ก, ์๋ฃ ์ ๋ฆฌํฌํธ" |
๊ธฐ๋ฅ ํฅ์คํ
CLAUDE.md ์ฝ๊ณ ํ์ฌ ์ํ ํ์
ํด์ค.
์ค๋ ๋ชฉํ: [๊ธฐ๋ฅ]. ์ ์ฝ: mock ์ฐ์ / ์๋ฌ graceful.
ํ์
์ ์๋ถํฐ ์์๋๋ก ๊ฐ์. ๊ฐ ๋จ๊ณ ๋๋๋ฉด ์๋ ค์ค.
๋ณ๋ ฌ ์์
์๋ก ์์กด ์์ผ๋ ๋ณ๋ ฌ๋ก ์งํํด์ค:
1) [์ปดํฌ๋ํธ A] 2) [์ปดํฌ๋ํธ B] 3) [๊ณตํต ํ์
]
๊ฐ๊ฐ ์๋ฃ๋๋ฉด ๋ฆฌํฌํธํด์ค.
ํ๋กฌํํธ ๊ฐ์ (/prompt-iteration)
[๊ธฐ๋ฅ] ๊ฒฐ๊ณผ๊ฐ ๋๋ฌด genericํด. ์ค์ ์ถ๋ ฅ ๋ถ์ฌ์ค๊ฒ: [์ถ๋ ฅ]
๋ญ๊ฐ ๋ฌธ์ ์ธ์ง ์ง๋จํ๊ณ v_next ๋ง๋ค์ด์ docs/prompts.md์ ๊ธฐ๋กํด์ค.
๋ฆฌํฉํ ๋ง
[ํ์ผ] ์ฝ์ด๋ด. [์ฆ์]์ธ ๊ฒ ๊ฐ์.
์ด๋ป๊ฒ ๋ถ๋ฆฌํ๋ฉด ์ข์์ง ๋จผ์ ์ ์๋ง ํด์ค. ์ฑ๋ฅ ์ํฅ ์์ด์ผ ํด.
์ธ์ ๋ง๋ฌด๋ฆฌ
1) ๋ณ๊ฒฝ๋ถ Conventional Commits๋ก ์ปค๋ฐ 2) CLAUDE.md ์งํ ์ํฉ ์
๋ฐ์ดํธ
3) ๋ค์ ์ธ์
์ด์ด์ ํ ๊ฒ ๊ธฐ๋ก
- "์ด ํจ์ ๋ง๋ค์ด์ค"(์ ๋งฅ๋ฝ) ๋์ ํ๋จ์ ์์ฒญํ๋ค โ Agent๋ฅผ ํ์ดํ๋ก๊ทธ๋๋จธ๋ก ์ด๋ค
- ํฐ ๊ฒฐ์ (์ํคํ ์ฒ/์คํค๋ง)์ ๊ตฌํ ์ ์ ์ ์โ๊ฒํ โ์น์ธ ๋จ๊ณ๋ฅผ ๋๋ค
- ๊ฒฐ๊ณผ๊ฐ ์ ๋งคํ๋ฉด ๋ค์ ์ํค๊ธฐ ์ ์ ๋ฌด์์ด ์ ๋ณ๋ก์ธ์ง ๊ตฌ์ฒด์ ์ผ๋ก ํผ๋๋ฐฑํ๋ค
Agent๊ฐ "์๋ฃ"๋ผ๊ณ ํด๋, ์๋๋ ์ฌ๋์ด ์ง์ ํ์ธํ๋ค. ํต๊ณผ ์ ์ ๋ค์ ๋จ๊ณ๋ก ์ ๋์ด๊ฐ๋ค.
- ๋ณ๊ฒฝ ๋ฒ์๊ฐ Issue/๋ชฉํ์ ์ผ์นํ๋๊ฐ (scope creep ์๋๊ฐ)
- ํ์ /๊ณ์ฝ์ด ๋จผ์ ์ ์๋๊ณ ๋๋จธ์ง๊ฐ ๊ทธ๊ฑธ ๋ฐ๋ฅด๋๊ฐ
- ์ปค๋ฐ์ด ์์ ๋จ์๋ก ์ชผ๊ฐ์ก๊ณ ๋ฉ์์ง๊ฐ Conventional Commits์ธ๊ฐ
- mock์ผ๋ก ๋์ ํ์ธํ๋๊ฐ (๋ถํ์ํ ์ค API ํธ์ถ ์๋๊ฐ)
- ์๋ต ์คํค๋ง๊ฐ ์ค์ ์ ์ผ์นํ๋๊ฐ (Agent ์ถ์ ์ด ์๋๋ผ ์ค๋ฐ์ดํฐ๋ก ํ์ธ)
- ์บ์ฑ TTL์ด ์ ์ฑ
(
docs/data-sources.md)๊ณผ ๋ง๋๊ฐ - ์ฟผํฐ/๋น์ฉ ์ํฅ (FMP 250 req/day) ๊ณ ๋ ค๋๋๊ฐ
- ์๋ฌ/๋น์๋ต์ด gracefulํ๊ฒ ์ฒ๋ฆฌ๋๋๊ฐ
- ์ ์ ๊ฐ์ค์น๊ฐ PRD์ ์ผ์น (TAM 25 / ํด์ 20 / ๊ฒฝ์์ง 15 / ์ฌ๋ฌด 25 / ๋ด๋ฌํฐ๋ธ 15)
- ์ถ๋ ฅ์ด genericํ์ง ์๊ณ ์์น ๊ทผ๊ฑฐ๊ฐ ์๋๊ฐ
- ํ๋กฌํํธ ๋ณ๊ฒฝ์ด
docs/prompts.md์ ๋ฒ์ ๊ธฐ๋ก๋๋๊ฐ - ๋์ผ ์ ๋ ฅ ์ฌํ์ฑ / ๋น์ฉ(์บ์ฑ 6h) ํ์ธ
- ๋ฉด์ฑ ์กฐํญ์ด ๋ ธ์ถ๋๋๊ฐ ("์ฐธ๊ณ ์ฉ, ํฌ์ ๊ถ์ ์๋")
- ๋จ์ ์ ๋งค์/๋งค๋ ํํ์ด ์๋๋ผ Risk/Reward ํ๋จ์ผ๋ก ์ ์๋๋๊ฐ
-
feature/*โdevPR๋ก ์ฌ๋ ธ๋๊ฐ (์ง์ main push ์๋) - CLAUDE.md ์งํ ์ํฉ์ด ๊ฐฑ์ ๋๋๊ฐ
- ๊ด๋ จ Issue๊ฐ PR์ ์ฐ๊ฒฐ๋๋๊ฐ