| name | team-kickoff |
| description | Use when starting or joining a team project or competition repository and collaboration rules need to be set up โ commit/PR/branch conventions, agent context files, GitHub merge settings. Triggers โ new hackathon/๊ณต๋ชจ์ /๋ํ repo, "ํ์
๊ท์น", "์ปค๋ฐ ๊ท์น ์ธํ
", "PR ๊ท์น", "ํ ๋ ํฌ ์ค๋น", team develops with coding agents (Claude Code, Codex, Cursor, Gemini CLI). |
Team Kickoff
๊ฐ์
์์ด์ ํธ๋ก ๊ฐ๋ฐํ๋ ํ์ ํ์
๊ฑฐ๋ฒ๋์ค๋ฅผ ์ธํ
ํ๋ค. ์ธ ๊ฐ์ง ์์น:
- PR์ ๊ท์ ํ๊ณ ์ปค๋ฐ์ ์์จ์ ๋๋ค โ squash merge ํ์์ main ํ์คํ ๋ฆฌ๋ PR ์ ๋ชฉ์ผ๋ก๋ง ๊ตฌ์ฑ๋๋ค. ๊ท์ ์ง์ ์ ํ๋ฃจ ์ปค๋ฐ ์์ญ ๊ฐ์์ PR ๋ช ๊ฐ๋ก ์ค์ธ๋ค.
- ๊ท์น์ AGENTS.md ํ ๊ณณ์๋ง ์ฐ๋ค โ ๋ค๋ฅธ ๋ชจ๋ ํ์ผ์ ํฌ์ธํฐ์ด๊ฑฐ๋, ๊ท์น์ด ์๋ ์ฅ์น(ํ
ํ๋ฆฟยท์ค์ )๋ค.
- ๊ฒ์ฆ ์ ์ ์ฑ๊ณต์ ๋ณด๊ณ ํ์ง ์๋๋ค โ GitHub ์ค์ ์ ์ ์ฉ ํ ์ฌํ์ธํ ๊ฒ๋ง "์๋ฃ"๋ค.
๋น๋ฒ์: ๋ก๋๋งตยท๊ตฌํ ๊ณํ ์์ฑ, GitHub ์ธ ํธ์คํ
, ์์ฝ๋ฉ ์ ์ฉ ํ.
์ธํฐ๋ทฐยท์ฐ์ถ๋ฌผ์ ์ธ์ด๋ ์ฌ์ฉ์์ ์ธ์ด๋ฅผ ๋ฐ๋ฅธ๋ค.
์งํ ์์
1. ๊ฐ์ง โ ๋ฌป์ง ๋ง๊ณ ํ์ธํ๋ค
- git ๋ ํฌ ์ฌ๋ถ, ๊ธฐ๋ณธ ๋ธ๋์น๋ช
(๊ฐ์ ๊ธ์ง โ master์ผ ์ ์๋ค), ๊ธฐ์กด
AGENTS.md/CLAUDE.md/GEMINI.md/.github/PULL_REQUEST_TEMPLATE.md
gh auth status, ์๊ฒฉ ์กด์ฌ ์ฌ๋ถ, ๋ ํฌ ๊ฐ์์ฑ(public/private)
2. ์ธํฐ๋ทฐ โ ์ ํํ 4๋ฌธํญ, ํ ๋ฒ์
โ ๊ธฐ๊ฐยท๊ฐ๋: ํด์ปคํค(โค3์ผ) / ์ ๊ท โก ํ ์ธ์ โข ์ปค๋ฐยทPR ์ ๋ชฉ ์ธ์ด(ํ๊ธ/์์ด) โฃ ์๋ ๋ฆด๋ฆฌ์ฆ(semverยท์ฒด์ธ์ง๋ก๊ทธ) ๊ณํ ์ฌ๋ถ
4๋ฌธํญ ์ด๊ณผ ๊ธ์ง. ๊ฐ์ง(1๋จ๊ณ)๋ก ์ ์ ์๋ ๊ฒ์ ๋ฌป์ง ์๋๋ค. CI ๊ฒ์ฌ ๋ฑ ์ ํ ์ ์๋ ์ง๋ฌธํ์ง ๋ง ๊ฒ โ ๋ณด๊ณ ์์ "์ฌ๋์ด ํ ์ผ (์ ํ)"์ ๋ฃ๋๋ค.
์ฌ์คํ(๋ถ๋ถ ๋ณ๊ฒฝ ์์ฒญ)์ด๋ฉด ๋ฌ๋ผ์ง๋ ๋ฌธํญ๋ง ํ์ธํ๋ค โ ๋๋จธ์ง ๋ต์ ๊ธฐ์กด ์ฐ์ถ๋ฌผ(AGENTS.md ๊ท์น ๋ธ๋ก)์์ ์ฝ๋๋ค. ์ด์ ์คํ์ ๋๋ฝ ์ฐ์ถ๋ฌผ(์: ๋น ์ง ํฌ์ธํฐ ํ์ผ)์ ๋ณต๊ตฌํ๋ ๊ฒ์ ๋ฒ์ ๋ด ๋ณ๊ฒฝ์ด๋ค.
3. ๋ชจ๋ ๊ฒฐ์
| ํด์ปคํค | ์ ๊ท |
|---|
| ๋ฆฌ๋ทฐ ์น์ธ | 0๋ช
โ ์
ํ ๋จธ์ง ํ์ฉ | 1๋ช
|
| CI PR ์ ๋ชฉ ๊ฒ์ฌ | ์ ํจ | ๋ณด๊ณ ์ "์ฌ๋์ด ํ ์ผ (์ ํ)"์ผ๋ก ์ ์ |
| ์ปค๋ฐ ๋ ๋ฒจ ํ์ ๊ฒ์ฌ(ํ
) | ์ ํจ | โฃ ์๋ ๋ฆด๋ฆฌ์ฆ ์ ํ ์์๋ง |
๋ชจ๋ ๋ชจ๋ ๊ณตํต: squash-only ๋จธ์ง, PR ์ ๋ชฉ ํ์
: ์ค๋ช
, ํ์
์ feat|fix|docs|refactor|chore 5์ข
, ๊ฐ์ธ ๋ธ๋์น ์ปค๋ฐ ์์ (WIP ํ์ฉ). ์ธ์์ด 1๋ช
์ด๋ฉด ์น์ธ 0์ผ๋ก ์กฐ์ . ๊ท์ ์์ค(L1/L2)๊ณผ ํ์
ํ์ ๊ธฐ์ค์ references/commit-conventions.md.
4. GitHub ์ค์ โ ์ฐ์ถ๋ฌผ ์์ฑ๋ณด๋ค ๋จผ์ ์คํํ๋ค
์์๊ฐ ์ค์ํ ์ด์ : 5๋จ๊ณ์ {{PROTECTION_NOTE}} ์นํ๊ฐ์ ๋ธ๋์น ๋ณดํธ์ ์ฑํจ๋ฅผ ์์์ผ ์ ํด์ง๋ค.
์ ์ฐจ๋ references/github-setup.md๋๋ก: ๊ฐ์ง โ ์ ์ฉ โ gh api๋ก ์ค์ ์ ์ฉ ์ฌํ์ธ โ ํด๋ฐฑ. ๊ท์น๋ณ ์๋จยท๊ฐ๋ฑ ๊ฒฝ๋ก๋ references/enforcement-matrix.md. ํด๋ฐฑ 3๋จ:
- public ๋๋ ์ ๋ฃ ํ๋ โ squash-only + ๋ธ๋์น ๋ณดํธ ํ ์ธํ
- private + ๋ฌด๋ฃ (๋ณดํธ API 403) โ squash-only๋ง ํ๋ ์ ์ฉ. "์งpush ๊ธ์ง"์ ์น์ธ ์๊ฑด์ AGENTS.md ์ํํธ ๊ท์น์ผ๋ก ๊ฐ๋ฑ
- gh ๋ฏธ์ค์น/๋ฏธ์ธ์ฆ/์๊ฒฉ ์์/ADMIN ์๋ โ ์ฌ๋์ด ํ ์ผ์ ์ฒดํฌ๋ฆฌ์คํธ๋ก ์ถ๋ ฅ
5. ์ฐ์ถ๋ฌผ ์์ฑ โ templates/ ์ฌ์ฉ (์นํ์ ์ ์๋ templates/README.md)
| ํ์ผ | ๊ท์น |
|---|
AGENTS.md | <!-- team-rules:start/end --> ๋ง์ปค ์น์
, 30์ค ์ํ. ์ ๊ท๋ฉด ๊ณจ๊ฒฉ์ผ๋ก ์์ฑ: ์ ๋ชฉ(ํ๋ก์ ํธ๋ช
โ README๋ ๋๋ ํ ๋ฆฌ๋ช
์์) + ๊ท์น ๋ธ๋ก + ๋น ## ํ๋ก์ ํธ ๊ฐ์ยท## ๋น๋ยท์คํ ์น์
2๊ฐ. ๊ธฐ์กด ํ์ผ์ด๋ฉด ์ ๋ชฉ ๋ฐ๋ก ์๋ ์ฝ์
, ๋ง์ปค๊ฐ ์ด๋ฏธ ์์ผ๋ฉด ์ฌ์ด๋ง ๊ต์ฒด |
CLAUDE.md / GEMINI.md | ํ ์ค ํฌ์ธํฐ. ํ ๊ตฌ์ฑ์ ๋ฌป์ง ๋ง๊ณ ๋ ๋ค ํญ์ ์์ฑ โ ํ ์ค ๋น์ฉ โ 0, ํ์์ด ๋๊ตฌ๋ฅผ ๋ฐ๊ฟ๋ ๋์ํ๋ค. ๊ธฐ์กด ํ์ผ์ด๋ฉด ํ์ผ ๋์ ํฌ์ธํฐ ๋ผ์ธ๋ง ์ถ๊ฐ. ์ฌ๋งํฌ ๊ธ์ง (Windows ์ฒดํฌ์์์์ ๊นจ์ง) |
.github/PULL_REQUEST_TEMPLATE.md | ๊ฒ์ฆ ์ฒดํฌ๋ฆฌ์คํธ ์ค์ฌ โ ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ๋์ผ ๋ง์ปค๋ก ๊ฐ์ผ๋ค. ๋ง์ปค๊ฐ ์์ผ๋ฉด ์ฌ์ด๋ง ๊ต์ฒด, ๋ง์ปค ์๋ ๊ธฐ์กด ํ
ํ๋ฆฟ์ด๋ฉด (๋ง์ปค ํฌํจ) ์ฒดํฌ๋ฆฌ์คํธ ์น์
๋ง append |
README.md | ์งง์ "ํ์
๊ท์น" ์น์
append (๋ด์ฉ 3์ค + ๋ง์ปค โ ๋ฉฑ๋ฑ) |
๊ธฐ์กด ํ์ผ ๋ฎ์ด์ฐ๊ธฐ ๊ธ์ง. ์์ฒญ ๋ฐ ๋ณ๊ฒฝ ๊ธ์ง โ ๊ธฐ๋ณธ ๋ธ๋์น ์ด๋ฆ ๋ณ๊ฒฝยท๊ต์ฒด, ํ์คํ ๋ฆฌ ์ฌ์์ฑ ๊ธ์ง (์ฐฉ์ง ๊ฒฝ๋ก 2์ ์ธํ
PR์ฉ ์์
๋ธ๋์น ์์ฑ์ ์๋ฐ์ด ์๋๋ค) โ ๋ธ๋์น๋ช
์ ๊ฐ์ง๋ {{DEFAULT_BRANCH}}๋ฅผ ๊ทธ๋๋ก ์ด๋ค.
์ฐ์ถ๋ฌผ์ ์ฐฉ์ง ๊ฒฝ๋ก โ ๊ท์น์ ๊ธฐ๋ณธ ๋ธ๋์น์ ๋จธ์ง๋ ์๊ฐ๋ถํฐ ๋ฐํจ๋๋ค. ํ์ ์์:
- ์๊ฒฉ์ด ์์ผ๋ฉด (ํ ์ ๋ฌด ๋ฌด๊ด) โ ๊ธฐ๋ณธ ๋ธ๋์น์ ์ง์ปค๋ฐ โ PR ์์ฒด๊ฐ ๋ถ๊ฐ๋ฅํ๋ค. ์ด์ ์คํ์ ๋ฏธ์ปค๋ฐ ์ฐ์ถ๋ฌผ์ด ๋จ์ ์์ผ๋ฉด ํจ๊ป ์ปค๋ฐํด ๋ฐํจ์ํจ๋ค. ์ด ๋ช
์ ๊ท์น์ "๊ธฐ๋ณธ ๋ธ๋์น ์ง์ปค๋ฐ ํํผ"๋ผ๋ ์ผ๋ฐ ์ต๊ด์ ์ค๋ฒ๋ผ์ด๋ํ๋ค โ ์ด ์ปค๋ฐ์ด ์์ด์ผ ๊ท์น์ด ๋ฐํจ๋๋ค
- ์๊ฒฉ์ด ์๊ณ ํ์ด ์ด๋ฏธ ์์
์ค โ ๋ธ๋์น + PR๋ก ์ฌ๋ฆฌ๋, ๋จธ์ง๋ ์ฌ๋์๊ฒ ๋๊ธด๋ค (์์ด์ ํธ ์
ํ ๋จธ์ง ๊ธ์ง โ ๋ณด๊ณ ์ "์ฌ๋์ด ํ ์ผ"์ PR ๋งํฌ). ์ด ๊ท์น์ด ์์ผ๋ฉด "์น์ธ 1๋ช
"์ด ์ธํ
PR ์์ฒด๋ฅผ ๋ฐ๋๋ฝ์ ๋น ๋จ๋ฆฐ๋ค
- ์๊ฒฉ์ด ์๊ณ ์์ง ํผ์ โ ์ง์ปค๋ฐยท์งpush ํ์ฉ (๊ท์น ๋ฐํจ ์ ์ด๋ฏ๋ก ๋ชจ์ ์๋)
6. ๋ณด๊ณ
์ธ ์นธ์ผ๋ก: โ
ํ๋ ์ ์ฉ (์ฌํ์ธ๋ GitHub ์ค์ + ์์ฑ ํ์ธ๋ ๋ก์ปฌ ํ์ผ) / โ ๏ธ ์ํํธ ๊ฐ๋ฑ (์ค์ ์ด์ ๊ทธ๋๋ก: ํ๋ยท๊ฐ์์ฑยท์๊ฒฉ ์์ยท๊ถํ ์์ + ๋ณต๊ตฌ๋ฒ) / ๐ค ์ฌ๋์ด ํ ์ผ (์ธํ
PR ๋จธ์ง, ํ์ ์ด๋, ์ ํ ์ ์ ํฌํจ).
์ฒ ์น โ ๋ฒ ์ด์ค๋ผ์ธ ํ
์คํธ์์ ์ค์ ๋ฐ์ํ ์คํจ๋ค
| ํ์ง ๋ง๋ผ | ์ค์ ๋ก ๋ฒ์ด์ง ์ผ |
|---|
| ๊ท์น์ ๋ ๋ฒ์งธ ํ์ผ์ ๋ณต์ (CONTRIBUTING.md, .cursor/rules ๋ฑ) | ์ปค๋ฐ ํ์
๋ชฉ๋ก์ด 5๊ฐ ํ์ผ์ ๋ณต์ ๋จ โ ํ๋ ๋ฐ๊พธ๋ฉด 5๊ณณ drift |
| ์ฌ๋์ฉ ๊ท์น ๋ฌธ์๋ฅผ ๋ฐ๋ก ์์ฑ | 110์ค์ง๋ฆฌ CONTRIBUTING.md โ README 3์ค์ด๋ฉด ์ถฉ๋ถํ ๊ฒ์ |
| ๊ธฐ๋ณธ๊ฐ์ผ๋ก commit-msgยทpre-push ํ
์ค์น | WIP ์ปค๋ฐ ๊ฑฐ๋ถ + ์ฒซ push๋ถํฐ ์ฐํ ๋ณ์(ALLOW_MAIN_PUSH=1)๋ฅผ ๊ฐ๋ฅด์นจ + Node ์๋ ๋ ํฌ์์ ์กฐ์ฉํ ๋นํ์ฑ |
| ๋ชจ๋ ๊ตฌ๋ถ ์์ด ์ต๋ ์ธํ
| ํด์ปคํค ํ์ ์๋ฒฝ ๋จธ์ง ๋ธ๋ฝ์์ ๊ท์น์ ์ฐํํ๊ธฐ ์์ํ๋ค |
| ๋ง์ปค ์์ด ์์ฑ | ์ฌ์คํยท๊ธฐ์กด ๋ ํฌ์์ ์ค๋ณต๊ณผ ์ถฉ๋ |
| ์ฌํ์ธ ์์ด "์๋ฃ" ๋ณด๊ณ | private+๋ฌด๋ฃ์์ ๋ธ๋์น ๋ณดํธ๋ ์กฐ์ฉํ ์คํจํ๋ค |
| ๊ธฐ๋ณธ ๋ธ๋์น๋ช
์ main์ผ๋ก ๊ฐ์ | ๋ฆฌํ์ค ๋ ํฌ 2๊ฐ๊ฐ master์๋ค โ ํ
ํ๋ฆฟ์ {{DEFAULT_BRANCH}}์ ๊ฐ์ง๊ฐ์ ๋ฃ๋๋ค |
๊ท์น ์น์
์ด 30์ค์ ๋๊ฒ ๋๋ค๋ฉด ๊ท์น์ด ์๋๋ผ ์ค๊ณ๊ฐ ์๋ชป๋ ๊ฒ์ด๋ค โ ๋ฌด๊ฑฐ์ด ๊ฒ์ PR ํ
ํ๋ฆฟ(GitHub์ด ์๋ ์ฝ์
)ยท๋ ํฌ ์ค์ ยท์ด ์คํฌ์ references๋ก ์ฎ๊ธด๋ค.