์‚ฌ๋‚ด Claude Code ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ๋„์ž… ํ›„๊ธฐ

seunghunlim-wall
  • #AI
  • #Claude Code
  • #๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค
  • #ํ”Œ๋Ÿฌ๊ทธ์ธ
  • #์Šคํ‚ฌ
  • #๊ฐœ๋ฐœ๋ฌธํ™”

๋“ค์–ด๊ฐ€๋ฉฐ

์•ˆ๋…•ํ•˜์„ธ์š”. ๋…ธ๋จธ์Šค ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด ์ž„์Šนํ›ˆ์ž…๋‹ˆ๋‹ค.

์ตœ๊ทผ ๊ฐœ๋ฐœํŒ€ ๋‚ด์—์„œ Claude Code๋ฅผ ๋น„๋กฏํ•œ AI ์ฝ”๋”ฉ ๋„๊ตฌ๋ฅผ ์ ๊ทน์ ์œผ๋กœ ๋„์ž…ํ•˜๋ฉด์„œ ์—…๋ฌด ์ƒ์‚ฐ์„ฑ์— ๋งŽ์€ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์‚ฌ์šฉํ•˜๋Š” ํŒ€์›์ด ๋Š˜์–ด๋‚ ์ˆ˜๋ก ํ•œ ๊ฐ€์ง€ ๊ณ ๋ฏผ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ๊ฐ์ž ๋กœ์ปฌ ํ™˜๊ฒฝ(~/.claude/)์—์„œ ๊ธฐ๊ฐ€ ๋ง‰ํžŒ ํ”„๋กฌํ”„ํŠธ๋‚˜ ์Šคํ‚ฌ์„ ๋งŒ๋“ค์–ด ์“ฐ๊ณ  ์žˆ๋Š”๋ฐ, ์ด ๊ท€์ค‘ํ•œ ๋…ธํ•˜์šฐ๋“ค์ด ๋งŒ๋“  ์‚ฌ๋žŒ์˜ ์ปดํ“จํ„ฐ์—๋งŒ ๊ฐ‡ํ˜€ ์žˆ์—ˆ๋˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ AI๋Š” ์šฐ๋ฆฌ ํŒ€์˜ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์ด๋‚˜ ๋ ˆ์ด์–ด ๊ตฌ์กฐ๋ฅผ ์ „ํ˜€ ๋ชจ๋ฅธ ์ฑ„ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๊ณ , ๊ฒฐ๊ตญ ์ฝ”๋“œ ๋ฆฌ๋ทฐ์—์„œ ์‚ฌ๋žŒ์ด ๊ฐ™์€ ์ง€์ ์„ ๋ฐ˜๋ณตํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœํŒ€ ๋ˆ„๊ตฌ๋‚˜ ์œ ์šฉํ•œ ์Šคํ‚ฌ๊ณผ ์„ค์ •์„ ์‰ฝ๊ฒŒ ๋“ฑ๋กํ•˜๊ณ  ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋‚ด Claude Code ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๋ณ„๋„์˜ ๋ณต์žกํ•œ ์ธํ”„๋ผ ์—†์ด Git ์ €์žฅ์†Œ ํ•˜๋‚˜์™€ CI๋งŒ์œผ๋กœ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ๊ตฌ์„ฑํ•œ ๋ฐฉ๋ฒ•๊ณผ, ๋ฐฑ์—”๋“œ ํŒŒํŠธ์—์„œ ์‹ค์ œ๋กœ ์ ์šฉํ•ด ํšจ๊ณผ๋ฅผ ๋ณด๊ณ  ์žˆ๋Š” ์›Œํฌํ”Œ๋กœ์šฐ, ๊ทธ๋ฆฌ๊ณ  ์šด์˜ ๊ณผ์ •์—์„œ ๊ฒช์€ ์‹œํ–‰์ฐฉ์˜ค์™€ ์ธ์‚ฌ์ดํŠธ๋ฅผ ๊ณต์œ ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.


1. ์™œ ์‚ฌ๋‚ด ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—ฌ์•ผ ํ–ˆ์„๊นŒ?

1-1. ์‚ฌ๋žŒ ๋จธ๋ฆฟ์†๊ณผ ๋กœ์ปฌ์— ๊ฐ‡ํžŒ ๋…ธํ•˜์šฐ

์ฒ˜์Œ ๋ถ€๋”ชํžŒ ๋ฌธ์ œ๋Š” ์ง€์‹์˜ ํŒŒํŽธํ™”์˜€์Šต๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ํŒŒํŠธ์—๋Š” ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ๊ตฌ์กฐ, DTO์™€ ์ปจํŠธ๋กค๋Ÿฌ ๋ถ„๋ฆฌ ๊ธฐ์ค€, PR ์ „ ์ ๊ฒ€ ํ•ญ๋ชฉ์ฒ˜๋Ÿผ ์˜ค๋žœ ์‹œ๊ฐ„ ํ•ฉ์˜ํ•ด ์˜จ ๊ทœ์น™๋“ค์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ทœ์น™๋“ค์€ ๋ฌธ์„œ๋กœ ์ฒด๊ณ„ํ™”๋˜๊ธฐ๋ณด๋‹ค ์‚ฌ๋žŒ์˜ ๋จธ๋ฆฟ์†๊ณผ PR ๋ฆฌ๋ทฐ ์ฝ”๋ฉ˜ํŠธ์— ํฉ์–ด์ ธ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. AI ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ•˜์ž ์ด ๋ฌธ์ œ๊ฐ€ ๋” ๋„๋“œ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. ์ปจ๋ฒค์…˜์„ ๋ชจ๋ฅด๋Š” AI๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ˆ, ๋ฆฌ๋ทฐ์–ด๋Š” ๋งค๋ฒˆ ๊ฐ™์€ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ˜๋ณตํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•œํŽธ, ํŒ€์›๋“ค์˜ ๋กœ์ปฌ ํ™˜๊ฒฝ(~/.claude/)์—๋Š” ๊ฐ์ž ๋‹ค๋“ฌ์–ด ๋‘” ์œ ์šฉํ•œ ํ”„๋กฌํ”„ํŠธ์™€ ์ ˆ์ฐจ์„œ๊ฐ€ ์Œ“์—ฌ๊ฐ€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๋Š” PR ๋ฆฌ๋ทฐ ์ ˆ์ฐจ๋ฅผ ๋ฉ‹์ง€๊ฒŒ ์ž๋™ํ™”ํ•ด ๋‘์—ˆ๊ณ , ๋ˆ„๊ตฐ๊ฐ€๋Š” ์žฅ์•  ๋Œ€์‘ ์‹œ ๋กœ๊ทธ ์ถ”์  ์ˆœ์„œ๋ฅผ ์Šคํฌ๋ฆฝํŠธ๋กœ ์ •๋ฆฌํ•ด ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฉ”์‹ ์ €๋กœ ๋งˆํฌ๋‹ค์šด์„ ๋ณต์‚ฌํ•ด ๊ณต์œ ํ•˜๋‹ค ๋ณด๋‹ˆ ๊ธˆ์„ธ ํŒŒํŽธํ™”๋œ ๋ณต์‚ฌ๋ณธ์ด ์ƒ๊ฒผ๊ณ , ์›์ž‘์ž๊ฐ€ ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•ด๋„ ๋‹ค๋ฅธ ํŒ€์›๋“ค์—๊ฒŒ๋Š” ๋ฐ˜์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

1-2. CLAUDE.md ๋ณต์‚ฌ-๋ถ™์—ฌ๋„ฃ๊ธฐ์˜ ํ•œ๊ณ„

๊ฐ ์ฝ”๋“œ ์ €์žฅ์†Œ์˜ CLAUDE.md์— ๊ณตํ†ต ์ปจ๋ฒค์…˜์„ ์ ์–ด๋‘๋Š” ๋ฐฉ๋ฒ•๋„ ๊ณ ๋ฏผํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‘ ๊ฐ€์ง€ ๋ช…ํ™•ํ•œ ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

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

๊ทœ์น™์„ ์ค‘์•™์—์„œ ํ•œ ๋ฒˆ์— ๊ด€๋ฆฌํ•˜๋ฉด์„œ, ํ˜„์žฌ ์ž‘์—…์— ๊ผญ ํ•„์š”ํ•œ ๊ทœ์น™๋งŒ ๊ทธ๋•Œ๊ทธ๋•Œ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

1-3. โ€œํŒŒ์ผ ๊ณต์œ โ€๋ฅผ ๋„˜์–ด โ€œํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฐฐํฌโ€๋กœ

Claude Code๋ฅผ ํ”„๋กœ์ ํŠธ์— ๋งž๊ฒŒ ๋งž์ถคํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค.

  • ์Šคํ‚ฌ(Skill): ํŠน์ • ์ž‘์—…์˜ ์ ˆ์ฐจ์„œ (SKILL.md) โ€” ํ˜ธ์ถœ ์‹œ์ ์— ๋กœ๋“œ
  • ํ›…(Hook): ๋„๊ตฌ ํ˜ธ์ถœ ์ „ํ›„ ํŠน์ • ์ด๋ฒคํŠธ์— ์‹คํ–‰๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ
  • MCP ์„œ๋ฒ„: ์™ธ๋ถ€ ์‹œ์Šคํ…œ(DB, Jira, Figma ๋“ฑ)๊ณผ์˜ ์—ฐ๋™

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

์Šคํ‚ฌยทํ›…ยทMCPยท์ปค๋งจ๋“œ๋ฅผ ํ•˜๋‚˜์˜ ์„ค์น˜ ๋‹จ์œ„์ธ โ€˜ํ”Œ๋Ÿฌ๊ทธ์ธโ€™์œผ๋กœ ๋ฌถ๊ณ , ์ด๋ฅผ ์‚ฌ๋‚ด ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ ์›ํด๋ฆญ์œผ๋กœ ๋‚ด๋ ค๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๊ฐ€ ํ•„์š”ํ–ˆ๋˜ ์ด์œ ์ž…๋‹ˆ๋‹ค.


2. ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์—ˆ๋Š”๊ฐ€: Git ์ €์žฅ์†Œ ํ•˜๋‚˜์™€ CI

2-1. ๋ณ„๋„ ์„œ๋ฒ„ ์—†์ด Git ์ €์žฅ์†Œ ํ•˜๋‚˜๊ฐ€ ๊ณง ์•ฑ์Šคํ† ์–ด

Claude Code ๊ณต์‹ ๊ทœ๊ฒฉ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ํ™œ์šฉํ•˜๋ฉด, ๋ณ„๋„์˜ ์›น ์„œ๋ฒ„๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—†์ด ๊ณต์šฉ Git ์ €์žฅ์†Œ ํ•˜๋‚˜๋กœ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ €์žฅ์†Œ ๋ฃจํŠธ์—๋Š” ์ „์ฒด ์นดํƒˆ๋กœ๊ทธ๋ฅผ ๋‘๊ณ , plugins/ ํ•˜์œ„์— ๊ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋ชจ์•˜์Šต๋‹ˆ๋‹ค. ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๊ด€๋ จ๋œ ์—ฌ๋Ÿฌ ์Šคํ‚ฌ์„ ํ•จ๊ป˜ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

<์‚ฌ๋‚ด ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ €์žฅ์†Œ>/
โ”œโ”€โ”€ README.md                         # ์„ค์น˜ ๋ฐ ๋“ฑ๋ก ๊ฐ€์ด๋“œ
โ”œโ”€โ”€ .claude-plugin/marketplace.json    # Claude Code ์นดํƒˆ๋กœ๊ทธ (CI ๊ด€๋ฆฌ)
โ”œโ”€โ”€ registry.json                     # ์‚ฌ๋‚ด ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฉ”ํƒ€ ๋ชฉ๋ก (CI ๊ด€๋ฆฌ)
โ””โ”€โ”€ plugins/
    โ””โ”€โ”€ backend-tools/
        โ”œโ”€โ”€ manifest.json             # ๊ณตํ†ต ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ (CI ์ž๋™ ์ƒ์„ฑ)
        โ”œโ”€โ”€ .claude-plugin/plugin.json # Claude ํ”Œ๋Ÿฌ๊ทธ์ธ ์ •์˜ (CI ์ƒ์„ฑ)
        โ”œโ”€โ”€ .codex-plugin/plugin.json  # Codex ํ˜ธํ™˜ ์ •์˜ (CI ์ž๋™ ์ƒ์„ฑ)
        โ””โ”€โ”€ skills/
            โ”œโ”€โ”€ code-review/SKILL.md   # ์ž‘์„ฑ์ž๊ฐ€ ๋“ฑ๋กํ•œ ์Šคํ‚ฌ
            โ””โ”€โ”€ conventions/SKILL.md

2-2. โ€œ์ž‘์„ฑ์ž๋Š” ์Šคํ‚ฌ๋งŒ, ๋ฐฐํฌ๋Š” CI๊ฐ€โ€: ๋“ฑ๋ก ์žฅ๋ฒฝ ๋‚ฎ์ถ”๊ธฐ

๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ๋งŒ๋“ค ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•œ ์›์น™์€ ๊ธฐ์—ฌ ์žฅ๋ฒฝ์„ ๊ทน๋‹จ์ ์œผ๋กœ ๋‚ฎ์ถ”๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์Šคํ‚ฌ ํ•˜๋‚˜ ๊ณต์œ ํ•˜๋ ค๋Š”๋ฐ marketplace.json, manifest.json, plugin.json ๊ฐ™์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ทœ๊ฒฉ์„ ๊ณต๋ถ€ํ•˜๊ณ  ์ˆ˜๋™์œผ๋กœ ์ฑ„์›Œ ๋„ฃ์–ด์•ผ ํ•œ๋‹ค๋ฉด ์•„๋ฌด๋„ ์ฐธ์—ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์—ญํ• ์„ ๋ช…ํ™•ํžˆ ๋‚˜๋ˆ„์—ˆ์Šต๋‹ˆ๋‹ค.

โ€œ์ž‘์„ฑ์ž๋Š” ์Šคํ‚ฌ ๋‚ด์šฉ๊ณผ ํ•„์š”ํ•œ ์„ค์ •๋งŒ ์ž‘์„ฑํ•ด PR์„ ์˜ฌ๋ฆฐ๋‹ค. ๋ฐฐํฌ์— ํ•„์š”ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์™€ ์นดํƒˆ๋กœ๊ทธ ํŒŒ์ผ์€ CI(GitHub Actions)๊ฐ€ ์•Œ์•„์„œ ๊ฒ€์ฆํ•˜๊ณ  ์ƒ์„ฑํ•œ๋‹ค.โ€

  1. ์ž‘์„ฑ์ž๊ฐ€ plugins/<ํ”Œ๋Ÿฌ๊ทธ์ธ>/skills/<์Šคํ‚ฌ>/SKILL.md๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  PR์„ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.
  2. GitHub Actions๊ฐ€ ๋ณ€๊ฒฝ๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ฐ์ง€ํ•ด ๋งˆํฌ๋‹ค์šด ๊ทœ๊ฒฉ๊ณผ ๋„ค์ด๋ฐ์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.
  3. CI๊ฐ€ manifest.json๊ณผ ์นดํƒˆ๋กœ๊ทธ(marketplace.json)๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑยท๊ฐฑ์‹ ํ•ด ํ•ด๋‹น PR์— ์ปค๋ฐ‹์„ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ฆฌ๋ทฐ ํ›„ ๋จธ์ง€๋˜๋ฉด ์ฆ‰์‹œ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

2-3. ์กฐ์ง(Organization) ์„ค์ •์œผ๋กœ ์ „์‚ฌ 0-Click ๋ฐฐํฌ

๊ฐœ๋ณ„ ํ™˜๊ฒฝ์—์„œ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ๋“ฑ๋กํ•˜๋ ค๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

claude plugin marketplace add <org-name>/<marketplace-repo>

ํ•˜์ง€๋งŒ ํŒ€์›๋“ค์—๊ฒŒ ์ด ๋ช…๋ น์–ด๋ฅผ ์ผ์ผ์ด ์น˜๊ฒŒ ํ•  ํ•„์š”๋„ ์—†์Šต๋‹ˆ๋‹ค. Claude Organization ์„ค์ •์—์„œ ์‚ฌ๋‚ด ์ €์žฅ์†Œ๋ฅผ ์—ฐ๊ฒฐํ•ด ๋‘๋ฉด, ๊ตฌ์„ฑ์›์€ ๋ณ„๋„ ๋“ฑ๋ก ์ ˆ์ฐจ ์—†์ด /plugin ๋ช…๋ น์–ด๋งŒ ์ณ์„œ ์›ํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ฐพ์•„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


3. ์‹ค์ „ ์ ์šฉ๊ธฐ: ๋…ธ๋จธ์Šค ๋ฐฑ์—”๋“œ ํŒ€์˜ 3๋‹จ๊ณ„ ์›Œํฌํ”Œ๋กœ์šฐ

ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋ฐฐํฌ ๋‹จ์œ„๋ผ๋ฉด, ์Šคํ‚ฌ์€ ์ž‘์—… ๋‹จ๊ณ„๋ณ„ ์‹คํ–‰ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ ํŒŒํŠธ์—์„œ๋Š” ๊ฐœ๋ฐœ ์‚ฌ์ดํด ์ „์ฒด๋ฅผ 3๋‹จ๊ณ„ ์Šคํ‚ฌ๋กœ ๋‚˜๋ˆ„์–ด ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

3-1. ์ปจ๋ฒค์…˜ ์Šคํ‚ฌ โ€” AI๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ์— ํŒ€์˜ ๊ฒฐ์„ ์ž…ํžˆ๋‹ค

๊ฐ€์žฅ ๋จผ์ € ๋งŒ๋“  ์Šคํ‚ฌ์ž…๋‹ˆ๋‹ค. AI๋Š” ์šฐ๋ฆฌ ํŒ€๋งŒ์˜ ์ปจ๋ฒค์…˜์„ ์Šค์Šค๋กœ ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

๊ณ„์ธต ๊ตฌ์กฐ, DTO ๋„ค์ด๋ฐ, ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐฉ์‹, ํ…Œ์ŠคํŠธ ์ปจ๋ฒค์…˜ ๋“ฑ์€ ํŒ€๋งˆ๋‹ค ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ด ๊ธฐ์ค€์„ ์•Œ๋ ค์ฃผ์ง€ ์•Š์œผ๋ฉด ๊ธฐ์กด ์ฝ”๋“œ๋ฒ ์ด์Šค์™€ AI๊ฐ€ ์ƒ์„ฑํ•œ ์ฝ”๋“œ์˜ ์Šคํƒ€์ผ์ด ๋’ค์„ž์—ฌ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง‘๋‹ˆ๋‹ค.

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

3-2. ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์Šคํ‚ฌ โ€” ๋ฐ˜๋ณต๋˜๋Š” ํ”ผ๋“œ๋ฐฑ์„ ์•ž์œผ๋กœ ๋‹น๊ธฐ๋‹ค

PR์—์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋‚˜์˜ค๋˜ ํ”ผ๋“œ๋ฐฑ์„ ์Šคํ‚ฌ๋กœ ๋…น์—ฌ๋ƒˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‘ ๊ฐ€์ง€ ๋ชจ๋“œ๋กœ ๋™์ž‘ํ•˜๋„๋ก ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋กœ์ปฌ ๋ชจ๋“œ (์ž๊ฐ€ ์ ๊ฒ€): PR์„ ์˜ฌ๋ฆฌ๊ธฐ ์ „ ์ž‘์—… ๋ธŒ๋žœ์น˜์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ž์ฃผ ์ง€์ ๋ฐ›๋˜ ๊ทœ์น™ ์œ„๋ฐ˜์„ ๋กœ์ปฌ์—์„œ ๋ฏธ๋ฆฌ ์žก์•„๋‚ด๊ณ , act๋ฅผ ํ†ตํ•ด GitHub Actions CI๋ฅผ ๋กœ์ปฌ์—์„œ ์ง์ ‘ ๊ตฌ๋™ํ•˜์—ฌ ํ…Œ์ŠคํŠธ ์‹คํŒจ๋ฅผ ์‚ฌ์ „์— ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.
  • PR ๋ชจ๋“œ (๋™๋ฃŒ ๋ฆฌ๋ทฐ): ๋™๋ฃŒ์˜ PR diff๋ฅผ ๋ถ„์„ํ•˜์—ฌ ํŒ€ ์ปจ๋ฒค์…˜ ๊ธฐ๋ฐ˜์˜ ๋ฆฌ๋ทฐ ์ฝ”๋ฉ˜ํŠธ ์ดˆ์•ˆ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

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

3-3. ๋ฌธ์„œํ™” ์Šคํ‚ฌ โ€” ์ฝ”๋“œ๊ฐ€ ๊ณง ์œ ์ผํ•œ ์ง„์‹ค(Single Source of Truth)

๋„๋ฉ”์ธ ์ง€์‹๊ณผ ์„œ๋น„์Šค ๊ฐ„ ํ†ต์‹  ๋งต(communication.md)์„ ์ฝ”๋“œ๋ฒ ์ด์Šค์—์„œ ์ง์ ‘ ์ถ”์ถœํ•ด ๋ฌธ์„œ๋ฅผ ๊ฐฑ์‹ ํ•˜๋Š” ์Šคํ‚ฌ์ž…๋‹ˆ๋‹ค.

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

3-4. ํ›…(Hook)์œผ๋กœ ๋งŒ๋“  3๋‹จ๊ณ„ ์•ˆ์ „์žฅ์น˜

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

  • ์ฐจ๋‹จํ˜• ํ›…: .env๋‚˜ ์ธ์ฆ์„œ ๋“ฑ ์‹œํฌ๋ฆฟ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๋ช…๋ น์„ ์›์ฒœ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.
  • ์Šน์ธ ๊ฒŒ์ดํŠธํ˜• ํ›…: PR ์ฝ”๋ฉ˜ํŠธ ๋“ฑ๋ก์ด๋‚˜ ๋จธ์ง€์ฒ˜๋Ÿผ ์™ธ๋ถ€์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ž‘์—… ์ง์ „์— ์‚ฌ๋žŒ์˜ ๋ช…์‹œ์  ์Šน์ธ์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค.
  • ์•Œ๋ฆผํ˜• ํ›…: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ˆ˜์ •ํ–ˆ๋Š”๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋‚˜ ๋„๋ฉ”์ธ ๋ฌธ์„œ ๋ณ€๊ฒฝ์ด ๋น ์ ธ ์žˆ๋‹ค๋ฉด ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๋„์›Œ์ค๋‹ˆ๋‹ค (์ž‘์—…์„ ๋ง‰์ง€๋Š” ์•Š๊ณ  ์•Œ๋ฆผ๋งŒ ์ œ๊ณต).

4. ํ”„๋กœ๋•์…˜์—์„œ ๊ตด๋ฆฌ๋ฉฐ ๋ฐฐ์šด ์‹ค์ „ ์ธ์‚ฌ์ดํŠธ

์‹ค์ œ๋กœ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ์šด์˜ํ•˜๋ฉด์„œ ๊ฒช์€ ์‹œํ–‰์ฐฉ์˜ค์™€ ๊ธฐ์ค€๋“ค์„ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

4-1. description์€ ๊ธฐ๋Šฅ ์„ค๋ช…์ด ์•„๋‹ˆ๋ผ โ€˜ํ˜ธ์ถœ ํŠธ๋ฆฌ๊ฑฐโ€™๋ฅผ ์ ์–ด์•ผ ํ•œ๋‹ค

์Šคํ‚ฌ์„ ์•„๋ฌด๋ฆฌ ์ž˜ ์ž‘์„ฑํ•ด๋„ ํ•„์š”ํ•œ ์ˆœ๊ฐ„์— Claude๊ฐ€ ์Šคํ‚ฌ์„ ํ˜ธ์ถœํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฌด์šฉ์ง€๋ฌผ์ž…๋‹ˆ๋‹ค. Claude๋Š” ์Šคํ‚ฌ์˜ ์ด๋ฆ„๊ณผ description์„ ์ฝ๊ณ  ํ˜„์žฌ ๋Œ€ํ™” ๋งฅ๋ฝ์— ์ด ์Šคํ‚ฌ์ด ํ•„์š”ํ•œ์ง€ ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค.

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

# ๊ฐœ์„  ์ „ โ€” ๋ฌด์—‡์„ ํ•˜๋Š”์ง€๋งŒ ์ ์Œ (ํŠธ๋ฆฌ๊ฑฐ ํ™•๋ฅ  ๋‚ฎ์Œ)
description: ์ฝ”๋“œ๋ฅผ ๋ฆฌ๋ทฐํ•ฉ๋‹ˆ๋‹ค.

# ๊ฐœ์„  ํ›„ โ€” ์–ธ์ œ, ์–ด๋–ค ํ‘œํ˜„์œผ๋กœ ํ˜ธ์ถœ๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ๋ช…์‹œ
description: >
  ๋ณ€๊ฒฝ๋œ ์ฝ”๋“œ๋ฅผ ํŒ€ ์ปจ๋ฒค์…˜ ๊ธฐ์ค€์œผ๋กœ ๋ฆฌ๋ทฐํ•˜๋Š” ์Šคํ‚ฌ. "์ฝ”๋“œ ๋ฆฌ๋ทฐ", "๋ฆฌ๋ทฐํ•ด์ค˜",
  "PR ๋ด์ค˜", "์˜ฌ๋ฆฌ๊ธฐ ์ „์— ํ•œ๋ฒˆ ๋ด์ค˜" ์š”์ฒญ ์‹œ ์‚ฌ์šฉ. PR ๋ฒˆํ˜ธ๋ฅผ ์ฃผ๋ฉด ๋™๋ฃŒ PR ๋ชจ๋“œ,
  ์ธ์ž๊ฐ€ ์—†์œผ๋ฉด ๋กœ์ปฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ž๊ฐ€ ๋ฆฌ๋ทฐ ๋ชจ๋“œ๋กœ ๋™์ž‘ํ•œ๋‹ค.
  ์ฝ”๋ฉ˜ํŠธ ๋“ฑ๋ก๊ณผ ๋จธ์ง€๋Š” ์‚ฌ์šฉ์ž ์Šน์ธ ์—†์ด ํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ž์—ฐ์Šค๋Ÿฌ์šด ํ˜ธ์ถœ ํ‘œํ˜„๊ณผ ํ•จ๊ป˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ถ„๊ธฐ ์กฐ๊ฑด, ์‚ฌ์šฉ์ž ์Šน์ธ ํ•„์š” ์—ฌ๋ถ€๊นŒ์ง€ ์ ์–ด์ฃผ๋‹ˆ ์˜๋„ํ•œ ์‹œ์ ์— ์ •ํ™•ํžˆ ๋™์ž‘ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

4-2. ํ›…์˜ ์ƒ๋ช…์€ ์†๋„: fail-open๊ณผ fail-closed ์ „๋žต

๋„๊ตฌ ํ˜ธ์ถœ์— ์—ฐ๊ฒฐ๋œ ํ›…์€ ๋„๊ตฌ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋งค๋ฒˆ ๋ถˆ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์ฐฐ๋‚˜์˜ ์ง€์—ฐ๋„ ์ฒด๊ฐ ์†๋„์— ํฐ ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋Œ€๋ถ€๋ถ„์˜ ํ›…์— 3์ดˆ์˜ ํƒ€์ž„์•„์›ƒ์„ ์„ค์ •ํ•˜๊ณ , ๋ฌด๊ฑฐ์šด ์ž‘์—…์€ ์„ธ์…˜ ์‹œ์ž‘ ์‹œ์ (SessionStart)์œผ๋กœ ๋ถ„๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๋” ์ค‘์š”ํ•œ ๊ฒƒ์€ ์‹คํŒจ ์‹œ์˜ ์ฒ˜๋ฆฌ ์ „๋žต์ž…๋‹ˆ๋‹ค.

  • ๋ณด์กฐ ์ž‘์—…์€ Fail-Open: ์™ธ๋ถ€ ์ €์žฅ์†Œ ๋™๊ธฐํ™”๋‚˜ ์•Œ๋ฆผ ๊ฐ™์€ ๋ณด์กฐ ํ›…์€ ๋„คํŠธ์›Œํฌ ์ด์Šˆ ๋“ฑ์œผ๋กœ ์‹คํŒจํ•˜๋”๋ผ๋„ ๊ฐœ๋ฐœ ์„ธ์…˜์„ ๋ฉˆ์ถฐ์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์กฐ์šฉํžˆ ๋„˜์–ด๊ฐ€๊ณ (fail-open) ๊ฐœ๋ฐœ์ด ๊ณ„์† ์ง„ํ–‰๋˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ณด์•ˆ ๊ฒ€์‚ฌ๋Š” Fail-Closed๋ฅผ ๊ณ ๋ คํ•œ ์„ค๊ณ„: Claude Code์˜ ์ปค๋งจ๋“œ ํ›…์€ ํƒ€์ž„์•„์›ƒ์ด ๋ฐœ์ƒํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ํ†ต๊ณผ์‹œํ‚ต๋‹ˆ๋‹ค. ์‹œํฌ๋ฆฟ ์ฐจ๋‹จ ํ›…์ด ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ ํ˜ธ์ถœ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, 3์ดˆ ํƒ€์ž„์•„์›ƒ ์‹œ ์˜คํžˆ๋ ค ๊ฒ€์‚ฌ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋Š” ์œ„ํ—˜์ด ์ƒ๊น๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ฐจ๋‹จํ˜• ํ›…์€ ์™ธ๋ถ€ ํ˜ธ์ถœ์„ ๋ฐฐ์ œํ•˜๊ณ  ์ˆœ์ˆ˜ ๋กœ์ปฌ ์ •๊ทœ์‹/๊ฒฝ๋กœ ๋งค์นญ๋งŒ์œผ๋กœ ์ฆ‰์‹œ ํŒ์ •ํ•˜๋„๋ก ์ž‘์„ฑํ•ด ๊ตฌ๋ฉ์„ ๋ง‰์•˜์Šต๋‹ˆ๋‹ค.

4-3. ์‚ฌ๋‚ด ์ €์žฅ์†Œ๋ผ๋„ ์‹œํฌ๋ฆฟ์€ ์ ˆ๋Œ€ ์ปค๋ฐ‹ ๊ธˆ์ง€

๊ณต์šฉ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ €์žฅ์†Œ์—๋Š” ์–ด๋– ํ•œ ์‹œํฌ๋ฆฟ ๊ฐ’๋„ ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

MCP ์„ค์ •์—๋Š” ์„œ๋ฒ„ URL๊ณผ ์ธํ„ฐํŽ˜์ด์Šค ๋ช…์„ธ๋งŒ ์ปค๋ฐ‹ํ•˜๊ณ , ์ธ์ฆ ํ† ํฐ์€ ๊ฐ ์‚ฌ์šฉ์ž๊ฐ€ OAuth๋กœ ๋ฐœ๊ธ‰๋ฐ›๊ฑฐ๋‚˜ ๋กœ์ปฌ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ๋‚ด ๋น„๊ณต๊ฐœ ์ €์žฅ์†Œ๋ผ ํ• ์ง€๋ผ๋„ ์–ธ์  ๊ฐ€ ๋กœ์ปฌ์— ๋ณต์ œ๋˜๊ณ  CI ์บ์‹œ์— ๋‚จ๊ธฐ ๋•Œ๋ฌธ์—, ๋ณด์•ˆ ๊ฒฝ๊ณ„๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ์—„๊ฒฉํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

4-4. Claude Code๋ฅผ ๋„˜์–ด ๋ฉ€ํ‹ฐ AI ๋„๊ตฌ ํ™•์žฅ

skills/<์Šคํ‚ฌ๋ช…>/SKILL.md ๊ตฌ์กฐ๋Š” Claude Code๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Codex ๋“ฑ ๋‹ค๋ฅธ AI ์—์ด์ „ํŠธ ๋„๊ตฌ์—์„œ๋„ ํญ๋„“๊ฒŒ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ €ํฌ๋Š” ์Šคํ‚ฌ ๋ณธ๋ฌธ(SKILL.md)์„ ๋‹จ์ผ ์›์ฒœ์œผ๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ, CI์—์„œ ๊ฐ ๋„๊ตฌ ๊ทœ๊ฒฉ์— ๋งž๋Š” ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ฅผ ์ž๋™ ์ƒ์„ฑํ•˜๋„๋ก ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ ์ž‘์„ฑํ•œ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋„๊ตฌ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  ํŒ€ ์ „์ฒด์˜ ํ‘œ์ค€์œผ๋กœ ์žฌํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


๋งˆ์น˜๋ฉฐ: ๊ฐœ์ธ์˜ ์š”๋ น์—์„œ ํŒ€์˜ ์ž์‚ฐ์œผ๋กœ

์‚ฌ๋‚ด ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ๋„์ž…ํ•˜๋ฉด์„œ ์–ป์€ ๊ฐ€์žฅ ํฐ ์ˆ˜ํ™•์€ ํŒ€์˜ ์ปจ๋ฒค์…˜๊ณผ AI ํ™œ์šฉ ๋…ธํ•˜์šฐ๊ฐ€ โ€œ๊ฐœ์ธ์˜ ์š”๋ นโ€์—์„œ โ€œ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ์ž์‚ฐโ€์œผ๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

์˜ˆ์ „์—๋Š” ๋ˆ„๊ตฐ๊ฐ€ ์ข‹์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด ๋ฉ”์‹ ์ €๋กœ ํ…์ŠคํŠธ๋ฅผ ๋ณต์‚ฌํ•ด ๋ฐ›์•„์•ผ ํ–ˆ๊ณ , ํ™˜๊ฒฝ์ด ๋ฐ”๋€Œ๋ฉด ๋‹ค์‹œ ์„ธํŒ…ํ•˜๋А๋ผ ์‹œ๊ฐ„์„ ํ—ˆ๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๊ฐœ๋ฐœํŒ€ ๋ˆ„๊ตฌ๋‚˜ PR ํ•˜๋‚˜๋กœ ํŒ€ ์ „์ฒด์— ์œ ์šฉํ•œ ์Šคํ‚ฌ์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๊ณ , ์ƒˆ๋กœ ํ•ฉ๋ฅ˜ํ•œ ํŒ€์›๋„ ๋ช…๋ น์–ด ํ•œ ์ค„๋กœ ํŒ€์˜ ๊ฐœ๋ฐœ ํ‘œ์ค€์„ ๋กœ์ปฌ์— ์žฅ์ฐฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AI ์ฝ”๋”ฉ ๋„๊ตฌ๋ฅผ ํŒ€ ๋‹จ์œ„๋กœ ๋„์ž…ํ•˜๋ฉด์„œ ์ปจ๋ฒค์…˜์˜ ํŒŒํŽธํ™”๋‚˜ ๋…ธํ•˜์šฐ ๊ณต์œ ๋กœ ๊ณ ๋ฏผํ•˜๊ณ  ๊ณ„์‹ ๋‹ค๋ฉด, ๊ฑฐ์ฐฝํ•œ ์‹œ์Šคํ…œ ๋Œ€์‹  ์ž‘์€ Git ์ €์žฅ์†Œ์™€ CI ์ž๋™ํ™”๋กœ ์‚ฌ๋‚ด ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋ณด์‹œ๊ธฐ๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

โ† ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

Art Changes Life

๋…ธ๋จธ์Šค์™€ ํ•จ๊ป˜ ์—”ํ„ฐํ…Œํฌ ์‚ฐ์—…์„ ํ˜์‹ ํ•ด๋‚˜๊ฐˆ ๋ฉค๋ฒ„๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

์ฑ„์šฉ ์ค‘์ธ ๊ณต๊ณ  ๋ณด๊ธฐ