[AI] ๐ค ๋ฐ์ด๋ธ ์ฝ๋ฉ์ ํต์ฌ: Claude Code ํ๋ก์ ํธ ๋ฌธ์ ๊ด๋ฆฌ ์์ ๊ฐ์ด๋
AI์ ํจ๊ป ๊ฐ๋ฐํ๋ ์๋, ์ฝ๋๋ณด๋ค ์ค์ํ ๊ฑด ๋ฌธ์์ ๋๋ค.
Claude Code๋ฅผ ํ์ฉํ ํ๋ก์ ํธ์์ ๋ฌธ์๋ โ์ฌ๋์ด ์ฝ๊ธฐ ์ํ ๊ธฐ๋กโ์ด ์๋๋ผ โAI๊ฐ ๋งค ์ธ์ ๋ง๋ค ๊ธฐ์ต์ ๋ณต์ํ๊ธฐ ์ํ ์ฅ์นโ์ ๋๋ค. ์ด ๊ธ์์๋ ์ด๋ค ์ธ์ด, ์ด๋ค ํ๋ก์ ํธ์์๋ ํต์ฉ๋๋ ๋ฌธ์ ๊ด๋ฆฌ ์ ๋ต๊ณผ ์ค์ ํ๋กฌํํธ๋ฅผ ๊ณต์ ํฉ๋๋ค.
1๏ธโฃ ์ ๋ฌธ์ ๊ด๋ฆฌ๊ฐ ๋ฐ์ด๋ธ ์ฝ๋ฉ์ ํต์ฌ์ธ๊ฐ
AI๋ ๋งค ์ธ์ ๋ง๋ค ๊ธฐ์ต์ ์์ต๋๋ค
์ฌ๋์ ํ๋ก์ ํธ๋ฅผ ๋ฉฐ์น ๋์๋ฌ๋ ์ฝ๋๋ฅผ ๋ณด๋ฉด โ์ ๋ง์, ์ด๋ฌ์งโ ํ๊ณ ๊ฐ์ ๋์ฐพ์ต๋๋ค. ํ์ง๋ง AI๋ ๋งค๋ฒ 0๋ถํฐ ๋ค์ ์์ํฉ๋๋ค. ์ด์ ์ธ์ ์์ ์๋ฌด๋ฆฌ ์ข์ ๋ํ๋ฅผ ํ์ด๋, ์ ์ธ์ ์ด ์ด๋ฆฌ๋ฉด ๋ชจ๋ ๋งฅ๋ฝ์ด ์ฌ๋ผ์ง๋๋ค.
์ด๋ ๋ฌธ์๊ฐ AI์ ์ฅ๊ธฐ ๊ธฐ์ต ์ญํ ์ ํฉ๋๋ค. ์ ์ ๋ฆฌ๋ ๋ฌธ์๊ฐ ์์ผ๋ฉด AI๋ ๋ช ์ด ๋ง์ ํ๋ก์ ํธ ๋งฅ๋ฝ์ ํ์ ํ๊ณ ์์ ์ ๋ค์ด๊ฐ ์ ์์ต๋๋ค. ๋ฌธ์๊ฐ ์์ผ๋ฉด ๋งค๋ฒ ์ฒ์๋ถํฐ ์ค๋ช ํด์ผ ํ๊ณ , ๊ทธ๋งํผ ํ ํฐ์ ๋ญ๋นํ๊ฒ ๋ฉ๋๋ค.
๋ฌธ์๊ฐ ๊ณง ํ ํฐ์ ๋๋ค
Claude Code์์ ํ ํฐ ๋น์ฉ์ ์ด์ ๋ํ ๊ธธ์ด์ ๋น๋กํฉ๋๋ค. ๋งค ์๋ต๋ง๋ค ์ด์ ๋ํ ์ ์ฒด๋ฅผ ๋ค์ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
1
2
10ํด ๋ํ: ์ด์ 10ํด + ์ ์์ฒญ โ ํ ํฐ ์ ์
100ํด ๋ํ: ์ด์ 100ํด + ์ ์์ฒญ โ ํ ํฐ ๋ง์ (10๋ฐฐ)
๋ฌธ์๊ฐ ์ ๋ถ๋ฆฌ๋์ด ์์ผ๋ฉด AI๊ฐ โ์ด ์์ ์ PLAN.md๋ง ๋ณด๋ฉด ๋๊ฒ ๋คโ๊ณ ํ๋จํด์ ๋ถํ์ํ ํ์ผ์ ์ฝ์ง ์์ต๋๋ค. ๋ฌธ์ ๋ถ๋ฆฌ = ํ ํฐ ์ ์ฝ์ ๋๋ค.
์ฌ๋์ ์ํ ๋ฌธ์ vs AI๋ฅผ ์ํ ๋ฌธ์
์ ํต์ ์ธ ๋ฌธ์ํ๋ โ๋์ค์ ๋ค๋ฅธ ์ฌ๋์ด ์ฝ์ ๋โ๋ฅผ ์ํ ๊ฒ์ด์์ต๋๋ค. AI ์๋์ ๋ฌธ์ํ๋ โ5๋ถ ํ ์ ์ธ์ ์ AI๊ฐ ์ฝ์ ๋โ๋ฅผ ์ํ ๊ฒ์ ๋๋ค.
| ๊ด์ | ์ฌ๋์ ์ํ ๋ฌธ์ | AI๋ฅผ ์ํ ๋ฌธ์ |
|---|---|---|
| ๋ชฉ์ | ์ดํด์ ์ปค๋ฎค๋์ผ์ด์ | ๋งฅ๋ฝ ๋ณต์๊ณผ ์์ ์ง์ |
| ํ์ | ์์ ๋กญ๊ณ ์์ ์ | ๊ตฌ์กฐํ๋๊ณ ๋ช ํ |
| ์ ๋ฐ์ดํธ | ๊ฐ๋ (๋ฆด๋ฆฌ์ฆ ๋) | ๋งค ์ธ์ ๋ง๋ค |
| ๋ถ๋ฆฌ ๊ธฐ์ค | ๋ ์๋ณ | ์ญํ ๋ณ (์ง๋ฌธ๋ณ) |
2๏ธโฃ ํ๋ก์ ํธ ๋ฌธ์ ๊ตฌ์กฐ
์ถ์ฒ ํ์ผ ๊ตฌ์ฑ
์ด๋ค ์ธ์ด, ์ด๋ค ํ๋ก์ ํธ์์๋ ์ด 5๊ฐ ํ์ผ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค.
1
2
3
4
5
6
7
my-project/
โโโ README.md # "์ด ํ๋ก์ ํธ๋ ๋ญ์ง?"
โโโ CLAUDE.md # "์ด๋ป๊ฒ ์์
ํด์ผ ํ์ง?"
โโโ PLAN.md # "๋ฌด์์ ๋ง๋ค์ด์ผ ํ์ง?"
โโโ CHANGELOG.md # "์ธ์ ๋ญ๊ฐ ๋ฐ๋์์ง?"
โโโ DECISIONS.md # "์ ์ด๋ ๊ฒ ํ์ง?"
โโโ DESIGN.md # "UI๋ฅผ ์ด๋ป๊ฒ ๋ง๋ค์ง?" (ํ๋ก ํธ์๋ ํ๋ก์ ํธ์ธ ๊ฒฝ์ฐ)
๊ฐ ๋ฌธ์์ ์ญํ
ํต์ฌ์ ๊ฐ ๋ฌธ์๊ฐ ํ๋์ ์ง๋ฌธ์๋ง ๋ตํ๋๋ก ์ค๊ณํ๋ ๊ฒ์ ๋๋ค.
| ๋ฌธ์ | ๋ตํ๋ ์ง๋ฌธ | AI๊ฐ ์ฝ๋ ์์ | ์ ๋ฐ์ดํธ ๋น๋ |
|---|---|---|---|
| README.md | โ์ด ํ๋ก์ ํธ๋ ๋ญ์ง?โ | ์ ์ธ์ ์ฒซ ์ง์ | ๋ฆด๋ฆฌ์ฆ ๋ |
| CLAUDE.md | โ์ด๋ป๊ฒ ์์ ํด์ผ ํ์ง?โ | ๋ชจ๋ ์ธ์ ์์ ํญ์ | ๋งค ์ธ์ |
| PLAN.md | โ๋ฌด์์ ๋ง๋ค์ด์ผ ํ์ง?โ | ๊ธฐ๋ฅ ๊ตฌํ ์ | ๊ณํ ๋ณ๊ฒฝ ์ |
| CHANGELOG.md | โ์ธ์ ๋ญ๊ฐ ๋ฐ๋์์ง?โ | ๋ฒ๊ทธ ์ถ์ ์ | ๋งค ์์ ์๋ฃ |
| DECISIONS.md | โ์ ์ด๋ ๊ฒ ํ์ง?โ | ๊ตฌ์กฐ ๋ณ๊ฒฝ ๊ณ ๋ฏผ ์ | ์ค์ ๊ฒฐ์ ์ |
| DESIGN.md | โUI๋ฅผ ์ด๋ป๊ฒ ๋ง๋ค์ง?โ | UI ์์ ์ | ๋์์ธ ๋ณ๊ฒฝ ์ |
Tip: ๋ฌธ์๊ฐ ํ๋์ ๊ฑฐ๋ํ ํ์ผ์ด๋ฉด AI๊ฐ ๋งค๋ฒ ์ ์ฒด๋ฅผ ์ฝ๋๋ผ ํ ํฐ์ ๋ญ๋นํฉ๋๋ค. ๋ถ๋ฆฌํ๋ฉด ํ์ํ ๋ถ๋ถ๋ง ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์์ ์ ๋ค์ด๊ฐ ์ ์์ต๋๋ค.
3๏ธโฃ ๊ฐ ๋ฌธ์ ์์ฑ ๊ฐ์ด๋
CLAUDE.md โ AI์ โ์์ ๋งค๋ด์ผโ
CLAUDE.md๋ Claude Code๊ฐ ๋ชจ๋ ์ธ์ ์์ ์๋์ผ๋ก ์ฝ๋ ํ์ผ์ ๋๋ค. ํ๋ก์ ํธ ๋ฃจํธ์ ์์ผ๋ฉด Claude Code๊ฐ ์์ํ ๋ ๊ฐ์ฅ ๋จผ์ ์ฐธ๊ณ ํฉ๋๋ค. AI์ ์ฒซ ๋ฒ์งธ ๊ธฐ์ต์ด์ ๊ฐ์ฅ ์ค์ํ ๋ฌธ์์ ๋๋ค.
ํฌํจํด์ผ ํ ๋ด์ฉ:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# ํ๋ก์ ํธ๋ช
## ํ๋ก์ ํธ ๊ฐ์
ํ ์ค ์ค๋ช
## ๐ ๋ฌธ์ ์ธ๋ฑ์ค
- PLAN.md: ์ ์ฒด ๊ธฐ๋ฅ ์ค๊ณ ๋ฐ ๊ฐ๋ฐ ์ผ์
- DESIGN.md: ๋์์ธ ์์คํ
(ํ๋ก ํธ์๋์ธ ๊ฒฝ์ฐ)
- CHANGELOG.md: ๋ฒ์ ๋ณ ๋ณ๊ฒฝ ์ด๋ ฅ
- DECISIONS.md: ์ค์ํ ๊ธฐ์ ์ ๊ฒฐ์ ๊ธฐ๋ก
## ๐ฏ ์ฝ๋ฉ ๊ท์น
(ํ๋ก์ ํธ ๊ธฐ์ ์คํ์ ๋ง๋ ๊ท์น)
## ๐ ํ์ฌ ์งํ ์ํฉ
- Phase 1: โ
์๋ฃ
- Phase 2: ๐ ์งํ ์ค (์ด๋๊น์ง ํ๋์ง)
- Phase 3: โฌ ๋ฏธ์์
## ๐ ์์
์๋ฃ ์ ์๋ ์ํ ๊ท์น
1. CHANGELOG.md์ ๋ณ๊ฒฝ์ฌํญ ์ถ๊ฐ
2. ์ด ํ์ผ์ ์งํ ์ํฉ ์
๋ฐ์ดํธ
3. git commit ๋ฉ์์ง ๊ท์น: feat:, fix:, chore:, docs:
## โ ๏ธ ์๋ ค์ง ์ด์
- (ํ์ฌ ํด๊ฒฐ ์ค์ด๊ฑฐ๋ ์ธ์งํ๊ณ ์๋ ๋ฌธ์ ๋ค)
Tip: ์งง๊ณ ๊ฐ๋ณ๊ฒ ์ ์งํฉ๋๋ค (200์ค ์ดํ ๊ถ์ฅ). ์ธ๋ถ ๋ด์ฉ์ ๋ค๋ฅธ ๋ฌธ์๋ก ๋งํฌํ๊ณ , โํ์ฌ ์งํ ์ํฉโ์ ๋งค ์ธ์ ๋ง๋ค ์ ๋ฐ์ดํธํฉ๋๋ค.
PLAN.md โ ํ๋ก์ ํธ์ โ์ค๊ณ๋โ
๋ฌด์์ ๋ง๋ค์ด์ผ ํ๋์ง, ์ด๋ค ์์๋ก ๋ง๋ค์ง๋ฅผ ๋ด๋ ๋ฌธ์์ ๋๋ค. ๊ธฐ๋ฅ ์ ์, ๋ฐ์ดํฐ ๋ชจ๋ธ, ํ๋ฉด ๊ตฌ์ฑ, ๊ฐ๋ฐ ์ผ์ ์ด ํฌํจ๋ฉ๋๋ค.
ํฌํจํด์ผ ํ ๋ด์ฉ:
- ํ๋ก์ ํธ ๊ฐ์ (๋ชฉ์ , ๊ธฐ์ ์คํ)
- ํต์ฌ ๊ธฐ๋ฅ ์ ์
- ํ๋ฉด/API/๋ชจ๋ ์ค๊ณ
- ๋ฐ์ดํฐ ๋ชจ๋ธ (TypeScript interface, Python dataclass, DB ์คํค๋ง ๋ฑ)
- ํด๋ ๊ตฌ์กฐ
- Phase๋ณ ๊ฐ๋ฐ ์ผ์ (์ฒดํฌ๋ฆฌ์คํธ ํํ)
Tip: Phase๋ฅผ ์ฒดํฌ๋ฆฌ์คํธ(
- [ ])๋ก ์์ฑํ๋ฉด ์งํ ์ถ์ ์ด ์ฝ์ต๋๋ค. ๋๋ฌด ๊ธธ์ด์ง๋ฉด ๊ธฐ๋ฅ๋ณ๋ก ๋ถ๋ฆฌ(docs/features/)ํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
CHANGELOG.md โ ๋ณ๊ฒฝ ์ด๋ ฅ ์ถ์
Keep a Changelog ํ์์ ์ฌ์ฉํฉ๋๋ค. AI๊ฐ ๋ฒ๊ทธ ์ถ์ ์ โ์ต๊ทผ์ ๋ญ๊ฐ ๋ฐ๋์์ง?โ๋ฅผ ๋น ๋ฅด๊ฒ ํ์ ํ ์ ์์ต๋๋ค.
1
2
3
4
5
6
7
8
9
10
11
# Changelog
## [Unreleased]
### Added
- ์๋ก ์ถ๊ฐ๋ ๊ธฐ๋ฅ
## [1.0.0] - 2026-04-25
### Added
- ์ด๊ธฐ ์ถ์
### Fixed
- ์์ ํ ๋ฒ๊ทธ
DECISIONS.md โ ๊ธฐ์ ๊ฒฐ์ ๊ธฐ๋ก
โ์ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ผ์ง?โ, โ์ ์ด ๊ตฌ์กฐ๋ก ํ์ง?โ์ ๋ํ ๋ต์ ๋จ๊น๋๋ค. 3๊ฐ์ ํ ๋ฆฌํฉํ ๋งํ ๋ ๊ณผ๊ฑฐ์ ๋งฅ๋ฝ์ ๋ณต์ํ๋ ๋ฐ ๊ฒฐ์ ์ ์ธ ์ญํ ์ ํฉ๋๋ค.
1
2
3
4
5
6
7
8
# Architecture Decisions
## 001: ๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ์
- ๋ ์ง: 2026-04-20
- ์ํ: ์น์ธ๋จ
- ๊ฒฐ์ : ์๋ฒ ์์ด ๋ก์ปฌ ์ ์ฅ
- ์ด์ : ์๋ฒ ์ด์๋น ๋ถํ์, ๊ฐ์ธ์ ๋ณด ๋ฏธ์์ง
- ๊ฒฐ๊ณผ: ๊ธฐ๊ธฐ ๊ฐ ๋๊ธฐํ ๋ถ๊ฐ (v2.0์์ ๊ณ ๋ ค)
DESIGN.md โ ๋์์ธ ์ผ๊ด์ฑ (ํ๋ก ํธ์๋)
AI๋ ๋งค๋ฒ ๋ฏธ์ธํ๊ฒ ๋ค๋ฅธ ์คํ์ผ์ ์์ฑํ ์ ์์ต๋๋ค. DESIGN.md๊ฐ ์์ผ๋ฉด ์์, ํฐํธ, ๊ฐ๊ฒฉ, ์ปดํฌ๋ํธ ๊ท์น์ ์ผ๊ด๋๊ฒ ์ ์งํ ์ ์์ต๋๋ค.
ํฌํจํด์ผ ํ ๋ด์ฉ:
- ์ปฌ๋ฌ ํ๋ ํธ (์ ํํ hex ์ฝ๋)
- ํ์ดํฌ๊ทธ๋ํผ (ํฐํธ, ์ฌ์ด์ฆ ์ค์ผ์ผ)
- ๊ฐ๊ฒฉ ์์คํ (4, 8, 12, 16, 24, 32โฆ)
- ๋ชจ์๋ฆฌ ๋ฅ๊ธ๊ธฐ ์ค์ผ์ผ
- ์ปดํฌ๋ํธ๋ณ ๊ท์น (๋ฒํผ, ์นด๋, ์ ๋ ฅ ํ๋)
- ์ ๋๋ฉ์ด์ ๊ฐ์ด๋
- ์นดํผ๋ผ์ดํ ํค
4๏ธโฃ ์ธ์ด๋ณ ์ด๊ธฐํ ํ๋กฌํํธ
๊ณตํต ํ๋กฌํํธ (๋ชจ๋ ํ๋ก์ ํธ)
์ด๋ค ๊ธฐ์ ์คํ์ด๋ ์ด ํ๋กฌํํธ๋ก ๋ฌธ์ ๊ตฌ์กฐ๋ฅผ ์ด๊ธฐํํ ์ ์์ต๋๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
์๋ ์ง์์ฌํญ์ ์์๋๋ก ์คํํด์ค.
## ์ฌ์ ํ์
๋จผ์ ํ๋ก์ ํธ ๋ฃจํธ์ ๋ชจ๋ ์ค์ ํ์ผ์ ์ฝ๊ณ
๊ธฐ์ ์คํ, ๊ตฌ์กฐ, ํ์ฌ ์ํ๋ฅผ ํ์
ํด.
## ์์ฑํ ํ์ผ
### 1. README.md
- ํ๋ก์ ํธ ์๊ฐ, ์ฃผ์ ๊ธฐ๋ฅ, ๊ธฐ์ ์คํ
- ์ค์น ๋ฐ ์คํ ๋ฐฉ๋ฒ
- ๋ฑ์ง ํฌํจ (๊ธฐ์ ์คํ ๊ธฐ๋ฐ ์๋ ๊ฐ์ง)
### 2. CLAUDE.md
- ๋ฌธ์ ์ธ๋ฑ์ค
- ์ฝ๋ฉ ๊ท์น (๊ธฐ์ ์คํ์ ๋ง๊ฒ ์๋ ์ค์ )
- ํ์ฌ ์งํ ์ํฉ
- ์์
์๋ฃ ์ ์๋ ์ํ ๊ท์น
### 3. PLAN.md
- ํ๋ก์ ํธ ๊ฐ์
- ํต์ฌ ๊ธฐ๋ฅ ์ ์
- ๋ฐ์ดํฐ ๋ชจ๋ธ
- ํด๋ ๊ตฌ์กฐ
- Phase๋ณ ๊ฐ๋ฐ ์ผ์ (์ฒดํฌ๋ฆฌ์คํธ)
### 4. CHANGELOG.md
- Keep a Changelog ํ์
- ํ์ฌ๊น์ง ์์
๋ด์ฉ ๊ธฐ๋ฐ์ผ๋ก ์ด์
### 5. DECISIONS.md
- ADR ํ์
- ํ๋ก์ ํธ์์ ํ์
๋ ๊ธฐ์ ๊ฒฐ์ ์๋ ์ถ์ถ
## ์๋ฃ ํ
๊ฐ ํ์ผ ์์ฑ ๊ฒฐ๊ณผ๋ฅผ ์ฒดํฌ๋ฆฌ์คํธ๋ก ๋ณด๊ณ
React Native / TypeScript ํ๋ก์ ํธ (๋ชจ๋ฐ์ผ ์ฑ)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
์๋ ์ง์์ฌํญ์ ์์๋๋ก ์คํํด์ค.
## ์ฌ์ ํ์
package.json, tsconfig.json, app.json์ ์ฝ๊ณ
๊ธฐ์ ์คํ๊ณผ ํ์ฌ ํ๋ก์ ํธ ์ํ๋ฅผ ํ์
ํด.
## ์์ฑํ ํ์ผ
### 1. README.md
- ์ฑ ์๊ฐ, ์ฃผ์ ๊ธฐ๋ฅ, ๊ธฐ์ ์คํ
- ์ค์น: npm install, npx expo start
- ๋ฑ์ง: React Native, Expo, TypeScript
### 2. CLAUDE.md (์๋ ๊ตฌ์กฐ๋ก)
- ๋ฌธ์ ์ธ๋ฑ์ค (README, PLAN, DESIGN, CHANGELOG, DECISIONS)
- ์ฝ๋ฉ ๊ท์น:
- TypeScript strict mode
- ํจ์ํ ์ปดํฌ๋ํธ + hooks
- StyleSheet.create ์ฌ์ฉ (์ธ๋ผ์ธ ์ต์ํ)
- camelCase (๋ณ์), PascalCase (์ปดํฌ๋ํธ/ํ์
)
- ํ์ฌ ์งํ ์ํฉ (Phase๋ณ ์ฒดํฌ๋ฐ์ค)
- ์์
์๋ฃ ์: CHANGELOG ์
๋ฐ์ดํธ, ์งํ ์ํฉ ๊ฐฑ์
- ์ปค๋ฐ ๊ท์น: feat:, fix:, chore:, docs:, refactor:
### 3. PLAN.md
- ํ๋ก์ ํธ ๊ฐ์ (๋ชฉ์ , ํ๋ซํผ, ๊ธฐ์ ์คํ)
- ํ๋ฉด ๊ตฌ์ฑ (ํญ/์คํ ๋ค๋น๊ฒ์ด์
๊ตฌ์กฐ)
- ํต์ฌ ๊ธฐ๋ฅ ์ ์ (์ฐ์ ์์ P0/P1/P2)
- TypeScript interface ์ ์
- ํด๋ ๊ตฌ์กฐ (app/, components/, stores/, services/)
- Phase๋ณ ๊ฐ๋ฐ ์ผ์ (์ฒดํฌ๋ฆฌ์คํธ)
- ๋ฐฐํฌ ์๊ฑด (App Store, Google Play)
### 4. DESIGN.md
- ์ปฌ๋ฌ ํ๋ ํธ (hex ์ฝ๋)
- ํ์ดํฌ๊ทธ๋ํผ (ํฐํธ, ์ฌ์ด์ฆ ์ค์ผ์ผ)
- ๊ฐ๊ฒฉ ์์คํ
(4/8/12/16/24/32)
- ๋ชจ์๋ฆฌ ๋ฅ๊ธ๊ธฐ ์ค์ผ์ผ
- ์ปดํฌ๋ํธ๋ณ ๊ท์น (๋ฒํผ, ์นด๋, ์
๋ ฅ ํ๋)
- ์ ๋๋ฉ์ด์
๊ฐ์ด๋
- ๋คํฌ ๋ชจ๋ ๋์
### 5. CHANGELOG.md + DECISIONS.md
- ํ์ฌ๊น์ง ์์
๊ธฐ๋ฐ์ผ๋ก ์ด์
## ์๋ฃ ํ ์ฒดํฌ๋ฆฌ์คํธ๋ก ๋ณด๊ณ
Python ํ๋ก์ ํธ (๋ฐฑ์๋ API / ๋ฐ์ดํฐ / ์๋ํ)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
์๋ ์ง์์ฌํญ์ ์์๋๋ก ์คํํด์ค.
## ์ฌ์ ํ์
requirements.txt (๋๋ pyproject.toml, Pipfile),
main ์ง์
์ , ๊ธฐ์กด ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ์ฝ๊ณ ํ์
ํด.
## ์์ฑํ ํ์ผ
### 1. README.md
- ํ๋ก์ ํธ ์๊ฐ, ์ฃผ์ ๊ธฐ๋ฅ
- ์ค์น: pip install -r requirements.txt
- ์คํ: python main.py ๋๋ uvicorn/flask ๋ช
๋ น์ด
- ํ๊ฒฝ ๋ณ์ ์ค๋ช
(.env.example ํฌํจ)
- ๋ฑ์ง: Python ๋ฒ์ , ํ๋ ์์ํฌ
### 2. CLAUDE.md (์๋ ๊ตฌ์กฐ๋ก)
- ๋ฌธ์ ์ธ๋ฑ์ค
- ์ฝ๋ฉ ๊ท์น:
- PEP 8 ์ค์
- Type hints ํ์
- docstring: Google style
- ํจ์๋ ๋จ์ผ ์ฑ
์ ์์น
- ํ
์คํธ: pytest ์ฌ์ฉ
- ํ์ฌ ์งํ ์ํฉ
- ์์
์๋ฃ ์: CHANGELOG ์
๋ฐ์ดํธ, pytest ์คํ
- ์ปค๋ฐ ๊ท์น: feat:, fix:, chore:
### 3. PLAN.md
- ํ๋ก์ ํธ ๊ฐ์ (๋ชฉ์ , ๊ธฐ์ ์คํ)
- ํต์ฌ ๊ธฐ๋ฅ/๋ชจ๋ ์ ์
- API ์๋ํฌ์ธํธ ์ค๊ณ (REST/GraphQL์ธ ๊ฒฝ์ฐ)
- ๋ฐ์ดํฐ ๋ชจ๋ธ (SQLAlchemy/Pydantic/dataclass)
- ํด๋ ๊ตฌ์กฐ (app/, models/, services/, utils/, tests/)
- Phase๋ณ ๊ฐ๋ฐ ์ผ์ (์ฒดํฌ๋ฆฌ์คํธ)
### 4. CHANGELOG.md + DECISIONS.md
- ํ์ฌ๊น์ง ์์
๊ธฐ๋ฐ์ผ๋ก ์ด์
## ์๋ฃ ํ ์ฒดํฌ๋ฆฌ์คํธ๋ก ๋ณด๊ณ
Swift ํ๋ก์ ํธ (iOS ๋ค์ดํฐ๋ธ ์ฑ)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
์๋ ์ง์์ฌํญ์ ์์๋๋ก ์คํํด์ค.
## ์ฌ์ ํ์
.xcodeproj ๋๋ Package.swift, Info.plist,
๊ธฐ์กด Swift ํ์ผ ๊ตฌ์กฐ๋ฅผ ์ฝ๊ณ ํ์
ํด.
## ์์ฑํ ํ์ผ
### 1. README.md
- ์ฑ ์๊ฐ, ์ฃผ์ ๊ธฐ๋ฅ, ์คํฌ๋ฆฐ์ท ์น์
- ์๊ตฌ์ฌํญ: Xcode ๋ฒ์ , iOS ์ต์ ๋ฒ์
- ๋น๋: Xcode์์ ์ด๊ณ Run
- ๋ฑ์ง: Swift, iOS, Xcode
### 2. CLAUDE.md (์๋ ๊ตฌ์กฐ๋ก)
- ๋ฌธ์ ์ธ๋ฑ์ค
- ์ฝ๋ฉ ๊ท์น:
- Swift API Design Guidelines ์ค์
- MVVM ๋๋ SwiftUI+Observable ์ํคํ
์ฒ
- guard let ์ฐ์ ์ฌ์ฉ (if let๋ณด๋ค)
- Protocol ๊ธฐ๋ฐ ์์กด์ฑ ์ฃผ์
- ๋ค์ด๋ฐ: camelCase (ํ๋กํผํฐ), PascalCase (ํ์
)
- ํ์ฌ ์งํ ์ํฉ
- ์์
์๋ฃ ์: CHANGELOG ์
๋ฐ์ดํธ, ๋น๋ ํ์ธ
- ์ปค๋ฐ ๊ท์น: feat:, fix:, chore:
### 3. PLAN.md
- ์ฑ ๊ฐ์ (๋ชฉ์ , ํ๊ฒ iOS ๋ฒ์ )
- ํ๋ฉด ๊ตฌ์ฑ (NavigationStack/TabView ๊ตฌ์กฐ)
- ํต์ฌ ๊ธฐ๋ฅ ์ ์
- ๋ฐ์ดํฐ ๋ชจ๋ธ (struct, Codable)
- ํด๋ ๊ตฌ์กฐ (Views/, Models/, ViewModels/, Services/)
- Phase๋ณ ๊ฐ๋ฐ ์ผ์
### 4. DESIGN.md
- Color Assets ์ ์
- Typography ์ค์ผ์ผ
- ์ปดํฌ๋ํธ๋ณ ๊ท์น
- ๋คํฌ ๋ชจ๋ ๋์
- SF Symbols ์ฌ์ฉ ๊ฐ์ด๋
### 5. CHANGELOG.md + DECISIONS.md
## ์๋ฃ ํ ์ฒดํฌ๋ฆฌ์คํธ๋ก ๋ณด๊ณ
Java / Kotlin ํ๋ก์ ํธ (Android / Spring Boot)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
์๋ ์ง์์ฌํญ์ ์์๋๋ก ์คํํด์ค.
## ์ฌ์ ํ์
build.gradle (๋๋ pom.xml), ๊ธฐ์กด ์์ค ๊ตฌ์กฐ,
application.properties๋ฅผ ์ฝ๊ณ ํ์
ํด.
## ์์ฑํ ํ์ผ
### 1. README.md
- ํ๋ก์ ํธ ์๊ฐ, ์ฃผ์ ๊ธฐ๋ฅ
- ์๊ตฌ์ฌํญ: JDK ๋ฒ์ , Gradle/Maven
- ๋น๋: ./gradlew build (๋๋ mvn package)
- ์คํ: ./gradlew bootRun (Spring) ๋๋ Android Studio
- ๋ฑ์ง: Java/Kotlin, Spring Boot/Android
### 2. CLAUDE.md (์๋ ๊ตฌ์กฐ๋ก)
- ๋ฌธ์ ์ธ๋ฑ์ค
- ์ฝ๋ฉ ๊ท์น:
- [Android] Kotlin ์ฐ์ , Jetpack Compose UI
- [Spring] Java/Kotlin, ๊ณ์ธต ๊ตฌ์กฐ (ControllerโServiceโRepository)
- ๋ค์ด๋ฐ: camelCase (๋ฉ์๋), PascalCase (ํด๋์ค)
- ์์ธ ์ฒ๋ฆฌ: ์ปค์คํ
Exception ์ฌ์ฉ
- ํ
์คํธ: JUnit 5 + Mockito
- ํ์ฌ ์งํ ์ํฉ
- ์์
์๋ฃ ์: CHANGELOG ์
๋ฐ์ดํธ, ๋น๋ ํ์ธ
- ์ปค๋ฐ ๊ท์น: feat:, fix:, chore:
### 3. PLAN.md
- ํ๋ก์ ํธ ๊ฐ์
- [Android] ํ๋ฉด ๊ตฌ์ฑ (Navigation Graph)
- [Spring] API ์๋ํฌ์ธํธ ์ค๊ณ
- ๋ฐ์ดํฐ ๋ชจ๋ธ (Entity, DTO)
- ํด๋ ๊ตฌ์กฐ
- Phase๋ณ ๊ฐ๋ฐ ์ผ์
### 4. CHANGELOG.md + DECISIONS.md
## ์๋ฃ ํ ์ฒดํฌ๋ฆฌ์คํธ๋ก ๋ณด๊ณ
5๏ธโฃ ๋ณด์ ๊ฐ์ด๋: API Key์ ํ๊ฒฝ ๋ณ์
AI๊ฐ ์ ์ง๋ฅด๋ ๋ณด์ ์ค์
๋ฐ์ด๋ธ ์ฝ๋ฉ์์ ๊ฐ์ฅ ํํ ๋ณด์ ์ฌ๊ณ ๋ AI๊ฐ ํ๊ฒฝ ๋ณ์๋ฅผ ์๋ชป ๋ค๋ฃจ๋ ๊ฒ์ ๋๋ค.
1
2
3
4
5
6
์ค์ ์ฌ๊ณ ์ฌ๋ก:
1. AI๊ฐ .env์ API Key๋ฅผ ์ฝ๋์ ํ๋์ฝ๋ฉ
2. AI๊ฐ CLAUDE.md์ ์ค์ ํค ๊ฐ์ ๊ธฐ๋ก
3. AI๊ฐ .env ํ์ผ์ git commit์ ํฌํจ
4. AI๊ฐ ๋๋ฒ๊น
์ค ์ฝ์์ ํค๋ฅผ ์ถ๋ ฅํ๋ ์ฝ๋ ์์ฑ
5. AI๊ฐ README์ "์คํ ์ ์ด ํค๋ฅผ ๋ฃ์ผ์ธ์"๋ผ๋ฉฐ ์ค์ ๊ฐ ๋
ธ์ถ
โ ๏ธ ํ๋ฒ GitHub์ ์ฌ๋ผ๊ฐ ํค๋ ๋ช ์ด ๋ด์ ๋ด์ด ์์งํฉ๋๋ค. ์ญ์ ํด๋ git ํ์คํ ๋ฆฌ์ ๋จ์์์ด์ ์์ ์ ๊ฑฐ๊ฐ ์ด๋ ต์ต๋๋ค.
CLAUDE.md์ ๋ฃ์ด์ผ ํ ๋ณด์ ๊ท์น
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
## ๐ ๋ณด์ ๊ท์น (์ ๋ ์๋ฐ ๊ธ์ง)
### ํ๊ฒฝ ๋ณ์
- .env, .env.local ํ์ผ์ ์ค์ ๊ฐ์ ์ ๋ ์ฝ๋๋ ๋ฌธ์์ ๊ธฐ๋กํ์ง ๋ง ๊ฒ
- API Key, Secret, Token, Password๋ฅผ ์ ๋ ํ๋์ฝ๋ฉํ์ง ๋ง ๊ฒ
- ํ๊ฒฝ ๋ณ์๋ ๋ฐ๋์ process.env.VARIABLE_NAME์ผ๋ก ์ฐธ์กฐ
- ๋๋ฒ๊น
์์๋ console.log๋ก ํ๊ฒฝ ๋ณ์ ๊ฐ์ ์ถ๋ ฅํ์ง ๋ง ๊ฒ
- ์ปค๋ฐ ์ ๋ฐ๋์ .env๊ฐ .gitignore์ ํฌํจ๋์ด ์๋์ง ํ์ธ
### ๋ฌธ์์ ์ ์ ๋
- ํ์ํ ํ๊ฒฝ ๋ณ์์ "์ด๋ฆ"๋ง ๊ธฐ๋ก (๊ฐ์ ์ ๋ ๊ธฐ๋ก ๊ธ์ง)
- .env.example ํ์ผ์ ๋น ๊ฐ์ผ๋ก ๋ชฉ๋ก๋ง ์ ๊ณต
### ๊ธ์ง ํจํด
โ const API_KEY = "sk-abc123..."
โ OPENWEATHER_API_KEY=abc123 (CLAUDE.md์ ์ค์ ๊ฐ)
โ console.log("Key:", process.env.API_KEY)
โ fetch(`...?key=abc123...`)
### ํ์ฉ ํจํด
โ
const API_KEY = process.env.OPENWEATHER_API_KEY
โ
OPENWEATHER_API_KEY=your_key_here (.env.example)
โ
"ํ์จ API Key๊ฐ ํ์ํฉ๋๋ค (.env ์ฐธ๊ณ )"
.env.example ํ์ผ ๊ด๋ฆฌ
ํ๋ก์ ํธ์ ํ์ํ ํ๊ฒฝ ๋ณ์๋ฅผ .env.example์ ๊ธฐ๋กํฉ๋๋ค. ์ด ํ์ผ์ git์ ํฌํจํด๋ ์์ ํฉ๋๋ค (์ค์ ๊ฐ์ด ์์ผ๋ฏ๋ก).
1
2
3
4
5
6
# .env.example (git์ ํฌํจ OK)
OPENWEATHER_API_KEY=your_key_here
EXCHANGE_RATE_API_KEY=your_key_here
GOOGLE_MAPS_API_KEY=your_key_here
ADMOB_ANDROID_APP_ID=ca-app-pub-xxx
ADMOB_IOS_APP_ID=ca-app-pub-xxx
1
2
3
# .env (git์ ์ ๋ ํฌํจ ๊ธ์ง)
OPENWEATHER_API_KEY=abc123์ค์ ํค๊ฐ
EXCHANGE_RATE_API_KEY=xyz789์ค์ ํค๊ฐ
.gitignore ํ์ ํญ๋ชฉ
1
2
3
4
5
6
7
8
9
10
# .gitignore
.env
.env.local
.env.production
.env.*.local
*.keystore
*.jks
*.p12
google-services.json
GoogleService-Info.plist
CLAUDE.md์ ํ๊ฒฝ ๋ณ์ ๋ชฉ๋ก ๊ธฐ๋ก ๋ฐฉ๋ฒ
1
2
3
4
5
6
7
8
9
10
## ๐ ํ์ํ ํ๊ฒฝ ๋ณ์
| ๋ณ์๋ช
| ์ฉ๋ | ๋ฐ๊ธ์ฒ |
|--------|------|--------|
| OPENWEATHER_API_KEY | ๋ ์จ ์กฐํ | openweathermap.org |
| EXCHANGE_RATE_API_KEY | ํ์จ ์กฐํ | exchangerate-api.com |
| GOOGLE_MAPS_API_KEY | ์ง๋ (Android) | Google Cloud Console |
โ ๏ธ ์ค์ ๊ฐ์ .env ํ์ผ์๋ง ์ ์ฅ. ์ด ๋ฌธ์์ ์ ๋ ๊ธฐ๋ก ๊ธ์ง.
โ ๏ธ .env.example ์ฐธ๊ณ ํ์ฌ ๋ก์ปฌ์ .env ํ์ผ ์์ฑํ ๊ฒ.
์ธ์ด๋ณ ํ๊ฒฝ ๋ณ์ ์ฐธ์กฐ ๋ฐฉ์
1
2
3
4
5
6
# Python
import os
API_KEY = os.environ.get("OPENWEATHER_API_KEY")
# ๋๋ python-dotenv ์ฌ์ฉ
from dotenv import load_dotenv
load_dotenv()
1
2
3
// TypeScript / React Native
const API_KEY = process.env.EXPO_PUBLIC_OPENWEATHER_API_KEY;
// Expo์์๋ EXPO_PUBLIC_ ์ ๋์ฌ ํ์
1
2
3
// Swift (iOS)
let apiKey = ProcessInfo.processInfo.environment["OPENWEATHER_API_KEY"]
// ๋๋ xcconfig ํ์ผ ์ฌ์ฉ
1
2
3
// Java / Kotlin (Android)
String apiKey = BuildConfig.OPENWEATHER_API_KEY;
// build.gradle์์ local.properties ์ฐธ์กฐ
๋ง์ฝ ํค๊ฐ ๋ ธ์ถ๋๋ค๋ฉด
1
2
3
4
5
6
1. ์ฆ์ ํด๋น ์๋น์ค์์ ํค ์ฌ๋ฐ๊ธ (๊ธฐ์กด ํค ๋นํ์ฑํ)
2. git ํ์คํ ๋ฆฌ์์ ์ ๊ฑฐ:
git filter-branch ๋๋ BFG Repo-Cleaner ์ฌ์ฉ
3. GitHub์์ "Secret scanning alert" ํ์ธ
4. .gitignore์ .env ์ถ๊ฐ ํ์ธ
5. ์ ํค๋ก .env ์
๋ฐ์ดํธ
6๏ธโฃ ์ธ์ ๊ด๋ฆฌ ์ ๋ต
์ธ์ ์ ์๋ฆฌ
Claude Code์ ํ ํฐ ๋น์ฉ์ ์ธ์ ๊ธธ์ด์ ๋น๋กํฉ๋๋ค. ํ ์ธ์ ์์ ๋ํ๊ฐ ๊ธธ์ด์ง์๋ก ๋งค ์๋ต๋ง๋ค ์ด์ ๋ํ ์ ์ฒด๋ฅผ ๋ค์ ์ฒ๋ฆฌํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
1
2
3
4
5
6
7
8
์ธ์
A (์งง์ ์ธ์
3๊ฐ):
์ธ์
1: 20ํด โ 20ํด๋ถ ํ ํฐ
์ธ์
2: 15ํด โ 15ํด๋ถ ํ ํฐ
์ธ์
3: 10ํด โ 10ํด๋ถ ํ ํฐ
์ธ์
B (๊ธด ์ธ์
1๊ฐ):
45ํด โ 1+2+3+...+45 = ๋์ 1,035ํด๋ถ ํ ํฐ
(์ด์ ๋ํ๊ฐ ๋งค๋ฒ ์ฌ์ฒ๋ฆฌ๋๋ฏ๋ก)
๊ฐ์ ์์ ์ด๋ผ๋ ์งง์ ์ธ์ ์ฌ๋ฌ ๊ฐ๊ฐ ๊ธด ์ธ์ ํ๋๋ณด๋ค ํ ํฐ ํจ์จ์ด ์ข์ต๋๋ค.
ํจ์จ์ ์ธ ์ธ์ ํจํด
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
์์
๋จ์๋ก ์ธ์
๋ถ๋ฆฌ (๊ฐ์ฅ ์ค์):
์ค์ : "์ฒดํฌ๋ฆฌ์คํธ ๋ฒ๊ทธ ์์ " โ exit
์คํ: "์ง๋ ํญ ๊ตฌํ" โ exit (์ ์ธ์
)
์ ๋
: "๋ฌธ์ ์ ๋ฆฌ" โ exit (์ ์ธ์
)
๊ธด ์ธ์
์ /compact๋ก ์์ถ:
์์
์ค ๋ํ๊ฐ 20ํด ๋์ด๊ฐ๋ฉด
/compact ์คํ โ ์ด์ ๋ด์ฉ ์์ฝ โ ํ ํฐ ์ ์ฝ
/resume์ผ๋ก ์ด์ ์ธ์
์ด์ดํ๊ธฐ:
claude --resume โ ์ธ์
๋ชฉ๋ก์์ ์ ํ
effort ๋ ๋ฒจ ์กฐ์ :
/effort low โ ์คํ ์์ , ํ
์คํธ ๋ณ๊ฒฝ
/effort medium โ ์ผ๋ฐ ๊ธฐ๋ฅ ๊ตฌํ (๊ธฐ๋ณธ๊ฐ)
/effort high โ ๋ณต์กํ ๋ก์ง, ๋ฉํฐํ์ผ ์์
/effort max โ ์ํคํ
์ฒ ์ค๊ณ, ํ๋ฆฌ์ง ์๋ ๋๋ฒ๊น
์ธ์ ๋๋ ํ์ด๋ฐ
1
2
3
4
5
6
7
8
9
๋์ด์ผ ํ ๋:
โ
ํ๋์ ์์
/์ด์๊ฐ ์๋ฃ๋์ ๋
โ
๋ค๋ฅธ ์ฃผ์ ๋ก ๋์ด๊ฐ ๋
โ
๋ํ๊ฐ 20~30ํด ์ด์ ๊ธธ์ด์ก์ ๋
์ ์งํด์ผ ํ ๋:
๐ ๊ฐ์ ํ์ผ์ ์ฐ์ ์์ ์ค์ผ ๋
๐ ๋๋ฒ๊น
์ด ์งํ ์ค์ผ ๋
๐ ๊ด๋ จ๋ ์์
์ ์ฐ์์ผ๋ก ํ ๋
7๏ธโฃ Claude Code ์๋ํ ์ค์
์ฌ๋์ ์ปค๋งจ๋ ๋ฑ๋ก
~/.claude/commands/ ํด๋์ ๋งํฌ๋ค์ด ํ์ผ์ ๋ง๋ค๋ฉด ์ด๋ค ํ๋ก์ ํธ์์๋ /๋ช
๋ น์ด๋ก ์คํํ ์ ์์ต๋๋ค.
1
mkdir -p ~/.claude/commands
๋ฌธ์ ์ด๊ธฐํ ์ปค๋งจ๋ (~/.claude/commands/init-docs.md):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# ํ๋ก์ ํธ ๋ฌธ์ ์ด๊ธฐํ
์ด ํ๋ก์ ํธ์ ๋ค์ ๋ฌธ์ ๊ตฌ์กฐ๋ฅผ ์์ฑํด์ค.
์คํ ์ ์ค์ ํ์ผ๋ค์ ์ฝ๊ณ ๊ธฐ์ ์คํ์ ํ์
ํ ๊ฒ.
## ์์ฑํ ํ์ผ
1. README.md (ํ๋ก์ ํธ ์๊ฐ, ๊ธฐ์ ์คํ, ์ค์น ๋ฐฉ๋ฒ)
2. CLAUDE.md (๋ฌธ์ ์ธ๋ฑ์ค, ์ฝ๋ฉ ๊ท์น, ์งํ ์ํฉ, ์๋ ์ํ ๊ท์น)
3. PLAN.md (๊ธฐ๋ฅ ์ค๊ณ, ๋ฐ์ดํฐ ๋ชจ๋ธ, ํด๋ ๊ตฌ์กฐ, ๊ฐ๋ฐ ์ผ์ )
4. CHANGELOG.md (Keep a Changelog ํ์)
5. DECISIONS.md (ADR ํ์)
## ๊ท์น
- ๊ธฐ์ ์คํ์ ์ค์ ํ์ผ์์ ์๋ ๊ฐ์ง
- ์ฝ๋ฉ ๊ท์น์ ๊ธฐ์ ์คํ์ ๋ง๊ฒ ์๋ ์ค์
- ๊ธฐ์กด ํ์ผ์ด ์์ผ๋ฉด ๋ฎ์ด์ฐ์ง ๋ง๊ณ ๋ณํฉ ์ ์
## ์๋ฃ ํ
์์ฑ ๊ฒฐ๊ณผ๋ฅผ ์ฒดํฌ๋ฆฌ์คํธ๋ก ๋ณด๊ณ
์ฌ์ฉ๋ฒ:
1
2
3
cd any-project
claude
/init-docs
์ํ ์ ๊ฒ ์ปค๋งจ๋ (~/.claude/commands/check-status.md):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# ํ๋ก์ ํธ ์ํ ์ ๊ฒ
ํ์ฌ ํ๋ก์ ํธ ์ํ๋ฅผ ์ ๊ฒํ๊ณ ๋ณด๊ณ ํด์ค.
## ์ ๊ฒ ํญ๋ชฉ
1. CLAUDE.md์ ์งํ ์ํฉ์ด ์ค์ ์ฝ๋์ ์ผ์นํ๋์ง
2. CHANGELOG.md๊ฐ ์ต์ ์ธ์ง
3. ์๋ ค์ง ๋ฒ๊ทธ๋ TODO๊ฐ ๋จ์์๋์ง
4. ๋น๋/ํ
์คํธ๊ฐ ์ ์์ ์ผ๋ก ํต๊ณผํ๋์ง
5. ๋ค์์ผ๋ก ํด์ผ ํ ์์
์ด ๋ญ์ง
## ๋ณด๊ณ ํ์
- ํ์ฌ ์ํ ์์ฝ
- ๋ถ์ผ์น ํญ๋ชฉ (์์ผ๋ฉด)
- ๋ค์ ์์
์ถ์ฒ
๋ฌธ์ ์ ๋ฆฌ ์ปค๋งจ๋ (~/.claude/commands/clean-docs.md):
1
2
3
4
5
6
7
8
9
10
11
12
13
# ๋ฌธ์ ์ ๋ฆฌ
ํ๋ก์ ํธ์ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ ๊ฒํ๊ณ ์ ๋ฆฌํด์ค.
## ์์
1. ์ค๋ณต๋ ๋ด์ฉ ํตํฉ
2. ์ค๋๋์ด ๊ด๋ จ ์์ด์ง ๋ด์ฉ ์ ๊ฑฐ
3. ๊ฐ ๋ฌธ์์ ์ญํ ์ด ๋ช
ํํ์ง ํ์ธ
4. ๋ฌธ์ ๊ฐ ๋งํฌ๊ฐ ์ฌ๋ฐ๋ฅธ์ง ํ์ธ
5. ํ์ํ๋ฉด ์ ๋ฌธ์ ๋ถ๋ฆฌ ์ ์
## ๋์ ํ์ผ
README.md, CLAUDE.md, PLAN.md, CHANGELOG.md, DECISIONS.md
๊ธ๋ก๋ฒ CLAUDE.md ์ค์
~/.claude/CLAUDE.md์ ๋ชจ๋ ํ๋ก์ ํธ ๊ณตํต ๊ท์น์ ๋ฃ์ด๋๋ฉด ์ด๋ค ํ๋ก์ ํธ์์๋ ์๋์ผ๋ก ์ ์ฉ๋ฉ๋๋ค.
1
touch ~/.claude/CLAUDE.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# ๊ธ๋ก๋ฒ Claude Code ๊ท์น
## ๋ชจ๋ ํ๋ก์ ํธ ๊ณตํต
### ๋ฌธ์ ๊ท์น
- README.md, CLAUDE.md, CHANGELOG.md๋ ํ์
- ์์
์๋ฃ ์ CHANGELOG.md ์
๋ฐ์ดํธ
- ์ค์ํ ๊ฒฐ์ ์ DECISIONS.md์ ๊ธฐ๋ก
### ์ปค๋ฐ ๋ฉ์์ง
- feat: ์ ๊ธฐ๋ฅ
- fix: ๋ฒ๊ทธ ์์
- chore: ์ค์ , ์์กด์ฑ
- docs: ๋ฌธ์ ๋ณ๊ฒฝ
- refactor: ๋ฆฌํฉํ ๋ง
### ์์
์คํ์ผ
- ํฐ ์์
์ ์์ ๋จ๊ณ๋ก ๋๋ ์ ์งํ
- ๊ฐ ๋จ๊ณ ์๋ฃ ํ git commit
- ๋ถํ์คํ ๋ถ๋ถ์ ๋จผ์ ์ง๋ฌธํ๊ณ ์งํ
8๏ธโฃ ์ค์ ํ
๋ฌธ์ ๊ธธ์ด ๊ด๋ฆฌ
1
2
3
4
5
CLAUDE.md: 200์ค ์ดํ (ํ๋ธ ์ญํ , ์งง๊ฒ)
PLAN.md: 500์ค ์ดํ (๋์ผ๋ฉด ๊ธฐ๋ฅ๋ณ ๋ถ๋ฆฌ)
DESIGN.md: 300์ค ์ดํ
CHANGELOG: ์ ํ ์์ (์๊ฐ์ ๋์ )
DECISIONS: ์ ํ ์์ (๊ฒฐ์ ์ ๋์ )
๋ฌธ์ ๊ฐ ๋งํฌ ํ์ฉ
1
2
3
# PLAN.md
์์ธ ๋์์ธ์ [DESIGN.md](./DESIGN.md) ์ฐธ๊ณ .
AdMob ์ฐ๊ธฐ ๊ฒฐ์ ์ [DECISIONS.md](./DECISIONS.md#003) ์ฐธ๊ณ .
AI๊ฐ ๋งํฌ๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉด์ ํ์ํ ์ ๋ณด๋ง ๊ณจ๋ผ ์ฝ์ ์ ์์ต๋๋ค.
AI์๊ฒ ๋ฌธ์ ์ ๋ฐ์ดํธ ์์ํ๊ธฐ
๋งค๋ฒ ์ง์ ์์ ํ์ง ๋ง๊ณ AI์๊ฒ ๋งก๊ธฐ๋ฉด ๋ฉ๋๋ค.
1
2
3
์ฒดํฌ๋ฆฌ์คํธ ๋ฒ๊ทธ ์์ ์๋ฃํ์ด.
CHANGELOG.md์ ์ถ๊ฐํ๊ณ ,
CLAUDE.md ์งํ ์ํฉ๋ ์
๋ฐ์ดํธํด์ค.
์ ์ธ์ ์์ ์ ์ปจํ ์คํธ ์ต์ํ
1
2
PLAN.md์ Phase 3 ์น์
๋ง ์ฝ๊ณ ,
์์ฐ ํญ์ ํ์จ ๋ณํ ๊ธฐ๋ฅ์ ๊ตฌํํด์ค.
Tip: โ์ ์ฒด๋ฅผ ์ฝ์ด์คโ๋ณด๋ค โํน์ ์น์ ๋ง ์ฝ์ด์คโ๊ฐ ํ ํฐ์ ์ ์ฝํฉ๋๋ค.
9๏ธโฃ ์ ๋ฆฌ
๋ฐ์ด๋ธ ์ฝ๋ฉ์์ ๋ฌธ์ ๊ด๋ฆฌ๋ ์ ํ์ด ์๋ ํ์์ ๋๋ค.
1
2
3
4
5
6
7
8
9
10
11
๋ฌธ์๊ฐ ์๋ AI ๊ฐ๋ฐ:
๋งค ์ธ์
๋ง๋ค ์ฒ์๋ถํฐ ์ค๋ช
โ ํ ํฐ ๋ญ๋น
โ ์ผ๊ด์ฑ ์๋ ์ฝ๋
โ ๋งค๋ฒ ๋ค๋ฅธ ์คํ์ผ
๋ฌธ์๊ฐ ์๋ AI ๊ฐ๋ฐ:
์ ์ธ์
์์๋ ์ฆ์ ๋งฅ๋ฝ ํ์
โ ํ ํฐ ์ ์ฝ
โ ์ผ๊ด๋ ์ฝ๋
โ ๋์ ๋๋ ํ์ง
์์์ ๊ฐ๋จํฉ๋๋ค.
1
2
3
cd my-project
claude
/init-docs
์ด ํ ์ค์ด๋ฉด ๋ฉ๋๋ค. ๋๋จธ์ง๋ AI๊ฐ ์์์ ํด์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ AI๊ฐ ์ ํด์ฃผ๋๋ก ๋ง๋๋ ๊ฒ ๋ฐ๋ก ๋ฌธ์์ ๋๋ค.
โ์ฝ๋๋ AI๊ฐ ์ด๋ค. ๋ฌธ์๋ ๋ด๊ฐ ์ค๊ณํ๋ค.โ
์ด๊ฒ์ด ๋ฐ์ด๋ธ ์ฝ๋ฉ ์๋์ ๊ฐ๋ฐ์ ์ญํ ์ ๋๋ค.