SpyBara
Go Premium

best-practices.md 2026-05-02 18:14 UTC to 2026-05-04 22:58 UTC

583 added, 0 removed.

2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

Claude Code ๋ชจ๋ฒ” ์‚ฌ๋ก€

ํ™˜๊ฒฝ ๊ตฌ์„ฑ๋ถ€ํ„ฐ ๋ณ‘๋ ฌ ์„ธ์…˜ ํ™•์žฅ๊นŒ์ง€ Claude Code๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํŒ๊ณผ ํŒจํ„ด์ž…๋‹ˆ๋‹ค.

Claude Code๋Š” ์—์ด์ „ํŠธ ์ฝ”๋”ฉ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. ์งˆ๋ฌธ์— ๋‹ตํ•˜๊ณ  ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ฑ—๋ด‡๊ณผ ๋‹ฌ๋ฆฌ Claude Code๋Š” ํŒŒ์ผ์„ ์ฝ๊ณ , ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ , ๋ณ€๊ฒฝ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ๋‹น์‹ ์ด ์ง€์ผœ๋ณด๊ฑฐ๋‚˜ ๋ฐฉํ–ฅ์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ์™„์ „ํžˆ ๋– ๋‚˜ ์žˆ๋Š” ๋™์•ˆ์—๋„ ์ž์œจ์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Š” ์ž‘์—… ๋ฐฉ์‹์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  Claude์—๊ฒŒ ๊ฒ€ํ† ๋ฅผ ์š”์ฒญํ•˜๋Š” ๋Œ€์‹ , ์›ํ•˜๋Š” ๊ฒƒ์„ ์„ค๋ช…ํ•˜๋ฉด Claude๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ์ถ•ํ• ์ง€ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค. Claude๋Š” ํƒ์ƒ‰ํ•˜๊ณ , ๊ณ„ํšํ•˜๊ณ , ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ์ž์œจ์„ฑ์—๋„ ํ•™์Šต ๊ณก์„ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Claude๋Š” ์ดํ•ดํ•ด์•ผ ํ•  ํŠน์ • ์ œ์•ฝ ์กฐ๊ฑด ๋‚ด์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ฐ€์ด๋“œ๋Š” Anthropic์˜ ๋‚ด๋ถ€ ํŒ€๊ณผ ๋‹ค์–‘ํ•œ ์ฝ”๋“œ๋ฒ ์ด์Šค, ์–ธ์–ด, ํ™˜๊ฒฝ์—์„œ Claude Code๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์—”์ง€๋‹ˆ์–ด๋“ค ์‚ฌ์ด์—์„œ ํšจ๊ณผ์ ์œผ๋กœ ์ž…์ฆ๋œ ํŒจํ„ด์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ ๋ฃจํ”„๊ฐ€ ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ๋Š” Claude Code ์ž‘๋™ ๋ฐฉ์‹์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.


๋Œ€๋ถ€๋ถ„์˜ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋Š” ํ•˜๋‚˜์˜ ์ œ์•ฝ ์กฐ๊ฑด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค: Claude์˜ context window๊ฐ€ ๋น ๋ฅด๊ฒŒ ์ฑ„์›Œ์ง€๊ณ , ์ฑ„์›Œ์งˆ์ˆ˜๋ก ์„ฑ๋Šฅ์ด ์ €ํ•˜๋ฉ๋‹ˆ๋‹ค.

Claude์˜ context window๋Š” ๋ชจ๋“  ๋ฉ”์‹œ์ง€, Claude๊ฐ€ ์ฝ์€ ๋ชจ๋“  ํŒŒ์ผ, ๋ชจ๋“  ๋ช…๋ น ์ถœ๋ ฅ์„ ํฌํ•จํ•œ ์ „์ฒด ๋Œ€ํ™”๋ฅผ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” ๋น ๋ฅด๊ฒŒ ์ฑ„์›Œ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ผ ๋””๋ฒ„๊น… ์„ธ์…˜์ด๋‚˜ ์ฝ”๋“œ๋ฒ ์ด์Šค ํƒ์ƒ‰๋งŒ์œผ๋กœ๋„ ์ˆ˜๋งŒ ๊ฐœ์˜ ํ† ํฐ์„ ์ƒ์„ฑํ•˜๊ณ  ์†Œ๋น„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

LLM ์„ฑ๋Šฅ์ด context๊ฐ€ ์ฑ„์›Œ์งˆ์ˆ˜๋ก ์ €ํ•˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Š” ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. context window๊ฐ€ ๊ฑฐ์˜ ๊ฐ€๋“ ์ฐจ๋ฉด Claude๋Š” ์ด์ „ ์ง€์‹œ์‚ฌํ•ญ์„ "์žŠ๊ธฐ" ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋” ๋งŽ์€ ์‹ค์ˆ˜๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. context window๋Š” ๊ด€๋ฆฌํ•ด์•ผ ํ•  ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ฆฌ์†Œ์Šค์ž…๋‹ˆ๋‹ค. ์„ธ์…˜์ด ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ์ฑ„์›Œ์ง€๋Š”์ง€ ๋ณด๋ ค๋ฉด ๋Œ€ํ™”ํ˜• ์—ฐ์Šต์„ ์‹œ์ฒญํ•˜์—ฌ ์‹œ์ž‘ ์‹œ ๋กœ๋“œ๋˜๋Š” ๊ฒƒ๊ณผ ๊ฐ ํŒŒ์ผ ์ฝ๊ธฐ์˜ ๋น„์šฉ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ์‚ฌ์šฉ์ž ์ •์˜ ์ƒํƒœ ์ค„๋กœ context ์‚ฌ์šฉ๋Ÿ‰์„ ์ง€์†์ ์œผ๋กœ ์ถ”์ ํ•˜๊ณ , ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ๊ฐ์†Œ์—์„œ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•œ ์ „๋žต์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.


Claude์—๊ฒŒ ์ž‘์—…์„ ๊ฒ€์ฆํ•  ๋ฐฉ๋ฒ• ์ œ๊ณตํ•˜๊ธฐ

Claude๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ์Šคํฌ๋ฆฐ์ƒท์„ ๋น„๊ตํ•˜๊ณ , ์ถœ๋ ฅ์„ ๊ฒ€์ฆํ•˜๋Š” ๋“ฑ ์ž์‹ ์˜ ์ž‘์—…์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ์„ ๋•Œ ํ›จ์”ฌ ๋” ์ž˜ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋ช…ํ™•ํ•œ ์„ฑ๊ณต ๊ธฐ์ค€์ด ์—†์œผ๋ฉด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ณด์ด์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ์œ ์ผํ•œ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๊ฐ€ ๋˜๊ณ , ๋ชจ๋“  ์‹ค์ˆ˜๊ฐ€ ๋‹น์‹ ์˜ ์ฃผ์˜๋ฅผ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์ „๋žต ์ด์ „ ์ดํ›„
๊ฒ€์ฆ ๊ธฐ์ค€ ์ œ๊ณต "์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”" "validateEmail ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”. ์˜ˆ์ œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค: user@example.com์€ true, invalid๋Š” false, user@.com์€ false์ž…๋‹ˆ๋‹ค. ๊ตฌํ˜„ ํ›„ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”"
UI ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‹œ๊ฐ์ ์œผ๋กœ ๊ฒ€์ฆ "๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋” ์ข‹๊ฒŒ ๋ณด์ด๊ฒŒ ํ•˜์„ธ์š”" "[์Šคํฌ๋ฆฐ์ƒท ๋ถ™์—ฌ๋„ฃ๊ธฐ] ์ด ๋””์ž์ธ์„ ๊ตฌํ˜„ํ•˜์„ธ์š”. ๊ฒฐ๊ณผ์˜ ์Šคํฌ๋ฆฐ์ƒท์„ ์ฐ๊ณ  ์›๋ณธ๊ณผ ๋น„๊ตํ•˜์„ธ์š”. ์ฐจ์ด์ ์„ ๋‚˜์—ดํ•˜๊ณ  ์ˆ˜์ •ํ•˜์„ธ์š”"
์ฆ์ƒ์ด ์•„๋‹Œ ๊ทผ๋ณธ ์›์ธ ํ•ด๊ฒฐ "๋นŒ๋“œ๊ฐ€ ์‹คํŒจํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค" "๋นŒ๋“œ๊ฐ€ ์ด ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค: [์˜ค๋ฅ˜ ๋ถ™์—ฌ๋„ฃ๊ธฐ]. ์ˆ˜์ •ํ•˜๊ณ  ๋นŒ๋“œ๊ฐ€ ์„ฑ๊ณตํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ๊ทผ๋ณธ ์›์ธ์„ ํ•ด๊ฒฐํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ์–ต์ œํ•˜์ง€ ๋งˆ์„ธ์š”"

UI ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ Chrome ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์˜ Claude๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ƒˆ ํƒญ์„ ์—ด๊ณ , UI๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ , ์ฝ”๋“œ๊ฐ€ ์ž‘๋™ํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

๊ฒ€์ฆ์€ ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ, linter ๋˜๋Š” ์ถœ๋ ฅ์„ ํ™•์ธํ•˜๋Š” Bash ๋ช…๋ น์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒ€์ฆ์„ ๊ฒฌ๊ณ ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ ํˆฌ์žํ•˜์‹ญ์‹œ์˜ค.


๋จผ์ € ํƒ์ƒ‰ํ•˜๊ณ , ๊ทธ ๋‹ค์Œ ๊ณ„ํšํ•˜๊ณ , ๊ทธ ๋‹ค์Œ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ

Claude๊ฐ€ ๋ฐ”๋กœ ์ฝ”๋”ฉ์œผ๋กœ ๋›ฐ์–ด๋“ค๋„๋ก ํ•˜๋ฉด ์ž˜๋ชป๋œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Plan Mode๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํƒ์ƒ‰์„ ์‹คํ–‰๊ณผ ๋ถ„๋ฆฌํ•˜์‹ญ์‹œ์˜ค.

๊ถŒ์žฅ ์›Œํฌํ”Œ๋กœ์šฐ์—๋Š” 4๊ฐ€์ง€ ๋‹จ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค:

1

ํƒ์ƒ‰

Plan Mode๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค. Claude๋Š” ํŒŒ์ผ์„ ์ฝ๊ณ  ๋ณ€๊ฒฝ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ์งˆ๋ฌธ์— ๋‹ตํ•ฉ๋‹ˆ๋‹ค.

/src/auth๋ฅผ ์ฝ๊ณ  ์„ธ์…˜ ๋ฐ ๋กœ๊ทธ์ธ์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€ ์ดํ•ดํ•˜์„ธ์š”.
๋˜ํ•œ ๋น„๋ฐ€์— ๋Œ€ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด์„ธ์š”.
2

๊ณ„ํš

Claude์—๊ฒŒ ์ƒ์„ธํ•œ ๊ตฌํ˜„ ๊ณ„ํš์„ ์ž‘์„ฑํ•˜๋„๋ก ์š”์ฒญํ•˜์‹ญ์‹œ์˜ค.

Google OAuth๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?
์„ธ์…˜ ํ๋ฆ„์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๊ณ„ํš์„ ์ž‘์„ฑํ•˜์„ธ์š”.

Ctrl+G๋ฅผ ๋ˆŒ๋Ÿฌ Claude๊ฐ€ ์ง„ํ–‰ํ•˜๊ธฐ ์ „์— ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ์—์„œ ๊ณ„ํš์„ ์—ด์–ด ์ง์ ‘ ํŽธ์ง‘ํ•˜์‹ญ์‹œ์˜ค.

3

๊ตฌํ˜„

Normal Mode๋กœ ์ „ํ™˜ํ•˜๊ณ  Claude๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋„๋ก ํ•˜์—ฌ ๊ณ„ํš์— ๋Œ€ํ•ด ๊ฒ€์ฆํ•˜์‹ญ์‹œ์˜ค.

๊ณ„ํš์—์„œ OAuth ํ๋ฆ„์„ ๊ตฌํ˜„ํ•˜์„ธ์š”. ์ฝœ๋ฐฑ ํ•ธ๋“ค๋Ÿฌ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ ,
ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์‹คํŒจ๋ฅผ ์ˆ˜์ •ํ•˜์„ธ์š”.
4

์ปค๋ฐ‹

Claude์—๊ฒŒ ์„ค๋ช…์ ์ธ ๋ฉ”์‹œ์ง€๋กœ ์ปค๋ฐ‹ํ•˜๊ณ  PR์„ ์ƒ์„ฑํ•˜๋„๋ก ์š”์ฒญํ•˜์‹ญ์‹œ์˜ค.

์„ค๋ช…์ ์ธ ๋ฉ”์‹œ์ง€๋กœ ์ปค๋ฐ‹ํ•˜๊ณ  PR์„ ์—ด๊ธฐ

ํ”„๋กฌํ”„ํŠธ์—์„œ ๊ตฌ์ฒด์ ์ธ ์ปจํ…์ŠคํŠธ ์ œ๊ณตํ•˜๊ธฐ

Claude๋Š” ์˜๋„๋ฅผ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋งˆ์Œ์„ ์ฝ์„ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ํŠน์ • ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜๊ณ , ์ œ์•ฝ ์กฐ๊ฑด์„ ์–ธ๊ธ‰ํ•˜๊ณ , ์˜ˆ์ œ ํŒจํ„ด์„ ์ง€์ ํ•˜์‹ญ์‹œ์˜ค.

์ „๋žต ์ด์ „ ์ดํ›„
์ž‘์—… ๋ฒ”์œ„ ์ง€์ •. ์–ด๋–ค ํŒŒ์ผ, ์–ด๋–ค ์‹œ๋‚˜๋ฆฌ์˜ค, ํ…Œ์ŠคํŠธ ์„ ํ˜ธ๋„๋ฅผ ์ง€์ •ํ•˜์‹ญ์‹œ์˜ค. "foo.py์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€" "์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์•„์›ƒ๋œ ๊ฒฝ์šฐ์˜ ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ๋‹ค๋ฃจ๋Š” foo.py์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”. ๋ชจ์˜ ๊ฐ์ฒด๋ฅผ ํ”ผํ•˜์„ธ์š”."
์†Œ์Šค ์ง€์ . Claude๋ฅผ ์งˆ๋ฌธ์— ๋‹ตํ•  ์ˆ˜ ์žˆ๋Š” ์†Œ์Šค๋กœ ์•ˆ๋‚ดํ•˜์‹ญ์‹œ์˜ค. "ExecutionFactory๊ฐ€ ์™œ ๊ทธ๋ ‡๊ฒŒ ์ด์ƒํ•œ API๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?" "ExecutionFactory์˜ git ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์‚ดํŽด๋ณด๊ณ  API๊ฐ€ ์–ด๋–ป๊ฒŒ ๋˜์—ˆ๋Š”์ง€ ์š”์•ฝํ•˜์„ธ์š”"
๊ธฐ์กด ํŒจํ„ด ์ฐธ์กฐ. Claude๋ฅผ ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ํŒจํ„ด์œผ๋กœ ์ง€์ ํ•˜์‹ญ์‹œ์˜ค. "์บ˜๋ฆฐ๋” ์œ„์ ฏ ์ถ”๊ฐ€" "ํ™ˆ ํŽ˜์ด์ง€์—์„œ ๊ธฐ์กด ์œ„์ ฏ์ด ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„๋˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ณ  ํŒจํ„ด์„ ์ดํ•ดํ•˜์„ธ์š”. HotDogWidget.php๋Š” ์ข‹์€ ์˜ˆ์ž…๋‹ˆ๋‹ค. ํŒจํ„ด์„ ๋”ฐ๋ผ ์‚ฌ์šฉ์ž๊ฐ€ ์›”์„ ์„ ํƒํ•˜๊ณ  ์•ž๋’ค๋กœ ์ด๋™ํ•˜์—ฌ ์—ฐ๋„๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ์บ˜๋ฆฐ๋” ์œ„์ ฏ์„ ๊ตฌํ˜„ํ•˜์„ธ์š”. ์ฝ”๋“œ๋ฒ ์ด์Šค์—์„œ ์ด๋ฏธ ์‚ฌ์šฉ ์ค‘์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์™ธ์—๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ๋นŒ๋“œํ•˜์„ธ์š”."
์ฆ์ƒ ์„ค๋ช…. ์ฆ์ƒ, ๊ฐ€๋Šฅํ•œ ์œ„์น˜, "์ˆ˜์ •๋จ"์˜ ๋ชจ์Šต์„ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค. "๋กœ๊ทธ์ธ ๋ฒ„๊ทธ ์ˆ˜์ •" "์‚ฌ์šฉ์ž๊ฐ€ ์„ธ์…˜ ์‹œ๊ฐ„ ์ดˆ๊ณผ ํ›„ ๋กœ๊ทธ์ธ์ด ์‹คํŒจํ•œ๋‹ค๊ณ  ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. src/auth/์˜ ์ธ์ฆ ํ๋ฆ„, ํŠนํžˆ ํ† ํฐ ์ƒˆ๋กœ ๊ณ ์นจ์„ ํ™•์ธํ•˜์„ธ์š”. ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ์‹คํŒจํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•œ ๋‹ค์Œ ์ˆ˜์ •ํ•˜์„ธ์š”"

๋ชจํ˜ธํ•œ ํ”„๋กฌํ”„ํŠธ๋Š” ํƒ์ƒ‰ ์ค‘์ด๊ณ  ๊ณผ์ •์„ ์ˆ˜์ •ํ•  ์—ฌ์œ ๊ฐ€ ์žˆ์„ ๋•Œ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "์ด ํŒŒ์ผ์—์„œ ๋ฌด์—‡์„ ๊ฐœ์„ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?"์™€ ๊ฐ™์€ ํ”„๋กฌํ”„ํŠธ๋Š” ๋‹น์‹ ์ด ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ์„ ๊ฒƒ๋“ค์„ ๋“œ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ’๋ถ€ํ•œ ์ฝ˜ํ…์ธ  ์ œ๊ณตํ•˜๊ธฐ

์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ Claude์—๊ฒŒ ํ’๋ถ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • @๋กœ ํŒŒ์ผ ์ฐธ์กฐ ์ฝ”๋“œ๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•˜๋Š” ๋Œ€์‹ . Claude๋Š” ์‘๋‹ตํ•˜๊ธฐ ์ „์— ํŒŒ์ผ์„ ์ฝ์Šต๋‹ˆ๋‹ค.
  • ์ด๋ฏธ์ง€๋ฅผ ์ง์ ‘ ๋ถ™์—ฌ๋„ฃ๊ธฐ. ํ”„๋กฌํ”„ํŠธ์— ์ด๋ฏธ์ง€๋ฅผ ๋ณต์‚ฌ/๋ถ™์—ฌ๋„ฃ๊ธฐ ๋˜๋Š” ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญํ•˜์‹ญ์‹œ์˜ค.
  • ๋ฌธ์„œ ๋ฐ API ์ฐธ์กฐ์— URL ์ œ๊ณต. /permissions๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋„๋ฉ”์ธ์„ ํ—ˆ์šฉ ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.
  • ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„ cat error.log | claude๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํŒŒ์ผ ๋‚ด์šฉ์„ ์ง์ ‘ ์ „์†กํ•˜์‹ญ์‹œ์˜ค.
  • Claude๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ์„ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•˜๊ธฐ. Bash ๋ช…๋ น, MCP ๋„๊ตฌ ๋˜๋Š” ํŒŒ์ผ ์ฝ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Claude๊ฐ€ ์ž์ฒด์ ์œผ๋กœ ์ปจํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•˜์‹ญ์‹œ์˜ค.

ํ™˜๊ฒฝ ๊ตฌ์„ฑํ•˜๊ธฐ

๋ช‡ ๊ฐ€์ง€ ์„ค์ • ๋‹จ๊ณ„๋ฅผ ํ†ตํ•ด Claude Code๋ฅผ ๋ชจ๋“  ์„ธ์…˜์—์„œ ํ›จ์”ฌ ๋” ํšจ๊ณผ์ ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™•์žฅ ๊ธฐ๋Šฅ์˜ ์ „์ฒด ๊ฐœ์š” ๋ฐ ๊ฐ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์‹œ๊ธฐ์— ๋Œ€ํ•ด์„œ๋Š” Claude Code ํ™•์žฅ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

ํšจ๊ณผ์ ์ธ CLAUDE.md ์ž‘์„ฑํ•˜๊ธฐ

CLAUDE.md๋Š” Claude๊ฐ€ ๋ชจ๋“  ๋Œ€ํ™”์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์—์„œ ์ฝ๋Š” ํŠน์ˆ˜ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. Bash ๋ช…๋ น, ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ฐ ์›Œํฌํ”Œ๋กœ์šฐ ๊ทœ์น™์„ ํฌํ•จํ•˜์‹ญ์‹œ์˜ค. ์ด๋Š” Claude์—๊ฒŒ ์ฝ”๋“œ๋งŒ์œผ๋กœ๋Š” ์ถ”๋ก ํ•  ์ˆ˜ ์—†๋Š” ์ง€์†์ ์ธ ์ปจํ…์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

/init ๋ช…๋ น์€ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋นŒ๋“œ ์‹œ์Šคํ…œ, ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ ์ฝ”๋“œ ํŒจํ„ด์„ ๊ฐ์ง€ํ•˜์—ฌ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฌ๊ณ ํ•œ ๊ธฐ์ดˆ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

CLAUDE.md ํŒŒ์ผ์— ํ•„์ˆ˜ ํ˜•์‹์€ ์—†์ง€๋งŒ ์งง๊ณ  ์ธ๊ฐ„์ด ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด:

# ์ฝ”๋“œ ์Šคํƒ€์ผ
- ES ๋ชจ๋“ˆ(import/export) ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜๊ณ , CommonJS(require)๋Š” ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”
- ๊ฐ€๋Šฅํ•˜๋ฉด import๋ฅผ ๊ตฌ์กฐ ๋ถ„ํ•ดํ•˜์„ธ์š” (์˜ˆ: import { foo } from 'bar')

# ์›Œํฌํ”Œ๋กœ์šฐ
- ์ผ๋ จ์˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์™„๋ฃŒํ–ˆ์„ ๋•Œ ํƒ€์ž… ์ฒดํฌ๋ฅผ ํ™•์ธํ•˜์„ธ์š”
- ์„ฑ๋Šฅ์ƒ ์ด์œ ๋กœ ์ „์ฒด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๊ฐ€ ์•„๋‹Œ ๋‹จ์ผ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•˜์„ธ์š”

CLAUDE.md๋Š” ๋ชจ๋“  ์„ธ์…˜์—์„œ ๋กœ๋“œ๋˜๋ฏ€๋กœ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์ ์šฉ๋˜๋Š” ๊ฒƒ๋งŒ ํฌํ•จํ•˜์‹ญ์‹œ์˜ค. ๋„๋ฉ”์ธ ์ง€์‹์ด๋‚˜ ๋•Œ๋•Œ๋งŒ ๊ด€๋ จ๋œ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ๊ฒฝ์šฐ ๋Œ€์‹  skills๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. Claude๋Š” ํ•„์š”์— ๋”ฐ๋ผ ๋กœ๋“œํ•˜๋ฏ€๋กœ ๋ชจ๋“  ๋Œ€ํ™”๋ฅผ ๋ณต์žกํ•˜๊ฒŒ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฐ„๊ฒฐํ•˜๊ฒŒ ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค. ๊ฐ ์ค„์— ๋Œ€ํ•ด ๋‹ค์Œ์„ ๋ฌผ์–ด๋ณด์‹ญ์‹œ์˜ค: "์ด๊ฒƒ์„ ์ œ๊ฑฐํ•˜๋ฉด Claude๊ฐ€ ์‹ค์ˆ˜๋ฅผ ํ• ๊นŒ?" ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์‚ญ์ œํ•˜์‹ญ์‹œ์˜ค. ๋ถ€ํ’€๋ ค์ง„ CLAUDE.md ํŒŒ์ผ์€ Claude๊ฐ€ ์‹ค์ œ ์ง€์‹œ์‚ฌํ•ญ์„ ๋ฌด์‹œํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค!

โœ… ํฌํ•จ โŒ ์ œ์™ธ
Claude๊ฐ€ ์ถ”์ธกํ•  ์ˆ˜ ์—†๋Š” Bash ๋ช…๋ น Claude๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ฝ์–ด์„œ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ
๊ธฐ๋ณธ๊ฐ’๊ณผ ๋‹ค๋ฅธ ์ฝ”๋“œ ์Šคํƒ€์ผ ๊ทœ์น™ Claude๊ฐ€ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋Š” ํ‘œ์ค€ ์–ธ์–ด ๊ทœ์น™
ํ…Œ์ŠคํŠธ ์ง€์‹œ์‚ฌํ•ญ ๋ฐ ์„ ํ˜ธํ•˜๋Š” ํ…Œ์ŠคํŠธ ๋Ÿฌ๋„ˆ ์ƒ์„ธํ•œ API ๋ฌธ์„œ(๋Œ€์‹  ๋ฌธ์„œ ๋งํฌ)
์ €์žฅ์†Œ ์—ํ‹ฐ์ผ“(๋ถ„๊ธฐ ์ด๋ฆ„ ์ง€์ •, PR ๊ทœ์น™) ์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ์ •๋ณด
ํ”„๋กœ์ ํŠธ์— ํŠน์ •ํ•œ ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ • ๊ธด ์„ค๋ช… ๋˜๋Š” ํŠœํ† ๋ฆฌ์–ผ
๊ฐœ๋ฐœ์ž ํ™˜๊ฒฝ ํŠน์ด์„ฑ(ํ•„์ˆ˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜) ์ž๋ช…ํ•œ ๊ด€ํ–‰(์˜ˆ: "๊นจ๋—ํ•œ ์ฝ”๋“œ ์ž‘์„ฑ")
์ผ๋ฐ˜์ ์ธ ํ•จ์ • ๋˜๋Š” ๋ช…๋ฐฑํ•˜์ง€ ์•Š์€ ๋™์ž‘ ํŒŒ์ผ๋ณ„ ์ฝ”๋“œ๋ฒ ์ด์Šค ์„ค๋ช…

Claude๊ฐ€ ๊ทœ์น™์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ณ„์† ์›ํ•˜์ง€ ์•Š๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ํŒŒ์ผ์ด ๋„ˆ๋ฌด ๊ธธ์–ด์„œ ๊ทœ์น™์ด ์†์‹ค๋˜๊ณ  ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Claude๊ฐ€ CLAUDE.md์—์„œ ๋‹ต๋ณ€๋œ ์งˆ๋ฌธ์„ ํ•˜๋ฉด ํ‘œํ˜„์ด ๋ชจํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CLAUDE.md๋ฅผ ์ฝ”๋“œ์ฒ˜๋Ÿผ ์ทจ๊ธ‰ํ•˜์‹ญ์‹œ์˜ค: ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๊ฒ€ํ† ํ•˜๊ณ , ์ •๊ธฐ์ ์œผ๋กœ ์ •๋ฆฌํ•˜๊ณ , ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ด€์ฐฐํ•˜์—ฌ Claude์˜ ๋™์ž‘์ด ์‹ค์ œ๋กœ ๋ณ€๊ฒฝ๋˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜์‹ญ์‹œ์˜ค.

๊ฐ•์กฐ(์˜ˆ: "IMPORTANT" ๋˜๋Š” "YOU MUST")๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ง€์‹œ์‚ฌํ•ญ์„ ์กฐ์ •ํ•˜๋ฉด ์ค€์ˆ˜๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CLAUDE.md๋ฅผ git์— ์ฒดํฌ์ธํ•˜์—ฌ ํŒ€์ด ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์‹ญ์‹œ์˜ค. ํŒŒ์ผ์€ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๊ฐ€์น˜๊ฐ€ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

CLAUDE.md ํŒŒ์ผ์€ @path/to/import ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

ํ”„๋กœ์ ํŠธ ๊ฐœ์š”๋Š” @README.md๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ npm ๋ช…๋ น์€ @package.json์„ ์ฐธ์กฐํ•˜์„ธ์š”.

# ์ถ”๊ฐ€ ์ง€์‹œ์‚ฌํ•ญ
- Git ์›Œํฌํ”Œ๋กœ์šฐ: @docs/git-instructions.md
- ๊ฐœ์ธ ์žฌ์ •์˜: @~/.claude/my-project-instructions.md

CLAUDE.md ํŒŒ์ผ์„ ์—ฌ๋Ÿฌ ์œ„์น˜์— ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ํ™ˆ ํด๋”(~/.claude/CLAUDE.md): ๋ชจ๋“  Claude ์„ธ์…˜์— ์ ์šฉ๋จ
  • ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ(./CLAUDE.md): git์— ์ฒดํฌ์ธํ•˜์—ฌ ํŒ€๊ณผ ๊ณต์œ 
  • ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ(./CLAUDE.local.md): ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ํŠน์ • ๋…ธํŠธ; ํŒ€๊ณผ ๊ณต์œ ๋˜์ง€ ์•Š๋„๋ก .gitignore์— ์ด ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค
  • ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ: ๋ชจ๋…ธ๋ ˆํฌ์— ์œ ์šฉํ•˜๋ฉฐ, root/CLAUDE.md์™€ root/foo/CLAUDE.md ๋ชจ๋‘ ์ž๋™์œผ๋กœ ๊ฐ€์ ธ์™€์ง‘๋‹ˆ๋‹ค
  • ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ: Claude๋Š” ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์˜ ํŒŒ์ผ๋กœ ์ž‘์—…ํ•  ๋•Œ ํ•„์š”์— ๋”ฐ๋ผ ํ•˜์œ„ CLAUDE.md ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค

๊ถŒํ•œ ๊ตฌ์„ฑํ•˜๊ธฐ

๊ธฐ๋ณธ์ ์œผ๋กœ Claude Code๋Š” ์‹œ์Šคํ…œ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค: ํŒŒ์ผ ์“ฐ๊ธฐ, Bash ๋ช…๋ น, MCP ๋„๊ตฌ ๋“ฑ. ์ด๋Š” ์•ˆ์ „ํ•˜์ง€๋งŒ ๋ฒˆ๊ฑฐ๋กญ์Šต๋‹ˆ๋‹ค. 10๋ฒˆ์งธ ์Šน์ธ ํ›„์—๋Š” ์‹ค์ œ๋กœ ๊ฒ€ํ† ํ•˜์ง€ ์•Š๊ณ  ํด๋ฆญ๋งŒ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ค‘๋‹จ์„ ์ค„์ด๋Š” ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • Auto mode: ๋ณ„๋„์˜ ๋ถ„๋ฅ˜๊ธฐ ๋ชจ๋ธ์ด ๋ช…๋ น์„ ๊ฒ€ํ† ํ•˜๊ณ  ์œ„ํ—˜ํ•ด ๋ณด์ด๋Š” ๊ฒƒ๋งŒ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค: ๋ฒ”์œ„ ํ™•๋Œ€, ์•Œ ์ˆ˜ ์—†๋Š” ์ธํ”„๋ผ, ๋˜๋Š” ์ ๋Œ€์  ์ฝ˜ํ…์ธ  ๊ธฐ๋ฐ˜ ์ž‘์—…. ์ž‘์—…์˜ ์ผ๋ฐ˜์ ์ธ ๋ฐฉํ–ฅ์„ ์‹ ๋ขฐํ•˜์ง€๋งŒ ๋ชจ๋“  ๋‹จ๊ณ„๋ฅผ ํด๋ฆญํ•˜๊ณ  ์‹ถ์ง€ ์•Š์„ ๋•Œ ์ตœ๊ณ ์ž…๋‹ˆ๋‹ค
  • ๊ถŒํ•œ ํ—ˆ์šฉ ๋ชฉ๋ก: ์•ˆ์ „ํ•˜๋‹ค๊ณ  ์•Œ๊ณ  ์žˆ๋Š” ํŠน์ • ๋„๊ตฌ ํ—ˆ์šฉ(์˜ˆ: npm run lint ๋˜๋Š” git commit)
  • ์ƒŒ๋“œ๋ฐ•์‹ฑ: Claude๊ฐ€ ์ •์˜๋œ ๊ฒฝ๊ณ„ ๋‚ด์—์„œ ๋” ์ž์œ ๋กญ๊ฒŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” OS ์ˆ˜์ค€ ๊ฒฉ๋ฆฌ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ฐ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค

๊ถŒํ•œ ๋ชจ๋“œ, ๊ถŒํ•œ ๊ทœ์น™, ์ƒŒ๋“œ๋ฐ•์‹ฑ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์ฝ์–ด๋ณด์‹ญ์‹œ์˜ค.

CLI ๋„๊ตฌ ์‚ฌ์šฉํ•˜๊ธฐ

CLI ๋„๊ตฌ๋Š” ์™ธ๋ถ€ ์„œ๋น„์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๊ฐ€์žฅ context ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. GitHub๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด gh CLI๋ฅผ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค. Claude๋Š” ์ด์Šˆ ์ƒ์„ฑ, pull ์š”์ฒญ ์—ด๊ธฐ, ๋Œ“๊ธ€ ์ฝ๊ธฐ์— ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. gh ์—†์œผ๋ฉด Claude๋Š” ์—ฌ์ „ํžˆ GitHub API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ธ์ฆ๋˜์ง€ ์•Š์€ ์š”์ฒญ์€ ์ข…์ข… ์†๋„ ์ œํ•œ์— ๋„๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

Claude๋Š” ๋˜ํ•œ ์•„์ง ์•Œ์ง€ ๋ชปํ•˜๋Š” CLI ๋„๊ตฌ๋ฅผ ๋ฐฐ์šฐ๋Š” ๋ฐ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. Use 'foo-cli-tool --help' to learn about foo tool, then use it to solve A, B, C.์™€ ๊ฐ™์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‹œ๋„ํ•ด๋ณด์‹ญ์‹œ์˜ค.

MCP ์„œ๋ฒ„ ์—ฐ๊ฒฐํ•˜๊ธฐ

MCP ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด์Šˆ ์ถ”์ ๊ธฐ์—์„œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ , ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๊ณ , Figma์—์„œ ๋””์ž์ธ์„ ํ†ตํ•ฉํ•˜๊ณ , ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ž๋™ํ™”ํ•˜๋„๋ก Claude์—๊ฒŒ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

hooks ์„ค์ •ํ•˜๊ธฐ

Hooks๋Š” Claude์˜ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ํŠน์ • ์ง€์ ์—์„œ ์ž๋™์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ถŒ๊ณ ์ ์ธ CLAUDE.md ์ง€์‹œ์‚ฌํ•ญ๊ณผ ๋‹ฌ๋ฆฌ hooks๋Š” ๊ฒฐ์ •๋ก ์ ์ด๋ฉฐ ์ž‘์—…์ด ๋ฐœ์ƒํ•จ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

Claude๊ฐ€ hooks๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "๋ชจ๋“  ํŒŒ์ผ ํŽธ์ง‘ ํ›„ eslint๋ฅผ ์‹คํ–‰ํ•˜๋Š” hook ์ž‘์„ฑ" ๋˜๋Š” *"๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํด๋”์— ๋Œ€ํ•œ ์“ฐ๊ธฐ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” hook ์ž‘์„ฑ"*๊ณผ ๊ฐ™์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‹œ๋„ํ•ด๋ณด์‹ญ์‹œ์˜ค. .claude/settings.json์„ ์ง์ ‘ ํŽธ์ง‘ํ•˜์—ฌ hooks๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , /hooks๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๊ตฌ์„ฑ๋œ ๊ฒƒ์„ ํƒ์ƒ‰ํ•˜์‹ญ์‹œ์˜ค.

skills ์ƒ์„ฑํ•˜๊ธฐ

Skills๋Š” ํ”„๋กœ์ ํŠธ, ํŒ€ ๋˜๋Š” ๋„๋ฉ”์ธ์— ํŠน์ •ํ•œ ์ •๋ณด๋กœ Claude์˜ ์ง€์‹์„ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. Claude๋Š” ๊ด€๋ จ์ด ์žˆ์„ ๋•Œ ์ž๋™์œผ๋กœ ์ ์šฉํ•˜๊ฑฐ๋‚˜ /skill-name์œผ๋กœ ์ง์ ‘ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

.claude/skills/์— SKILL.md๊ฐ€ ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ skill์„ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค:

---
name: api-conventions
description: ์šฐ๋ฆฌ ์„œ๋น„์Šค์˜ REST API ์„ค๊ณ„ ๊ทœ์น™
---
# API ๊ทœ์น™
- URL ๊ฒฝ๋กœ์— kebab-case ์‚ฌ์šฉ
- JSON ์†์„ฑ์— camelCase ์‚ฌ์šฉ
- ํ•ญ์ƒ ๋ชฉ๋ก ์—”๋“œํฌ์ธํŠธ์— ํŽ˜์ด์ง€ ๋งค๊น€ ํฌํ•จ
- URL ๊ฒฝ๋กœ์—์„œ API ๋ฒ„์ „ ์ง€์ • (/v1/, /v2/)

Skills๋Š” ๋˜ํ•œ ์ง์ ‘ ํ˜ธ์ถœํ•˜๋Š” ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

---
name: fix-issue
description: GitHub ์ด์Šˆ ์ˆ˜์ •
disable-model-invocation: true
---
GitHub ์ด์Šˆ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ˆ˜์ •ํ•˜์„ธ์š”: $ARGUMENTS.

1. `gh issue view`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด์Šˆ ์„ธ๋ถ€ ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ
2. ์ด์Šˆ์— ์„ค๋ช…๋œ ๋ฌธ์ œ ์ดํ•ด
3. ๊ด€๋ จ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ฝ”๋“œ๋ฒ ์ด์Šค ๊ฒ€์ƒ‰
4. ์ด์Šˆ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๊ตฌํ˜„
5. ์ˆ˜์ •์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ๋ฐ ์‹คํ–‰
6. ์ฝ”๋“œ๊ฐ€ linting ๋ฐ ํƒ€์ž… ์ฒดํฌ๋ฅผ ํ†ต๊ณผํ•˜๋Š”์ง€ ํ™•์ธ
7. ์„ค๋ช…์ ์ธ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ƒ์„ฑ
8. ํ‘ธ์‹œ ๋ฐ PR ์ƒ์„ฑ

/fix-issue 1234๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ˜ธ์ถœํ•˜์‹ญ์‹œ์˜ค. ๋ถ€์ž‘์šฉ์ด ์žˆ๋Š” ์›Œํฌํ”Œ๋กœ์šฐ์˜ ๊ฒฝ์šฐ disable-model-invocation: true๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋™์œผ๋กœ ํŠธ๋ฆฌ๊ฑฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ •์˜ subagents ์ƒ์„ฑํ•˜๊ธฐ

Subagents๋Š” ์ž์‹ ์˜ context์™€ ์ž์‹ ์˜ ํ—ˆ์šฉ๋œ ๋„๊ตฌ ์ง‘ํ•ฉ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ํŒŒ์ผ์„ ์ฝ๊ฑฐ๋‚˜ ์ฃผ์š” ๋Œ€ํ™”๋ฅผ ๋ณต์žกํ•˜๊ฒŒ ํ•˜์ง€ ์•Š๊ณ  ์ „๋ฌธํ™”๋œ ์ดˆ์ ์ด ํ•„์š”ํ•œ ์ž‘์—…์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

---
name: security-reviewer
description: ๋ณด์•ˆ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ฝ”๋“œ ๊ฒ€ํ† 
tools: Read, Grep, Glob, Bash
model: opus
---
๋‹น์‹ ์€ ์„ ์ž„ ๋ณด์•ˆ ์—”์ง€๋‹ˆ์–ด์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์— ๋Œ€ํ•ด ์ฝ”๋“œ๋ฅผ ๊ฒ€ํ† ํ•˜์„ธ์š”:
- ์ฃผ์ž… ์ทจ์•ฝ์ (SQL, XSS, ๋ช…๋ น ์ฃผ์ž…)
- ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ ๊ฒฐํ•จ
- ์ฝ”๋“œ์˜ ๋น„๋ฐ€ ๋˜๋Š” ์ž๊ฒฉ ์ฆ๋ช…
- ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

ํŠน์ • ์ค„ ์ฐธ์กฐ ๋ฐ ์ œ์•ˆ๋œ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ œ๊ณตํ•˜์„ธ์š”.

Claude์—๊ฒŒ ๋ช…์‹œ์ ์œผ๋กœ subagents๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜์‹ญ์‹œ์˜ค: "subagent๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์ฝ”๋“œ๋ฅผ ๋ณด์•ˆ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๊ฒ€ํ† ํ•˜์„ธ์š”."

plugins ์„ค์น˜ํ•˜๊ธฐ

Plugins๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฐ Anthropic์˜ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ๋‹จ์ผ ๋‹จ์œ„๋กœ skills, hooks, subagents, MCP ์„œ๋ฒ„๋ฅผ ๋ฒˆ๋“ค๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํƒ€์ž…์ด ์ง€์ •๋œ ์–ธ์–ด๋กœ ์ž‘์—…ํ•˜๋ฉด ์ฝ”๋“œ ์ธํ…”๋ฆฌ์ „์Šค plugin์„ ์„ค์น˜ํ•˜์—ฌ Claude์—๊ฒŒ ์ •ํ™•ํ•œ ๊ธฐํ˜ธ ํƒ์ƒ‰ ๋ฐ ํŽธ์ง‘ ํ›„ ์ž๋™ ์˜ค๋ฅ˜ ๊ฐ์ง€๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค.

skills, subagents, hooks, MCP ์ค‘์—์„œ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ง€์นจ์€ Claude Code ํ™•์žฅ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.


ํšจ๊ณผ์ ์œผ๋กœ ์†Œํ†ตํ•˜๊ธฐ

Claude Code์™€์˜ ์†Œํ†ต ๋ฐฉ์‹์€ ๊ฒฐ๊ณผ์˜ ํ’ˆ์งˆ์— ํฌ๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ๋ฒ ์ด์Šค ์งˆ๋ฌธ ํ•˜๊ธฐ

์ƒˆ๋กœ์šด ์ฝ”๋“œ๋ฒ ์ด์Šค์— ์˜จ๋ณด๋”ฉํ•  ๋•Œ Claude Code๋ฅผ ํ•™์Šต ๋ฐ ํƒ์ƒ‰์— ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. Claude์—๊ฒŒ ๋‹ค๋ฅธ ์—”์ง€๋‹ˆ์–ด์—๊ฒŒ ๋ฌผ์–ด๋ณผ ๊ฒƒ๊ณผ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ์งˆ๋ฌธ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ๋กœ๊น…์€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ?
  • ์ƒˆ๋กœ์šด API ์—”๋“œํฌ์ธํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๊นŒ?
  • foo.rs์˜ 134๋ฒˆ ์ค„์—์„œ async move { ... }๋Š” ๋ฌด์—‡์„ ํ•ฉ๋‹ˆ๊นŒ?
  • CustomerOnboardingFlowImpl์€ ์–ด๋–ค ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๊นŒ?
  • ์ด ์ฝ”๋“œ๊ฐ€ 333๋ฒˆ ์ค„์—์„œ bar() ๋Œ€์‹  foo()๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ Claude Code๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ํšจ๊ณผ์ ์ธ ์˜จ๋ณด๋”ฉ ์›Œํฌํ”Œ๋กœ์šฐ์ด๋ฉฐ, ๋žจํ”„์—… ์‹œ๊ฐ„์„ ๊ฐœ์„ ํ•˜๊ณ  ๋‹ค๋ฅธ ์—”์ง€๋‹ˆ์–ด์˜ ๋ถ€๋‹ด์„ ์ค„์ž…๋‹ˆ๋‹ค. ํŠน๋ณ„ํ•œ ํ”„๋กฌํ”„ํŒ…์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค: ์ง์ ‘ ์งˆ๋ฌธํ•˜์‹ญ์‹œ์˜ค.

Claude๊ฐ€ ๋‹น์‹ ์„ ์ธํ„ฐ๋ทฐํ•˜๋„๋ก ํ•˜๊ธฐ

Claude๋Š” ๊ธฐ์ˆ  ๊ตฌํ˜„, UI/UX, ์—ฃ์ง€ ์ผ€์ด์Šค, ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ํฌํ•จํ•˜์—ฌ ์•„์ง ๊ณ ๋ คํ•˜์ง€ ์•Š์€ ๊ฒƒ๋“ค์— ๋Œ€ํ•ด ์งˆ๋ฌธํ•ฉ๋‹ˆ๋‹ค.

[๊ฐ„๋‹จํ•œ ์„ค๋ช…]์„ ๋นŒ๋“œํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. AskUserQuestion ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž์„ธํžˆ ์ธํ„ฐ๋ทฐํ•ด์ฃผ์„ธ์š”.

๊ธฐ์ˆ  ๊ตฌํ˜„, UI/UX, ์—ฃ์ง€ ์ผ€์ด์Šค, ์šฐ๋ ค ์‚ฌํ•ญ, ํŠธ๋ ˆ์ด๋“œ์˜คํ”„์— ๋Œ€ํ•ด ์งˆ๋ฌธํ•˜์„ธ์š”. ๋ช…๋ฐฑํ•œ ์งˆ๋ฌธ์„ ํ•˜์ง€ ๋งˆ์„ธ์š”, ๋‹น์‹ ์ด ๊ณ ๋ คํ•˜์ง€ ์•Š์•˜์„ ์ˆ˜ ์žˆ๋Š” ์–ด๋ ค์šด ๋ถ€๋ถ„์„ ํŒŒ๊ณ ๋“œ์„ธ์š”.

๋ชจ๋“  ๊ฒƒ์„ ๋‹ค๋ฃฐ ๋•Œ๊นŒ์ง€ ์ธํ„ฐ๋ทฐ๋ฅผ ๊ณ„์†ํ•œ ๋‹ค์Œ SPEC.md์— ์™„์ „ํ•œ ์‚ฌ์–‘์„ ์ž‘์„ฑํ•˜์„ธ์š”.

์‚ฌ์–‘์ด ์™„๋ฃŒ๋˜๋ฉด ์ƒˆ ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜์—ฌ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. ์ƒˆ ์„ธ์…˜์€ ๊ตฌํ˜„์—๋งŒ ์ง‘์ค‘ํ•˜๋Š” ๊นจ๋—ํ•œ context๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์„ฑ๋œ ์‚ฌ์–‘์ด ์žˆ์Šต๋‹ˆ๋‹ค.


์„ธ์…˜ ๊ด€๋ฆฌํ•˜๊ธฐ

๋Œ€ํ™”๋Š” ์ง€์†์ ์ด๊ณ  ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ™œ์šฉํ•˜์‹ญ์‹œ์˜ค!

์กฐ๊ธฐ์— ์ž์ฃผ ๋ฐฉํ–ฅ ์ˆ˜์ •ํ•˜๊ธฐ

์ตœ๊ณ ์˜ ๊ฒฐ๊ณผ๋Š” ๊ธด๋ฐ€ํ•œ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„์—์„œ ๋‚˜์˜ต๋‹ˆ๋‹ค. Claude๊ฐ€ ๋•Œ๋•Œ๋กœ ์ฒซ ์‹œ๋„์—์„œ ๋ฌธ์ œ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ํ•ด๊ฒฐํ•˜์ง€๋งŒ, ๋น ๋ฅด๊ฒŒ ์ˆ˜์ •ํ•˜๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ๋” ๋น ๋ฅด๊ฒŒ ๋” ๋‚˜์€ ์†”๋ฃจ์…˜์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • Esc: Esc ํ‚ค๋กœ Claude์˜ ์ž‘์—…์„ ์ค‘๊ฐ„์— ์ค‘์ง€ํ•˜์‹ญ์‹œ์˜ค. Context๋Š” ๋ณด์กด๋˜๋ฏ€๋กœ ๋ฐฉํ–ฅ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Esc + Esc ๋˜๋Š” /rewind: Esc๋ฅผ ๋‘ ๋ฒˆ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ /rewind๋ฅผ ์‹คํ–‰ํ•˜์—ฌ rewind ๋ฉ”๋‰ด๋ฅผ ์—ด๊ณ  ์ด์ „ ๋Œ€ํ™” ๋ฐ ์ฝ”๋“œ ์ƒํƒœ๋ฅผ ๋ณต์›ํ•˜๊ฑฐ๋‚˜ ์„ ํƒํ•œ ๋ฉ”์‹œ์ง€์—์„œ ์š”์•ฝํ•˜์‹ญ์‹œ์˜ค.
  • "Undo that": Claude์—๊ฒŒ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋˜๋Œ๋ฆฌ๋„๋ก ํ•˜์‹ญ์‹œ์˜ค.
  • /clear: ๊ด€๋ จ ์—†๋Š” ์ž‘์—… ๊ฐ„์— context๋ฅผ ์žฌ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค. ๊ด€๋ จ ์—†๋Š” context๊ฐ€ ์žˆ๋Š” ๊ธด ์„ธ์…˜์€ ์„ฑ๋Šฅ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•œ ์„ธ์…˜์—์„œ ๊ฐ™์€ ๋ฌธ์ œ์— ๋Œ€ํ•ด Claude๋ฅผ ๋‘ ๋ฒˆ ์ด์ƒ ์ˆ˜์ •ํ–ˆ๋‹ค๋ฉด context๋Š” ์‹คํŒจํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์œผ๋กœ ๋ณต์žกํ•ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. /clear๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋ฐฐ์šด ๋‚ด์šฉ์„ ํ†ตํ•ฉํ•˜๋Š” ๋” ๊ตฌ์ฒด์ ์ธ ํ”„๋กฌํ”„ํŠธ๋กœ ์ƒˆ๋กœ ์‹œ์ž‘ํ•˜์‹ญ์‹œ์˜ค. ๋ˆ„์ ๋œ ์ˆ˜์ •์ด ์žˆ๋Š” ๊ธด ์„ธ์…˜๋ณด๋‹ค ๋” ๋‚˜์€ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์žˆ๋Š” ๊นจ๋—ํ•œ ์„ธ์…˜์ด ๊ฑฐ์˜ ํ•ญ์ƒ ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค.

context ์ ๊ทน์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ

Claude Code๋Š” context ์ œํ•œ์— ์ ‘๊ทผํ•  ๋•Œ ๋Œ€ํ™” ๊ธฐ๋ก์„ ์ž๋™์œผ๋กœ ์••์ถ•ํ•˜์—ฌ ์ค‘์š”ํ•œ ์ฝ”๋“œ์™€ ๊ฒฐ์ •์„ ๋ณด์กดํ•˜๋ฉด์„œ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค.

๊ธด ์„ธ์…˜ ๋™์•ˆ Claude์˜ context window๋Š” ๊ด€๋ จ ์—†๋Š” ๋Œ€ํ™”, ํŒŒ์ผ ๋‚ด์šฉ, ๋ช…๋ น์œผ๋กœ ์ฑ„์›Œ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์„ฑ๋Šฅ์„ ์ค„์ด๊ณ  ๋•Œ๋•Œ๋กœ Claude๋ฅผ ์‚ฐ๋งŒํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ž‘์—… ๊ฐ„์— ์ž์ฃผ /clear๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ context window๋ฅผ ์™„์ „ํžˆ ์žฌ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค
  • ์ž๋™ ์••์ถ•์ด ํŠธ๋ฆฌ๊ฑฐ๋˜๋ฉด Claude๋Š” ์ฝ”๋“œ ํŒจํ„ด, ํŒŒ์ผ ์ƒํƒœ, ์ฃผ์š” ๊ฒฐ์ •์„ ํฌํ•จํ•˜์—ฌ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์„ ์š”์•ฝํ•ฉ๋‹ˆ๋‹ค
  • ๋” ๋งŽ์€ ์ œ์–ด๋ฅผ ์œ„ํ•ด /compact <instructions>๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค(์˜ˆ: /compact Focus on the API changes)
  • ๋Œ€ํ™”์˜ ์ผ๋ถ€๋งŒ ์••์ถ•ํ•˜๋ ค๋ฉด Esc + Esc ๋˜๋Š” /rewind๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋ฉ”์‹œ์ง€ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ์„ ํƒํ•˜๊ณ , Summarize from here๋ฅผ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค. ์ด๋Š” ํ•ด๋‹น ์ง€์ ๋ถ€ํ„ฐ์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์••์ถ•ํ•˜๋ฉด์„œ ์ด์ „ context๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • CLAUDE.md์—์„œ "When compacting, always preserve the full list of modified files and any test commands"์™€ ๊ฐ™์€ ์ง€์‹œ์‚ฌํ•ญ์œผ๋กœ ์••์ถ• ๋™์ž‘์„ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜์—ฌ ์ค‘์š”ํ•œ context๊ฐ€ ์š”์•ฝ์„ ํ†ตํ•ด ์œ ์ง€๋˜๋„๋ก ํ•˜์‹ญ์‹œ์˜ค
  • ๋น ๋ฅธ ์งˆ๋ฌธ์˜ ๊ฒฝ์šฐ context์— ๋“ค์–ด๊ฐ€์ง€ ์•Š์•„์•ผ ํ•˜๋ฏ€๋กœ /btw๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ๋‹ต๋ณ€์€ ํ•ด์ œ ๊ฐ€๋Šฅํ•œ ์˜ค๋ฒ„๋ ˆ์ด์— ๋‚˜ํƒ€๋‚˜๊ณ  ๋Œ€ํ™” ๊ธฐ๋ก์— ๋“ค์–ด๊ฐ€์ง€ ์•Š์œผ๋ฏ€๋กœ context๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค์ง€ ์•Š๊ณ  ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

subagents๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ์‚ฌํ•˜๊ธฐ

context๊ฐ€ ๊ธฐ๋ณธ ์ œ์•ฝ ์กฐ๊ฑด์ด๋ฏ€๋กœ subagents๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. Claude๊ฐ€ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๊ตฌํ•  ๋•Œ ๋งŽ์€ ํŒŒ์ผ์„ ์ฝ์œผ๋ฉฐ, ๋ชจ๋‘ context๋ฅผ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค. Subagents๋Š” ๋ณ„๋„์˜ context window์—์„œ ์‹คํ–‰๋˜๊ณ  ์š”์•ฝ์„ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค:

subagents๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ ์‹œ์Šคํ…œ์ด ํ† ํฐ ์ƒˆ๋กœ ๊ณ ์นจ์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€,
๊ทธ๋ฆฌ๊ณ  ์žฌ์‚ฌ์šฉํ•ด์•ผ ํ•  ๊ธฐ์กด OAuth ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์žˆ๋Š”์ง€ ์กฐ์‚ฌํ•˜์„ธ์š”.

subagent๋Š” ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ , ๊ด€๋ จ ํŒŒ์ผ์„ ์ฝ๊ณ , ์ฃผ์š” ๋Œ€ํ™”๋ฅผ ๋ณต์žกํ•˜๊ฒŒ ํ•˜์ง€ ์•Š๊ณ  ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

Claude๊ฐ€ ๊ตฌํ˜„ํ•œ ํ›„ ๊ฒ€์ฆ์„ ์œ„ํ•ด subagents๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค:

subagent๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์ฝ”๋“œ๋ฅผ ์—ฃ์ง€ ์ผ€์ด์Šค์— ๋Œ€ํ•ด ๊ฒ€ํ† ํ•˜์„ธ์š”

์ฒดํฌํฌ์ธํŠธ๋กœ rewindํ•˜๊ธฐ

Claude๋Š” ๋ณ€๊ฒฝ ์ „์— ์ž๋™์œผ๋กœ ์ฒดํฌํฌ์ธํŠธํ•ฉ๋‹ˆ๋‹ค. Escape๋ฅผ ๋‘ ๋ฒˆ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ /rewind๋ฅผ ์‹คํ–‰ํ•˜์—ฌ rewind ๋ฉ”๋‰ด๋ฅผ ์—ด๊ธฐ. ๋Œ€ํ™”๋งŒ ๋ณต์›ํ•˜๊ฑฐ๋‚˜, ์ฝ”๋“œ๋งŒ ๋ณต์›ํ•˜๊ฑฐ๋‚˜, ๋‘˜ ๋‹ค ๋ณต์›ํ•˜๊ฑฐ๋‚˜, ์„ ํƒํ•œ ๋ฉ”์‹œ์ง€์—์„œ ์š”์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Checkpointing์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๋ชจ๋“  ์›€์ง์ž„์„ ์‹ ์ค‘ํ•˜๊ฒŒ ๊ณ„ํšํ•˜๋Š” ๋Œ€์‹  Claude์—๊ฒŒ ์œ„ํ—˜ํ•œ ๊ฒƒ์„ ์‹œ๋„ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉด rewindํ•˜๊ณ  ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค. ์ฒดํฌํฌ์ธํŠธ๋Š” ์„ธ์…˜ ๊ฐ„์— ์œ ์ง€๋˜๋ฏ€๋กœ ํ„ฐ๋ฏธ๋„์„ ๋‹ซ์•„๋„ ๋‚˜์ค‘์— rewindํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€ํ™” ์žฌ๊ฐœํ•˜๊ธฐ

Claude Code๋Š” ๋Œ€ํ™”๋ฅผ ๋กœ์ปฌ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…์ด ์—ฌ๋Ÿฌ ์„ธ์…˜์— ๊ฑธ์ณ ์žˆ์„ ๋•Œ context๋ฅผ ๋‹ค์‹œ ์„ค๋ช…ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค:

claude --continue    # ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ€ํ™” ์žฌ๊ฐœ
claude --resume      # ์ตœ๊ทผ ๋Œ€ํ™”์—์„œ ์„ ํƒ

/rename์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ธ์…˜์— "oauth-migration" ๋˜๋Š” "debugging-memory-leak"๊ณผ ๊ฐ™์€ ์„ค๋ช…์ ์ธ ์ด๋ฆ„์„ ์ง€์ •ํ•˜์—ฌ ๋‚˜์ค‘์— ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜์‹ญ์‹œ์˜ค. ์„ธ์…˜์„ ๋ถ„๊ธฐ์ฒ˜๋Ÿผ ์ทจ๊ธ‰ํ•˜์‹ญ์‹œ์˜ค: ๋‹ค์–‘ํ•œ ์ž‘์—… ์ŠคํŠธ๋ฆผ์€ ๋ณ„๋„์˜ ์ง€์†์ ์ธ context๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ž๋™ํ™” ๋ฐ ํ™•์žฅํ•˜๊ธฐ

ํ•œ Claude๋กœ ํšจ๊ณผ์ ์ด ๋˜๋ฉด ๋ณ‘๋ ฌ ์„ธ์…˜, ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ, fan-out ํŒจํ„ด์œผ๋กœ ์ถœ๋ ฅ์„ ๊ณฑํ•˜์‹ญ์‹œ์˜ค.

์ง€๊ธˆ๊นŒ์ง€ ๋ชจ๋“  ๊ฒƒ์€ ํ•œ ๋ช…์˜ ์ธ๊ฐ„, ํ•œ ๋ช…์˜ Claude, ํ•œ ๊ฐœ์˜ ๋Œ€ํ™”๋ฅผ ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Claude Code๋Š” ์ˆ˜ํ‰์œผ๋กœ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค. ์ด ์„น์…˜์˜ ๊ธฐ์ˆ ์€ ๋” ๋งŽ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ ์‹คํ–‰ํ•˜๊ธฐ

claude -p "your prompt"๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„ธ์…˜ ์—†์ด ๋น„๋Œ€ํ™”ํ˜•์œผ๋กœ Claude๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ๋Š” Claude๋ฅผ CI ํŒŒ์ดํ”„๋ผ์ธ, pre-commit hooks ๋˜๋Š” ์ž๋™ํ™”๋œ ์›Œํฌํ”Œ๋กœ์šฐ์— ํ†ตํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ถœ๋ ฅ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฒฐ๊ณผ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ๊ตฌ๋ฌธ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ์ผ๋ฐ˜ ํ…์ŠคํŠธ, JSON ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ JSON.

# ์ผํšŒ์„ฑ ์ฟผ๋ฆฌ
claude -p "์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•˜์„ธ์š”"

# ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์œ„ํ•œ ๊ตฌ์กฐํ™”๋œ ์ถœ๋ ฅ
claude -p "๋ชจ๋“  API ์—”๋“œํฌ์ธํŠธ ๋‚˜์—ด" --output-format json

# ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ŠคํŠธ๋ฆฌ๋ฐ
claude -p "์ด ๋กœ๊ทธ ํŒŒ์ผ ๋ถ„์„" --output-format stream-json

์—ฌ๋Ÿฌ Claude ์„ธ์…˜ ์‹คํ–‰ํ•˜๊ธฐ

๋ณ‘๋ ฌ ์„ธ์…˜์„ ์‹คํ–‰ํ•˜๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • Claude Code ๋ฐ์Šคํฌํ†ฑ ์•ฑ: ์—ฌ๋Ÿฌ ๋กœ์ปฌ ์„ธ์…˜์„ ์‹œ๊ฐ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜์‹ญ์‹œ์˜ค. ๊ฐ ์„ธ์…˜์€ ์ž์‹ ์˜ ๊ฒฉ๋ฆฌ๋œ worktree๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
  • ์›น์˜ Claude Code: Anthropic์˜ ์•ˆ์ „ํ•œ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ์—์„œ ๊ฒฉ๋ฆฌ๋œ VM์—์„œ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.
  • Agent teams: ๊ณต์œ  ์ž‘์—…, ๋ฉ”์‹œ์ง•, ํŒ€ ๋ฆฌ๋”๋ฅผ ์‚ฌ์šฉํ•œ ์—ฌ๋Ÿฌ ์„ธ์…˜์˜ ์ž๋™ ์กฐ์ •.

์ž‘์—…์„ ๋ณ‘๋ ฌํ™”ํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ์—ฌ๋Ÿฌ ์„ธ์…˜์€ ํ’ˆ์งˆ ์ค‘์‹ฌ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด context๋Š” Claude๊ฐ€ ๋ฐฉ๊ธˆ ์ž‘์„ฑํ•œ ์ฝ”๋“œ์— ํŽธํ–ฅ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ฝ”๋“œ ๊ฒ€ํ† ๋ฅผ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Writer/Reviewer ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค:

์„ธ์…˜ A (์ž‘์„ฑ์ž) ์„ธ์…˜ B (๊ฒ€ํ† ์ž)
API ์—”๋“œํฌ์ธํŠธ์— ๋Œ€ํ•œ ์†๋„ ์ œํ•œ๊ธฐ ๊ตฌํ˜„
@src/middleware/rateLimiter.ts์˜ ์†๋„ ์ œํ•œ๊ธฐ ๊ตฌํ˜„์„ ๊ฒ€ํ† ํ•˜์„ธ์š”. ์—ฃ์ง€ ์ผ€์ด์Šค, ๊ฒฝ์Ÿ ์กฐ๊ฑด, ๊ธฐ์กด ๋ฏธ๋“ค์›จ์–ด ํŒจํ„ด๊ณผ์˜ ์ผ๊ด€์„ฑ์„ ์ฐพ์œผ์„ธ์š”.
๊ฒ€ํ†  ํ”ผ๋“œ๋ฐฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: [์„ธ์…˜ B ์ถœ๋ ฅ]. ์ด ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜์„ธ์š”.

ํ…Œ์ŠคํŠธ๋กœ ๋น„์Šทํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ํ•œ Claude๊ฐ€ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๋‹ค๋ฅธ Claude๊ฐ€ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ์ „์ฒด์— fan outํ•˜๊ธฐ

๋Œ€๊ทœ๋ชจ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋˜๋Š” ๋ถ„์„์˜ ๊ฒฝ์šฐ ๋งŽ์€ ๋ณ‘๋ ฌ Claude ํ˜ธ์ถœ ์ „์ฒด์— ์ž‘์—…์„ ๋ถ„๋ฐฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

1

์ž‘์—… ๋ชฉ๋ก ์ƒ์„ฑ

Claude๊ฐ€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ํ•„์š”ํ•œ ๋ชจ๋“  ํŒŒ์ผ์„ ๋‚˜์—ดํ•˜๋„๋ก ํ•˜์‹ญ์‹œ์˜ค(์˜ˆ: ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ํ•„์š”ํ•œ ๋ชจ๋“  2,000๊ฐœ์˜ Python ํŒŒ์ผ ๋‚˜์—ด)

2

๋ชฉ๋ก์„ ํ†ตํ•ด ๋ฃจํ”„ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

for file in $(cat files.txt); do
claude -p "React์—์„œ Vue๋กœ $file ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜. OK ๋˜๋Š” FAIL ๋ฐ˜ํ™˜." \
--allowedTools "Edit,Bash(git commit *)"
done
3

๋ช‡ ๊ฐœ ํŒŒ์ผ์—์„œ ํ…Œ์ŠคํŠธํ•œ ๋‹ค์Œ ๊ทœ๋ชจ์— ๋งž๊ฒŒ ์‹คํ–‰

์ฒ˜์Œ 2-3๊ฐœ ํŒŒ์ผ์—์„œ ์ž˜๋ชป๋œ ๊ฒƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ฐœ์„ ํ•œ ๋‹ค์Œ ์ „์ฒด ์ง‘ํ•ฉ์—์„œ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. --allowedTools ํ”Œ๋ž˜๊ทธ๋Š” Claude๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์„ ์ œํ•œํ•˜๋ฉฐ, ์ด๋Š” ๋ฌด์ธ ์ƒํƒœ์—์„œ ์‹คํ–‰ํ•  ๋•Œ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

Claude๋ฅผ ๊ธฐ์กด ๋ฐ์ดํ„ฐ/์ฒ˜๋ฆฌ ํŒŒ์ดํ”„๋ผ์ธ์— ํ†ตํ•ฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค:

claude -p "<your prompt>" --output-format json | your_command

๊ฐœ๋ฐœ ์ค‘์— ๋””๋ฒ„๊น…์„ ์œ„ํ•ด --verbose๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ํ”„๋กœ๋•์…˜์—์„œ๋Š” ๋„์‹ญ์‹œ์˜ค.

auto mode๋กœ ์ž์œจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ

์ค‘๋‹จ ์—†๋Š” ์‹คํ–‰๊ณผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์•ˆ์ „ ๊ฒ€์‚ฌ๋ฅผ ์œ„ํ•ด auto mode๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ๋ถ„๋ฅ˜๊ธฐ ๋ชจ๋ธ์ด ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ๊ฒ€ํ† ํ•˜์—ฌ ๋ฒ”์œ„ ํ™•๋Œ€, ์•Œ ์ˆ˜ ์—†๋Š” ์ธํ”„๋ผ, ์ ๋Œ€์  ์ฝ˜ํ…์ธ  ๊ธฐ๋ฐ˜ ์ž‘์—…์„ ์ฐจ๋‹จํ•˜๋ฉด์„œ ์ผ์ƒ์ ์ธ ์ž‘์—…์ด ํ”„๋กฌํ”„ํŠธ ์—†์ด ์ง„ํ–‰๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

claude --permission-mode auto -p "fix all lint errors"

-p ํ”Œ๋ž˜๊ทธ๊ฐ€ ์žˆ๋Š” ๋น„๋Œ€ํ™”ํ˜• ์‹คํ–‰์˜ ๊ฒฝ์šฐ, ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ž‘์—…์„ ์ฐจ๋‹จํ•˜๋ฉด auto mode๊ฐ€ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ํด๋ฐฑํ•  ์‚ฌ์šฉ์ž๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. auto mode๊ฐ€ ํด๋ฐฑํ•  ๋•Œ์˜ ์ž„๊ณ„๊ฐ’์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.


์ผ๋ฐ˜์ ์ธ ์‹คํŒจ ํŒจํ„ด ํ”ผํ•˜๊ธฐ

์ด๋Š” ์ผ๋ฐ˜์ ์ธ ์‹ค์ˆ˜์ž…๋‹ˆ๋‹ค. ์กฐ๊ธฐ์— ์ธ์‹ํ•˜๋ฉด ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค:

  • ์ฃผ๋ฐฉ ์‹ฑํฌ ์„ธ์…˜. ํ•œ ์ž‘์—…์œผ๋กœ ์‹œ์ž‘ํ•œ ๋‹ค์Œ Claude์—๊ฒŒ ๊ด€๋ จ ์—†๋Š” ๊ฒƒ์„ ๋ฌผ์–ด๋ณธ ๋‹ค์Œ ์ฒซ ๋ฒˆ์งธ ์ž‘์—…์œผ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. Context๋Š” ๊ด€๋ จ ์—†๋Š” ์ •๋ณด๋กœ ๊ฐ€๋“ ์ฐน๋‹ˆ๋‹ค.

    ์ˆ˜์ •: ๊ด€๋ จ ์—†๋Š” ์ž‘์—… ๊ฐ„์— /clear.

  • ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜์ •. Claude๊ฐ€ ๋ญ”๊ฐ€ ์ž˜๋ชปํ•˜๊ณ , ๋‹น์‹ ์ด ์ˆ˜์ •ํ•˜๊ณ , ์—ฌ์ „ํžˆ ์ž˜๋ชป๋˜๊ณ , ๋‹ค์‹œ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. Context๋Š” ์‹คํŒจํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์œผ๋กœ ์˜ค์—ผ๋ฉ๋‹ˆ๋‹ค.

    ์ˆ˜์ •: ๋‘ ๋ฒˆ์˜ ์‹คํŒจํ•œ ์ˆ˜์ • ํ›„ /clear๋ฅผ ํ•˜๊ณ  ๋ฐฐ์šด ๋‚ด์šฉ์„ ํ†ตํ•ฉํ•˜๋Š” ๋” ๋‚˜์€ ์ดˆ๊ธฐ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค.

  • ๊ณผ๋„ํ•˜๊ฒŒ ์ง€์ •๋œ CLAUDE.md. CLAUDE.md๊ฐ€ ๋„ˆ๋ฌด ๊ธธ๋ฉด Claude๋Š” ์ค‘์š”ํ•œ ๊ทœ์น™์ด ๋…ธ์ด์ฆˆ์— ์†์‹ค๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ ˆ๋ฐ˜์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

    ์ˆ˜์ •: ๋ฌด์ž๋น„ํ•˜๊ฒŒ ์ •๋ฆฌํ•˜์‹ญ์‹œ์˜ค. Claude๊ฐ€ ์ง€์‹œ์‚ฌํ•ญ ์—†์ด ์ด๋ฏธ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋ฉด ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ hook์œผ๋กœ ๋ณ€ํ™˜ํ•˜์‹ญ์‹œ์˜ค.

  • ์‹ ๋ขฐ-๊ฒ€์ฆ ๊ฐ„๊ฒฉ. Claude๋Š” ๊ทธ๋Ÿด๋“ฏํ•ด ๋ณด์ด์ง€๋งŒ ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๋Š” ๊ตฌํ˜„์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    ์ˆ˜์ •: ํ•ญ์ƒ ๊ฒ€์ฆ(ํ…Œ์ŠคํŠธ, ์Šคํฌ๋ฆฝํŠธ, ์Šคํฌ๋ฆฐ์ƒท)์„ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค. ๊ฒ€์ฆํ•  ์ˆ˜ ์—†์œผ๋ฉด ๋ฐฐํฌํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

  • ๋ฌดํ•œ ํƒ์ƒ‰. ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ  Claude์—๊ฒŒ ๋ญ”๊ฐ€๋ฅผ "์กฐ์‚ฌ"ํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. Claude๋Š” ์ˆ˜๋ฐฑ ๊ฐœ์˜ ํŒŒ์ผ์„ ์ฝ์œผ๋ฉฐ context๋ฅผ ์ฑ„์›๋‹ˆ๋‹ค.

    ์ˆ˜์ •: ์กฐ์‚ฌ๋ฅผ ์ข๊ฒŒ ๋ฒ”์œ„ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ subagents๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํƒ์ƒ‰์ด ์ฃผ์š” context๋ฅผ ์†Œ๋น„ํ•˜์ง€ ์•Š๋„๋ก ํ•˜์‹ญ์‹œ์˜ค.


์ง๊ด€ ๊ฐœ๋ฐœํ•˜๊ธฐ

์ด ๊ฐ€์ด๋“œ์˜ ํŒจํ„ด์€ ์ •ํ•ด์ง„ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ ๋ชจ๋“  ์ƒํ™ฉ์— ์ตœ์ ์ผ ์ˆ˜๋Š” ์—†๋Š” ์‹œ์ž‘์ ์ž…๋‹ˆ๋‹ค.

๋•Œ๋กœ๋Š” ๋ณต์žกํ•œ ๋ฌธ์ œ์— ๊นŠ์ด ์žˆ๊ณ  ๊ธฐ๋ก์ด ๊ฐ€์น˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— context๊ฐ€ ๋ˆ„์ ๋˜๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ์ž‘์—…์ด ํƒ์ƒ‰์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ณ„ํš์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  Claude๊ฐ€ ํŒŒ์•…ํ•˜๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ๋ชจํ˜ธํ•œ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์ •ํ™•ํžˆ ๋งž๊ธฐ ๋•Œ๋ฌธ์— Claude๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด์„ํ•˜๋Š” ๋ฐฉ์‹์„ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ์ž…๋‹ˆ๋‹ค.

์ž‘๋™ํ•˜๋Š” ๊ฒƒ์— ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด์‹ญ์‹œ์˜ค. Claude๊ฐ€ ํ›Œ๋ฅญํ•œ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•  ๋•Œ ๋‹น์‹ ์ด ํ•œ ๊ฒƒ์„ ์ฃผ๋ชฉํ•˜์‹ญ์‹œ์˜ค: ํ”„๋กฌํ”„ํŠธ ๊ตฌ์กฐ, ์ œ๊ณตํ•œ context, ๋‹น์‹ ์ด ์žˆ๋˜ ๋ชจ๋“œ. Claude๊ฐ€ ์–ด๋ ค์›€์„ ๊ฒช์„ ๋•Œ ์™œ์ธ์ง€ ๋ฌผ์–ด๋ณด์‹ญ์‹œ์˜ค. Context๊ฐ€ ๋„ˆ๋ฌด ์‹œ๋„๋Ÿฌ์› ์Šต๋‹ˆ๊นŒ? ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋„ˆ๋ฌด ๋ชจํ˜ธํ–ˆ์Šต๋‹ˆ๊นŒ? ์ž‘์—…์ด ํ•œ ๋ฒˆ์— ๋„ˆ๋ฌด ์ปธ์Šต๋‹ˆ๊นŒ?

์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์–ด๋–ค ๊ฐ€์ด๋“œ๋„ ํฌ์ฐฉํ•  ์ˆ˜ ์—†๋Š” ์ง๊ด€์„ ๊ฐœ๋ฐœํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์ผ ๋•Œ์™€ ๊ฐœ๋ฐฉ์ ์ผ ๋•Œ, ๊ณ„ํšํ•  ๋•Œ์™€ ํƒ์ƒ‰ํ•  ๋•Œ, context๋ฅผ ์ง€์šธ ๋•Œ์™€ ๋ˆ„์ ํ•˜๋„๋ก ํ•  ๋•Œ๋ฅผ ์•Œ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ด€๋ จ ๋ฆฌ์†Œ์Šค