CLAUDE.md = AI์๊ฒ ์ฃผ๋ ์ ๋ฌด ๋งค๋ด์ผ
ํ์ ์ ๋๋ฃ๊ฐ ํฉ๋ฅํ๋ฉด ๋ญ ํด์ฃผ์๋์? ์๋ง โ์ฐ๋ฆฌ ํ ์ ๋ฌด ๊ฐ์ด๋โ ๊ฐ์ ๊ฑธ ๊ฑด๋ค์ค ๊ฑฐ์์. โ๋ณด๊ณ ์๋ ์ด ์์์ผ๋ก ์จ, ๋ฐฐํฌ๋ ์ด ์ ์ฐจ๋ฅผ ๋ฐ๋ผ, ์ด ํด๋์ ์๋์ง ๋งโ โ ์ด๋ฐ ๊ฒ๋ค์ด์.
CLAUDE.md๊ฐ ๋ฐ๋ก ๊ทธ ์ญํ ์ด์์. Claude Code๊ฐ ํ๋ก์ ํธ์ โํฉ๋ฅโํ ๋ ๊ฐ์ฅ ๋จผ์ ์ฝ๋ ๋ฌธ์์์. ์ด ํ์ผ์ ํ๋ก์ ํธ ์ ๋ณด, ๊ท์น, ์ฃผ์์ฌํญ์ ์ ์ด๋๋ฉด Claude Code๊ฐ ์๋์ผ๋ก ์ฝ๊ณ ๋ฐ๋ผ์.
| ์ ๋๋ฃ์๊ฒ | Claude Code์๊ฒ (CLAUDE.md) |
|---|---|
| ํ ์ ๋ฌด ๊ฐ์ด๋๋ถ ์ ๋ฌ | CLAUDE.md ํ์ผ ์์ฑ |
| "๋ณด๊ณ ์ ์์์ ์ด๊ฑฐ์ผ" | "์ฝ๋ฉ ์คํ์ผ์ ์ด๊ฑฐ์ผ" |
| "์ด ํด๋๋ ๊ฑด๋๋ฆฌ์ง ๋ง" | "node_modules/ ์์ ๊ธ์ง" |
| "๋ฐฐํฌ๋ ํ์ฅ ์น์ธ ํ์" | "push๋ PR ๋ฆฌ๋ทฐ ํ์๋ง" |
| "์ง๋ฌธ ์์ผ๋ฉด ๋ํํ ๋ฌผ์ด๋ด" | "๋ชจ๋ฅด๊ฒ ์ผ๋ฉด ์์ ์ค๋จํ๊ณ ๋ฌผ์ด๋ด" |
ํ ์ค ์์ฝ
CLAUDE.md = ํ๋ก์ ํธ์ ๊ณต์ ์ค๋ช ์. Claude Code๊ฐ ์ ๋ํ๋ฅผ ์์ํ ๋๋ง๋ค ๊ฐ์ฅ ๋จผ์ ์ฝ์ด์. ์ ์จ๋๋ฉด โ์ฒ์๋ถํฐ ์ค๋ช ํ ํ์โ๊ฐ ์ฌ๋ผ์ ธ์.
์ ํ์ํ๊ฐ์?
โ๊ทธ๋ฅ ๋ํํ๋ฉด์ ์ค๋ช ํ๋ฉด ์ ๋ผ์?โ ๋ผ๊ณ ์๊ฐํ ์ ์์ด์. ๋ฌผ๋ก ๊ฐ๋ฅํด์. ํ์ง๋ง 3๊ฐ์ง ๋ฌธ์ ๊ฐ ์๊ฑฐ๋ ์.
๋ฌธ์ 1: ๋งค๋ฒ ๊ฐ์ ๋ง์ ๋ฐ๋ณตํด์ผ ํด์
CLAUDE.md ์์ ๋
์ ๋ํ๋ง๋ค โ์ด ํ๋ก์ ํธ๋ Next.js 14์ด๊ณ , TypeScript strict ๋ชจ๋์ด๊ณ , Tailwind๋ฅผ ์ฐ๊ณ ...โ ์ฒ์๋ถํฐ ์ค๋ช ํด์ผ ํด์.
CLAUDE.md ์์ ๋
โ๋ฒํผ ์ปดํฌ๋ํธ ๋ง๋ค์ด์คโ ํ๋ง๋๋ฉด ํ๋ก์ ํธ ์คํ์ผ์ ๋ง๊ฒ ๋ฐ๋ก ๋ง๋ค์ด์.
๋ฌธ์ 2: ๊ท์น์ ๋ชฐ๋ผ์ ์ค์ํด์
CLAUDE.md ์์ ๋
โ์, ์ด ํ๋ก์ ํธ์์๋ CSS ๋ชจ๋ ์ ์ฐ๋ ๊ฑฐ์์ด? Tailwind๋ง ์ฐ๋ ๊ฑฐ ๋ชฐ๋์ด์.โ ๊ฒฐ๊ณผ๋ฌผ์ ๋ฐ๊ณ ์์ ํด์ผ ํด์.
CLAUDE.md ์์ ๋
์ฒ์๋ถํฐ ๊ท์น์ ์๊ณ ์์ผ๋๊น Tailwind๋ก ์์ฑํด์. ์์ ํ ํ์ ์์ด์.
๋ฌธ์ 3: ํ์๋ง๋ค ๋ค๋ฅด๊ฒ ์ค๋ช ํด์
CLAUDE.md ์์ ๋
A ํ์์ โํจ์ํ์ผ๋ก ํด์คโ, B ํ์์ โํด๋์ค๋ก ํด์คโ. ๊ฐ์ ํ๋ก์ ํธ์ธ๋ฐ ์คํ์ผ์ด ๋ค์ญ๋ ์ญํด์.
CLAUDE.md ์์ ๋
๋ชจ๋ ํ์์ด ๊ฐ์ CLAUDE.md๋ฅผ ๊ณต์ ํ๋๊น ์ผ๊ด๋ ์ฝ๋ฉ ์คํ์ผ์ด ์ ์ง๋ผ์.
CLAUDE.md vs Auto Memory ์ฐจ์ด
์ด์ ์ฑํฐ์์ ๋ฐฐ์ด Auto Memory๋ Claude Code๊ฐ ์๋์ผ๋ก ๊ธฐ์ตํ๋ ๊ฐ์ธ ๋ฉ๋ชจ์ฅ์ด์์.CLAUDE.md๋ ์ฌ๋ฌ๋ถ์ด ์ง์ ์ฐ๋ ๊ณต์ ๋งค๋ด์ผ์ด์์. Auto Memory๋ ๋ด ์ปดํจํฐ์์๋ง ์ ํจํ์ง๋ง, CLAUDE.md๋ Git์ผ๋ก ํ ์ ์ฒด๊ฐ ๊ณต์ ํ ์ ์์ด์.
CLAUDE.md = AI์ ๊ณต์ ๊ต๋ณธ
ํ๋ฒ ์ ์จ๋๋ฉด ๋ชจ๋ ๋ํ์์ ์๋์ผ๋ก ์ฝํ๊ณ , ํ ์ ์ฒด๊ฐ ํํ์ ๋ฐ์์
์ฒซ CLAUDE.md ๋ง๋ค๊ธฐ
CLAUDE.md๋ฅผ ๋ง๋๋ ๊ฑด ์ ๋ง ๊ฐ๋จํด์. ํ๋ก์ ํธ ๋ฃจํธ ํด๋์ CLAUDE.md๋ผ๋ ํ์ผ์ ๋ง๋ค๋ฉด ๋์ด์์. ์ด๋ฆ์ด ๊ผญ CLAUDE.md์ฌ์ผ ํด์ โ ๋์๋ฌธ์๋ ์ ํํ ๋ง์ถฐ์ผ ํด์.
๋ฐฉ๋ฒ 1: /init์ผ๋ก ์๋ ์์ฑ (๊ฐ์ฅ ์ฌ์)
Claude Code์์ /init ๋ช
๋ น์ ์คํํ๋ฉด ํ๋ก์ ํธ๋ฅผ ๋ถ์ํด์ CLAUDE.md๋ฅผ ์๋ ์์ฑํด์ค์. ์ฒ์ ์์ํ ๋ ๊ฐ์ฅ ํธํ ๋ฐฉ๋ฒ์ด์์.
/init์ด๋ ๊ฒ ํ๋ฉด Claude Code๊ฐ ํ๋ก์ ํธ์ ํ์ผ ๊ตฌ์กฐ, package.json, ์ค์ ํ์ผ ๋ฑ์ ๋ถ์ํด์ CLAUDE.md ์ด์์ ๋ง๋ค์ด์ค์. ์ฌ๊ธฐ์ ํ์ํ ๋ถ๋ถ๋ง ์์ ํ๋ฉด ๋ผ์.
๋ฐฉ๋ฒ 2: ๋ง๋ก ์์ผ์ ์์ฑ
์ด ํ๋ก์ ํธ๋ฅผ ๋ถ์ํด์ CLAUDE.md๋ฅผ ๋ง๋ค์ด์ค.
๋น๋ ๋ฐฉ๋ฒ, ํ์ผ ๊ตฌ์กฐ, ์ฝ๋ฉ ๊ท์น์ ํฌํจํด์ค.๋ฐฉ๋ฒ 3: ์ง์ ์์ฑ
๋ฉ๋ชจ์ฅ์ด๋ VS Code์์ ์ง์ ์์ฑํ ์๋ ์์ด์. ์๋ ๊ธฐ๋ณธ ํ ํ๋ฆฟ์ ๋ณต์ฌํด์ ์์ํ์ธ์.
# CLAUDE.md
## ํ๋ก์ ํธ ๊ฐ์
์ด ํ๋ก์ ํธ๋ [ํ ์ค ์ค๋ช
]์
๋๋ค.
## ๊ธฐ์ ์คํ
- ํ๋ ์์ํฌ: Next.js 14
- ์คํ์ผ: Tailwind CSS
- ์ธ์ด: TypeScript (strict ๋ชจ๋)
## ๋ช
๋ น์ด
```bash
npm run dev # ๊ฐ๋ฐ ์๋ฒ
npm run build # ํ๋ก๋์
๋น๋
npm run lint # ์ฝ๋ ๊ฒ์ฌ
```
## ํ์ผ ๊ตฌ์กฐ
- src/app/ โ ํ์ด์ง
- src/components/ โ ์ฌ์ฌ์ฉ ์ปดํฌ๋ํธ
- src/lib/ โ ์ ํธ๋ฆฌํฐ ํจ์
- public/ โ ์ ์ ํ์ผ
## ์ฝ๋ฉ ๊ท์น
- ์ปดํฌ๋ํธ: export default function (ํ์ดํ ํจ์ X)
- ์คํ์ผ: Tailwind ํด๋์ค๋ง ์ฌ์ฉ
- ์ํ ๊ด๋ฆฌ: zustand
- import ์์: React > Next > ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ > ๋ด๋ถ ๋ชจ๋
## ์ฃผ์์ฌํญ
- .env ํ์ผ์ ์ปค๋ฐํ์ง ๋ง์ธ์
- node_modules/ ์์ ๊ธ์ง/init์ด ๊ฐ์ฅ ๋นจ๋ผ์
๋น ํ์ด์ง์์ ์์ํ๋ฉด ๋ญ ์จ์ผ ํ ์ง ๋ง๋งํ ์ ์์ด์./init์ผ๋ก ์๋ ์์ฑํ ๋ค์ ํ์ํ ๋ถ๋ถ๋ง ์์ ํ๋ ๊ฒ ์ ์ผ ํจ์จ์ ์ด์์.
CLAUDE.md ํ์ผ์ ์ฐ์ ์์
CLAUDE.md๋ ํ ๊ณณ์๋ง ์๋ ๊ฒ ์๋์์. ์ฌ๋ฌ ์์น์ ์์ ์ ์๊ณ , ๊ฐ๊ฐ ๋ค๋ฅธ ๋ฒ์์์ ์ ์ฉ๋ผ์. ๋ง์น ํ์ฌ ๊ท์ โ ํ ๊ท์ โ ๊ฐ์ธ ์ค์ ์์์ฒ๋ผ, ๋ฒ์๊ฐ ๋์ ๊ฒ์์ ์ข์ ๊ฒ ์์ผ๋ก ํฉ์ณ์ ธ์.
ํ์ฌ ๊ด๋ฆฌ์๊ฐ ์ค์ . ๊ฐ์ธ์ด ๋ฎ์ด์ธ ์ ์๋ ์ต์์ ๊ท์น. ์ผ๋ฐ ์ฌ์ฉ์๋ ํด๋น ์์ด์.
๋ด ๋ชจ๋ ํ๋ก์ ํธ์ ๊ณตํต ์ ์ฉ. "ํ๊ตญ์ด๋ก ๋ต๋ณํด์ค", "์ปค๋ฐ์ conventional commit" ๊ฐ์ ๊ฐ์ธ ์ ํธ๋.
ํด๋น ํ๋ก์ ํธ์๋ง ์ ์ฉ. ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ์์น. Git์ผ๋ก ํ๊ณผ ๊ณต์ ๊ฐ๋ฅ.
ํน์ ํด๋์๋ง ์ ์ฉ. ๋๊ท๋ชจ ํ๋ก์ ํธ์์ ๋ชจ๋๋ณ ๊ท์น์ด ๋ค๋ฅผ ๋ ์ฌ์ฉ.
๋ด ์ปดํจํฐ์์๋ง ์ ์ฉ. Git์ ์ฌ๋ฆฌ์ง ์๋ ๊ฐ์ธ ์ค์ .
๋๋ถ๋ถ์ ๊ฒฝ์ฐ, ์ฌ๋ฌ๋ถ์ด ์ ๊ฒฝ ์จ์ผ ํ ๊ฑด 2๋ฒ(์ ์ญ)๊ณผ 3๋ฒ(ํ๋ก์ ํธ ๋ฃจํธ)๋ฟ์ด์์. ๋๋จธ์ง๋ ํฐ ํ๋ก์ ํธ์์๋ ์ฐ๋ ๊ฑฐ์์.
| ์์น | ์ ์ฉ ๋ฒ์ | ๋ํ ์ฉ๋ |
|---|---|---|
| ~/.claude/CLAUDE.md | ๋ด ๋ชจ๋ ํ๋ก์ ํธ | ์ธ์ด ์ค์ , ์ปค๋ฐ ์คํ์ผ |
| ํ๋ก์ ํธ/CLAUDE.md | ์ด ํ๋ก์ ํธ๋ง | ๋น๋ ๋ฐฉ๋ฒ, ์ฝ๋ฉ ๊ท์น |
| ํ๋ก์ ํธ/src/CLAUDE.md | src ํด๋ ์์ ์๋ง | ํ๋ก ํธ์๋ ์ ์ฉ ๊ท์น |
| ํ๋ก์ ํธ/api/CLAUDE.md | api ํด๋ ์์ ์๋ง | ๋ฐฑ์๋ ์ ์ฉ ๊ท์น |
์ถฉ๋ํ๋ฉด ์ด๋ป๊ฒ ๋๋์?
์ ์ญ CLAUDE.md์ โ์์ด๋ก ์ฝ๋ฉํธ ์จ์คโ๋ผ๊ณ ๋์ด ์๊ณ , ํ๋ก์ ํธ CLAUDE.md์ โํ๊ตญ์ด๋ก ์ฝ๋ฉํธ ์จ์คโ๋ผ๊ณ ๋์ด ์์ผ๋ฉด?๋ ๊ตฌ์ฒด์ ์ธ(์ข์ ๋ฒ์์) ๊ท์น์ด ์ด๊ฒจ์.ํ๋ก์ ํธ ๊ท์น์ด ์ ์ญ ๊ท์น๋ณด๋ค ์ฐ์ ์ด์์.
@import๋ก ๋ค๋ฅธ ํ์ผ ์ฐธ์กฐํ๊ธฐ
CLAUDE.md๊ฐ ์ ์ ๊ธธ์ด์ง๋ฉด ์ฝ๊ธฐ ์ด๋ ค์์ง ์ ์์ด์. ์ด๋ @import๋ฅผ ์ฌ์ฉํ๋ฉด ๋ด์ฉ์ ์ฌ๋ฌ ํ์ผ๋ก ๋๋ ์ ๊ด๋ฆฌํ ์ ์์ด์.
# CLAUDE.md
## ํ๋ก์ ํธ ๊ฐ์
์ด ํ๋ก์ ํธ๋ ์ด์ปค๋จธ์ค ํ๋ซํผ์
๋๋ค.
@import docs/coding-rules.md
@import docs/api-guide.md
@import docs/deployment.md์ด๋ ๊ฒ ํ๋ฉด Claude Code๊ฐ CLAUDE.md๋ฅผ ์ฝ์ ๋,@import๋ ํ์ผ๋ค๋ ํจ๊ป ์ฝ์ด์. ๋ง์น ํ๋์ ํฐ ๋ฌธ์์ฒ๋ผ ์ฒ๋ฆฌํ๋ ๊ฑฐ์์.
์ธ์ @import๋ฅผ ์ฐ๋ฉด ์ข์๊น?
@import๊ฐ ํ์ํ ๊ฒฝ์ฐ
- CLAUDE.md๊ฐ 200์ค ์ด์์ผ๋ก ๊ธธ์ด์ง ๋
- ์ฝ๋ฉ ๊ท์น, API ๊ฐ์ด๋, ๋ฐฐํฌ ์ ์ฐจ๋ฅผ ๋ถ๋ฆฌํ๊ณ ์ถ์ ๋
- ํ์๋ณ๋ก ๋ค๋ฅธ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํด์ผ ํ ๋
- ๊ธฐ์กด ๋ฌธ์(README ๋ฑ)๋ฅผ ์ฌํ์ฉํ๊ณ ์ถ์ ๋
@import ์์ด๋ ๊ด์ฐฎ์ ๊ฒฝ์ฐ
- CLAUDE.md๊ฐ 100์ค ์ดํ๋ก ์งง์ ๋
- ๊ฐ์ธ ํ๋ก์ ํธ๋ผ ๋ณต์กํ ๊ท์น์ด ์์ ๋
- ํ ํ์ผ์์ ์ ๋ถ ๊ด๋ฆฌํ๋ ๊ฒ ํธํ ๋
ํ๋ก์ ํธ/
โโโ CLAUDE.md # ๋ฉ์ธ (๊ฐ์ + @import ๋ชฉ๋ก)
โโโ docs/
โ โโโ coding-rules.md # ์ฝ๋ฉ ๊ท์น ์์ธ
โ โโโ api-guide.md # API ์ฐ๋ ๊ฐ์ด๋
โ โโโ deployment.md # ๋ฐฐํฌ ์ ์ฐจ
โโโ src/
โโโ CLAUDE.md # src ํด๋ ์ ์ฉ ๊ท์น@import ๊ฒฝ๋ก๋ ์๋ ๊ฒฝ๋ก๋ง ๋ผ์
@import ๋ค์ ์ค๋ ํ์ผ ๊ฒฝ๋ก๋ CLAUDE.md ํ์ผ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ์๋ ๊ฒฝ๋ก์์. ์ ๋ ๊ฒฝ๋ก(/Users/me/docs/...)๋ ์ ๋ผ์. ๋ํ, @import๋ ํ์ผ ์์์ ๋ค์ @importํ๋ ๊ฒ๋ ์ง์ํด์.
.claude/rules/ โ ์กฐ๊ฑด๋ถ ๊ท์น
โ.ts ํ์ผ์ ์์ ํ ๋๋ง ์ด ๊ท์น์ ์ ์ฉํด์คโ ๊ฐ์ ์กฐ๊ฑด๋ถ ๊ท์น์ ๋ง๋ค ์ ์์ด์. ํ๋ก์ ํธ ๋ฃจํธ์ .claude/rules/ ํด๋๋ฅผ ๋ง๋ค๊ณ , ๊ทธ ์์ ๊ท์น ํ์ผ์ ๋ฃ์ผ๋ฉด ๋ผ์.
ํด๋ ๊ตฌ์กฐ
ํ๋ก์ ํธ/
โโโ .claude/
โ โโโ rules/
โ โโโ typescript.md # .ts ํ์ผ ์์
์ ์ ์ฉ
โ โโโ testing.md # ํ
์คํธ ํ์ผ ์์
์ ์ ์ฉ
โ โโโ deployment.md # ๋ฐฐํฌ ๊ด๋ จ ์์
์ ์ ์ฉ
โโโ CLAUDE.md
โโโ src/๊ท์น ํ์ผ ์์
๊ฐ ๊ท์น ํ์ผ ์๋จ์ --- ์ฌ์ด์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์.globs๋ก ์ด๋ค ํ์ผ์ ์ ์ฉํ ์ง,description์ผ๋ก ๊ฐ๋จํ ์ค๋ช
์ ์ ์ด์.
---
description: TypeScript ํ์ผ ์์ฑ ๊ท์น
globs: "**/*.ts,**/*.tsx"
---
# TypeScript ๊ท์น
- strict ๋ชจ๋: any ํ์
์ฌ์ฉ ๊ธ์ง
- ์ธํฐํ์ด์ค๋ I ์ ๋์ฌ ์์ด ์์ฑ (UserProps O, IUserProps X)
- enum ๋์ const object + as const ์ฌ์ฉ
- ํจ์ ๋ฐํ ํ์
๋ช
์ ํ์---
description: ํ
์คํธ ํ์ผ ์์ฑ ๊ท์น
globs: "**/*.test.ts,**/*.spec.ts"
---
# ํ
์คํธ ๊ท์น
- ํ
์คํธ ํ๋ ์์ํฌ: Jest + React Testing Library
- describe > it ๊ตฌ์กฐ ์ฌ์ฉ
- ํ
์คํธ ์ด๋ฆ์ ํ๊ตญ์ด๋ก ์์ฑ
- mocking: jest.mock() ์ฌ์ฉ, ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ mock ํ์์ด๋ ๊ฒ ์ค์ ํด๋๋ฉด, Claude Code๊ฐ .ts ํ์ผ์ ์์ ํ ๋ ์๋์ผ๋ก TypeScript ๊ท์น์ ์ฐธ๊ณ ํ๊ณ ,.test.ts ํ์ผ์ ์์ฑํ ๋ ํ
์คํธ ๊ท์น์ ์ฐธ๊ณ ํด์. ๋งค๋ฒ โstrict ๋ชจ๋์ผ, any ์ฐ์ง ๋งโ ์ ๋งํด๋ ๋ผ์.
์ฒ์์ ์์ด๋ ๋ผ์
.claude/rules/๋ ๊ณ ๊ธ ๊ธฐ๋ฅ์ด์์. ์ฒ์์๋ ํ๋ก์ ํธ ๋ฃจํธ์ CLAUDE.md ํ๋๋ก ์ถฉ๋ถํด์. ํ๋ก์ ํธ๊ฐ ์ปค์ง๊ณ ๊ท์น์ด ๋ณต์กํด์ง๋ฉด ๊ทธ๋ ๋ถ๋ฆฌํ๋ฉด ๋ผ์.
ํ๋ก์ ํธ ์ ํ๋ณ CLAUDE.md ์์
์ด๋ค ํ๋ก์ ํธ๋ฅผ ํ๋๋์ ๋ฐ๋ผ CLAUDE.md ๋ด์ฉ์ด ๋ฌ๋ผ์ ธ์. ์ค์ ๋ก ๋ฐ๋ก ์ธ ์ ์๋ ์์ 3๊ฐ๋ฅผ ์ค๋นํ์ด์. ์๊ธฐ ํ๋ก์ ํธ์ ๋ง๋ ๊ฑธ ๋ณต์ฌํด์ ์์ ํ์ธ์.
1. ์น์ฌ์ดํธ ํ๋ก์ ํธ (Next.js)
ํ์ฌ ํํ์ด์ง, ๊ฐ์ธ ๋ธ๋ก๊ทธ, ๋๋ฉ ํ์ด์ง ๋ฑ
# CLAUDE.md
## ํ๋ก์ ํธ
ํ์ฌ ํํ์ด์ง. 5ํ์ด์ง (ํ, ์๊ฐ, ์๋น์ค, ๋ธ๋ก๊ทธ, ๋ฌธ์).
## ๊ธฐ์ ์คํ
- Next.js 14 (App Router)
- Tailwind CSS
- TypeScript
## ๋ช
๋ น์ด
- ๊ฐ๋ฐ: npm run dev (ํฌํธ 3000)
- ๋น๋: npm run build
- ๋ฐฐํฌ: git push โ Vercel ์๋ ๋ฐฐํฌ
## ํ์ผ ๊ตฌ์กฐ
- app/ โ ํ์ด์ง (App Router)
- components/ui/ โ ์ฌ์ฌ์ฉ UI ์ปดํฌ๋ํธ
- lib/ โ ์ ํธ ํจ์
- public/ โ ์ด๋ฏธ์ง, ํฐํธ
## ๋์์ธ ๊ท์น
- ํฐํธ: Pretendard
- ๋ฉ์ธ ์์: #171a20 (near-black)
- ๊ฐ์กฐ ์์: #3e6ae1 (blue)
- ๋ชจ์๋ฆฌ: rounded-xl (์นด๋), rounded-md (๋ฒํผ)
- ์ฌ๋ฐฑ: section ๊ฐ py-20
## ์ฝ๋ฉ ๊ท์น
- ์ปดํฌ๋ํธ: export default function
- CSS: Tailwind๋ง (์ธ๋ผ์ธ style ๊ธ์ง)
- ์ด๋ฏธ์ง: next/image ํ์
- ํ๊ตญ์ด ์ฝํ
์ธ
## ์ฃผ์
- .env.local ์ปค๋ฐ ๊ธ์ง
- public/์ 10MB ์ด์ ํ์ผ ์ฌ๋ฆฌ์ง ๋ง2. ์๋ํ ์คํฌ๋ฆฝํธ ํ๋ก์ ํธ (Python)
๋ฐ์ดํฐ ์์ง, ๋ณด๊ณ ์ ์๋ํ, ์์ ์ฒ๋ฆฌ ๋ฑ
# CLAUDE.md
## ํ๋ก์ ํธ
์
๋ฌด ์๋ํ ์คํฌ๋ฆฝํธ ๋ชจ์. DART ๊ณต์ ์์ง, ์์
์ฒ๋ฆฌ, ๋ฉ์ผ ๋ฐ์ก.
## ํ๊ฒฝ
- Python 3.12
- ๊ฐ์ํ๊ฒฝ: .venv (python -m venv .venv)
- ํจํค์ง: requirements.txt
## ์คํ
```bash
source .venv/bin/activate # Mac/Linux
.venv\Scripts\activate # Windows
pip install -r requirements.txt
python main.py
```
## ํ์ผ ๊ตฌ์กฐ
- scripts/ โ ๊ฐ๋ณ ์๋ํ ์คํฌ๋ฆฝํธ
- data/ โ ์
๋ ฅ ๋ฐ์ดํฐ (CSV, Excel)
- output/ โ ์คํ ๊ฒฐ๊ณผ (gitignore)
- utils/ โ ๊ณตํต ์ ํธ ํจ์
- .env โ API ํค (gitignore)
## API ์ฐ๋
- DART: https://opendart.fss.or.kr/guide/main.do
- Gemini: https://ai.google.dev/docs
- ๋ชจ๋ API ํค๋ .env์์ ์ฝ๊ธฐ
## ๊ท์น
- ์๋ฌ ์ฒ๋ฆฌ: try/except ํ์
- ๋ก๊น
: print ๋์ logging ๋ชจ๋ ์ฌ์ฉ
- ํ์
ํํธ: ํจ์ ์๊ทธ๋์ฒ์ ํ์
- ํฐ ํ์ผ(>10MB)์ output/์ ์ ์ฅ3. ๊ฐ์ธ ํ์ต ํ๋ก์ ํธ (๊ฐ๋จํ๊ฒ)
Claude Code๋ฅผ ์ฒ์ ๋ฐฐ์ฐ๋ฉด์ ๋ง๋๋ ์ค์ต ํ๋ก์ ํธ
# CLAUDE.md
## ํ๋ก์ ํธ
Claude Code ํ์ต์ฉ ์คํ ํ๋ก์ ํธ.
์์ ๋กญ๊ฒ ํ
์คํธํ๋ ๊ณต๊ฐ.
## ํ๊ฒฝ
- Node.js 22
- ๋ณ๋ ํ๋ ์์ํฌ ์์
## ๊ท์น
- ์์ ๋กญ๊ฒ ์คํ (๊นจ์ ธ๋ ๊ด์ฐฎ์)
- ๊ฒฐ๊ณผ๋ฌผ์ output/ ํด๋์ ์ ์ฅ
- ํ๊ตญ์ด๋ก ์ฃผ์ ์์ฑ
## ๋ฉ๋ชจ
- ์ด ํ๋ก์ ํธ์์ ์คํํ ๋ด์ฉ์ ๋์ค์ ์ค์ ํ๋ก์ ํธ์ ์ ์ฉ ์์ ์ฒ์์ ์งง๊ฒ ์์ํ์ธ์
CLAUDE.md๊ฐ ๊ธธ๋ค๊ณ ์ข์ ๊ฒ ์๋์์. ์ฒ์์๋ ํ๋ก์ ํธ ์ค๋ช 3์ค + ๋ช ๋ น์ด + ํ์ผ ๊ตฌ์กฐ ์ ๋๋ฉด ์ถฉ๋ถํด์. ์ฐ๋ค๊ฐ โ์ด๊ฒ๋ ์๋ ค์ค์ผ๊ฒ ๋คโ ์ถ์ ๊ฒ ์๊ธฐ๋ฉด ๊ทธ๋ ์ถ๊ฐํ์ธ์.
์ง์ ํด๋ณด๊ธฐ
์ง๊ธ ๋น์ฅ CLAUDE.md๋ฅผ ๋ง๋ค์ด๋ณด์ธ์. 5๋ถ์ด๋ฉด ๋ผ์.
์ค์ต 1: /init์ผ๋ก ์๋ ์์ฑ
๊ธฐ์กด ํ๋ก์ ํธ ํด๋์์ Claude Code๋ฅผ ์คํํ๊ณ /init์ ์
๋ ฅํ์ธ์.
cd ๋ด-ํ๋ก์ ํธ-ํด๋
claude/initClaude Code๊ฐ ํ๋ก์ ํธ๋ฅผ ๋ถ์ํด์ CLAUDE.md๋ฅผ ๋ง๋ค์ด์ค์. ๋ด์ฉ์ ํ์ธํ๊ณ , ๋ถ์กฑํ ๋ถ๋ถ์ด ์์ผ๋ฉด ์ถ๊ฐํ์ธ์.
์ค์ต 2: ์ ์ญ CLAUDE.md ๋ง๋ค๊ธฐ
๋ชจ๋ ํ๋ก์ ํธ์ ์ ์ฉ๋๋ ๊ฐ์ธ ์ค์ ์ ๋ง๋ค์ด๋ณด์ธ์.
~/.claude/CLAUDE.md ํ์ผ์ ๋ง๋ค์ด์ค.
๋ด์ฉ:
- ํ๊ตญ์ด๋ก ๋ต๋ณํด์ค
- ์ปค๋ฐ ๋ฉ์์ง๋ conventional commit ํ์
- ์ฝ๋ ์ฃผ์์ ํ๊ตญ์ด๋ก์ค์ต 3: CLAUDE.md ํจ๊ณผ ์ฒดํํ๊ธฐ
CLAUDE.md๋ฅผ ๋ง๋ ๋ค, ์ ๋ํ๋ฅผ ์์ํด์ ๊ท์น์ด ์๋์ผ๋ก ์ ์ฉ๋๋์ง ํ์ธํด๋ณด์ธ์.
# CLAUDE.md์ "์ปดํฌ๋ํธ๋ ํ์ดํ ํจ์๋ก"๋ผ๊ณ ์ ์ด๋๋ค๋ฉด:
๋ฒํผ ์ปดํฌ๋ํธ ๋ง๋ค์ด์ค.
# โ Claude Code๊ฐ ํ์ดํ ํจ์๋ก ๋ง๋ค์ด์ผ ํด์.
# ์ ๊ทธ๋ฌ๋ฉด CLAUDE.md๋ฅผ ์ ๋๋ก ์ฝ์ง ๋ชปํ ๊ฑฐ์์.ํ์ธ ์ฒดํฌ๋ฆฌ์คํธ
/init์ด ์ ๋๋ฉด Claude Code ๋ฒ์ ์ ํ์ธํด๋ณด์ธ์.claude --version์ผ๋ก ํ์ธํ ์ ์๊ณ ,npm update -g @anthropic-ai/claude-code๋ก ์
๋ฐ์ดํธํ ์ ์์ด์.
CLAUDE.md ์์ฑ ํ + ์ถ์ฒ
CLAUDE.md๋ฅผ ๋ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๊ธฐ ์ํ ์ค์ ํ๋ค์ด์์.
1. ๊ผญ ๋ฃ์ด์ผ ํ 4๊ฐ์ง
CLAUDE.md์ ์ต์ํ ์ด 4๊ฐ์ง๋ ๋ฃ์ผ์ธ์. ์ด๊ฒ๋ง ์์ด๋ 80%์ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์์ด์.
1. ํ๋ก์ ํธ ํ ์ค ์ค๋ช
โ์ด์ปค๋จธ์ค ํ๋ซํผ ๋ฐฑ์๋โ
2. ์คํ/๋น๋ ๋ช ๋ น์ด
npm run dev, npm run build
3. ํต์ฌ ํ์ผ ๊ตฌ์กฐ
์ด๋์ ๋ญ๊ฐ ์๋์ง
4. ์ ๋ ํ๋ฉด ์ ๋๋ ๊ฒ
.env ์ปค๋ฐ ๊ธ์ง, main ์ง์ push ๊ธ์ง
2. ๊ฐ๊ฒฐํ๊ฒ ์ฐ์ธ์
CLAUDE.md๋ ์ฅํธ ์์ค์ด ์๋์์.๋ถ๋ฆฟ ํฌ์ธํธ์ ์ฝ๋ ๋ธ๋ก์ผ๋ก ํต์ฌ๋ง ๊ฐ๊ฒฐํ๊ฒ ์ ์ผ์ธ์. Claude Code๋ ๊ธ์ด ๊ธธ์ด๋ ๋ค ์ฝ๊ธด ํ์ง๋ง, ํต์ฌ์ด ๋ฌปํ๋ฉด ํจ๊ณผ๊ฐ ๋จ์ด์ ธ์.
3. ์ง์ํ์ผ๋ก ์ฐ์ธ์
โ์ด ํ๋ก์ ํธ์์๋ TypeScript๋ฅผ ์๋๋คโ๋ณด๋คโTypeScript strict ๋ชจ๋๋ฅผ ์ฌ์ฉํ์ธ์. any ํ์ ์ ๊ธ์ง์ ๋๋ค.โ์ฒ๋ผ ์ง์ ์ ์ธ ์ง์ํ์ด ํจ๊ณผ์ ์ด์์. Claude Code๋ ๋ช ํํ ์ง์๋ฅผ ๋ ์ ๋ฐ๋ผ์.
4. Git์ ์ปค๋ฐํ์ธ์
CLAUDE.md๋ ํ๋ก์ ํธ์ ์ผ๋ถ์์.๋ฐ๋์ Git์ ์ปค๋ฐํด์ ํ์๋ค๊ณผ ๊ณต์ ํ์ธ์. .gitignore์ ๋ฃ์ผ๋ฉด ์ ๋ผ์! ํ์ ๋ชจ๋๊ฐ ๊ฐ์ ๊ท์น์ผ๋ก ์์ ํ ์ ์๊ฒ์.
5. ์ด์์๋ ๋ฌธ์๋ก ๊ด๋ฆฌํ์ธ์
CLAUDE.md๋ ํ๋ฒ ์ฐ๊ณ ๋์ด ์๋์์. ํ๋ก์ ํธ๊ฐ ๋ฐ์ ํ๋ฉด CLAUDE.md๋ ํจ๊ป ์ ๋ฐ์ดํธํ์ธ์. ์๋ก์ด ๊ท์น์ด ์๊ธฐ๋ฉด ์ถ๊ฐํ๊ณ , ์ค๋๋ ๊ท์น์ ์ญ์ ํ์ธ์. Claude Code์๊ฒ โCLAUDE.md ์ ๋ฐ์ดํธํด์คโ๋ผ๊ณ ์์ผ๋ ๋ผ์.
6. ๋ฏผ๊ฐ ์ ๋ณด๋ ๋ฃ์ง ๋ง์ธ์
CLAUDE.md๋ Git์ ์ฌ๋ผ๊ฐ๋ ํ์ผ์ด์์. API ํค, ๋น๋ฐ๋ฒํธ, ๋ด๋ถ ์๋ฒ ์ฃผ์ ๊ฐ์ ๋ฏผ๊ฐ ์ ๋ณด๋ ์ ๋ ๋ฃ์ง ๋ง์ธ์. ๋์ โAPI ํค๋ .env์์ ์ฝ๊ธฐโ์ฒ๋ผ ์ฐธ์กฐ ๋ฐฉ๋ฒ๋ง ์ ์ผ์ธ์.
| ์ด๋ฐ ๋ด์ฉ | ๋ฃ์ด์ผ ํ ๊น? |
|---|---|
| ๋น๋/์คํ ๋ช ๋ น์ด | ํ์ — ๊ฐ์ฅ ๋จผ์ ๋ฃ์ผ์ธ์ |
| ํ์ผ ๊ตฌ์กฐ ์ค๋ช | ํ์ — Claude๊ฐ ํ์ผ์ ๋นจ๋ฆฌ ์ฐพ์์ |
| ์ฝ๋ฉ ์คํ์ผ ๊ท์น | ๊ถ์ฅ — ์ผ๊ด๋ ์ฝ๋๋ฅผ ๋ฐ์ ์ ์์ด์ |
| ๊ธ์ง ์ฌํญ | ๊ถ์ฅ — ์ค์๋ฅผ ๋ฏธ๋ฆฌ ๋ฐฉ์งํด์ |
| API ํค, ๋น๋ฐ๋ฒํธ | ์ ๋ X — .env ํ์ผ์ ๋ถ๋ฆฌํ์ธ์ |
| ๋์์ธ ํ ํฐ (์์, ํฐํธ) | ๊ถ์ฅ — ๋์์ธ ์ผ๊ด์ฑ ์ ์ง |
| ๋ฐฐํฌ ์ ์ฐจ | ๊ถ์ฅ — ํนํ ํ ํ๋ก์ ํธ์์ |
| ๊ฐ์ธ ์ ํธ๋ | ์ ์ญ CLAUDE.md์ — ํ๋ก์ ํธ์ฉ์ด ์๋์์ |
CLAUDE.md + Auto Memory = ์ต๊ฐ ์กฐํฉ
CLAUDE.md(๊ณต์ ๊ท์น)์ Auto Memory(ํ์ต๋ ๊ฒฝํ)๊ฐ ํฉ์ณ์ง๋ฉด, Claude Code๋ ์ฌ๋ฌ๋ถ ํ๋ก์ ํธ์ ์ต๊ณ ์ ๋ฌธ๊ฐ๊ฐ ๋ผ์. ํ๋ฒ ์ธํ ํด๋๋ฉด ๋งค๋ฒ ๊ฐ์ ์ค๋ช ์ ๋ฐ๋ณตํ ํ์๊ฐ ์์ด์.
์ค๋ ํ ์ผ: CLAUDE.md ํ๋ ๋ง๋ค๊ธฐ
์ง๊ธ ์์
์ค์ธ ํ๋ก์ ํธ๊ฐ ์๋ค๋ฉด,/init ํ ๋ฒ๋ง ์คํํด๋ณด์ธ์. 5๋ถ ํฌ์๋ก ์์ผ๋ก์ ๋ชจ๋ ๋ํ๊ฐ ๋ฌ๋ผ์ ธ์. ์ง์ ํด๋ด์ผ โ์, ์ด๋์ ํ์ํ๊ตฌ๋โ๋ฅผ ๋๋ ์ ์์ด์.
์ฐธ๊ณ ์๋ฃ
- Claude Code CLAUDE.md ๊ณต์ ๋ฌธ์ โ docs.anthropic.com/en/docs/claude-code/memory#claudemd-files
- CLAUDE.md ์์ฑ ๋ฒ ์คํธ ํ๋ํฐ์ค โ docs.anthropic.com/en/docs/claude-code/memory#best-practices
- .claude/rules/ ์กฐ๊ฑด๋ถ ๊ท์น โ docs.anthropic.com/en/docs/claude-code/memory#rules