์ฌ๋ด Claude Code ๋ง์ผํ๋ ์ด์ค ๋์ ํ๊ธฐ
- #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)๊ฐ ์์์ ๊ฒ์ฆํ๊ณ ์์ฑํ๋ค.โ
- ์์ฑ์๊ฐ
plugins/<ํ๋ฌ๊ทธ์ธ>/skills/<์คํฌ>/SKILL.md๋ฅผ ์ถ๊ฐํ๊ณ PR์ ์ฌ๋ฆฝ๋๋ค. - GitHub Actions๊ฐ ๋ณ๊ฒฝ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ๊ฐ์งํด ๋งํฌ๋ค์ด ๊ท๊ฒฉ๊ณผ ๋ค์ด๋ฐ์ ๊ฒ์ฆํฉ๋๋ค.
- CI๊ฐ
manifest.json๊ณผ ์นดํ๋ก๊ทธ(marketplace.json)๋ฅผ ์๋์ผ๋ก ์์ฑยท๊ฐฑ์ ํด ํด๋น PR์ ์ปค๋ฐ์ ํธ์ํฉ๋๋ค. - ๋ฆฌ๋ทฐ ํ ๋จธ์ง๋๋ฉด ์ฆ์ ๋ง์ผํ๋ ์ด์ค์ ๋ฐฐํฌ๋ฉ๋๋ค.
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 ์๋ํ๋ก ์ฌ๋ด ๋ง์ผํ๋ ์ด์ค๋ฅผ ๋ง๋ค์ด ๋ณด์๊ธฐ๋ฅผ ์ถ์ฒํฉ๋๋ค.
์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.