| name | git-conventions |
| description | Use when creating commits, branches, pull requests, or GitHub issues. Covers Conventional Commits format (English only โ enforced by commit-msg-check.sh hook), branch naming, PR/issue templates, and merge etiquette. Trigger any time a git/gh command is about to run or when drafting a PR description. |
Git Conventions
์ปค๋ฐ ๋ฉ์์ง
Conventional Commits ํ์์ ์ฌ์ฉํ๋ค.
type(scope): ๋ฉ์์ง
ํ์
| ํ์
| ์ฌ์ฉ ์์ |
|---|
feat | ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ |
fix | ๋ฒ๊ทธ ์์ |
refactor | ๊ธฐ๋ฅ ๋ณ๊ฒฝ ์๋ ์ฝ๋ ๊ฐ์ |
test | ํ
์คํธ ์ถ๊ฐ/์์ |
docs | ๋ฌธ์ ์์ฑ/์์ |
perf | ์ฑ๋ฅ ๊ฐ์ |
chore | ๋น๋/์ค์ /์์กด์ฑ ๋ณ๊ฒฝ |
build | ๋น๋ ์์คํ
๋ณ๊ฒฝ |
์ค์ฝํ (์ ํ)
๋ณ๊ฒฝ๋ ๋๋ฉ์ธ/๊ธฐ๋ฅ์ ๊ดํธ ์์ ๋ช
์ํ๋ค.
feat(place): implement dynamic Redis TTL based on meeting endAt
fix(withdrawal): only block withdrawal for active meetings
refactor(place): enhance fault tolerance using supervisorScope
test(place): fix MeetingPlaceSearchServiceTest failure
์ค์ฝํ ์์ด ์ ์ฒด ํ๋ก์ ํธ์ ์ํฅ์ ์ค ๋:
refactor: remove all benchmark dependencies from production source
feat: migrate external clients from WebClient to Ktor Client
์ฃผ์
type : (์ฝ๋ก ์ ๊ณต๋ฐฑ) ํ์ ์ฌ์ฉ ๊ธ์ง โ type: ๋๋ type(scope): ์ฌ์ฉ
- ๋ฉ์์ง๋ ์๋ฌธ ์๋ฌธ์๋ก ์์, ๋ง์นจํ ์์
- ์ ๋ชฉ์ 72์ ์ด๋ด
์์
์์ ์์ (์ค์)
PR ์์ฑ ์ ์ ๋ฐ๋์ ์ด์๋ฅผ ๋จผ์ ๋ง๋ ๋ค โ ๋ธ๋์น ๋ค์ด๋ฐ์ด ์ด์ ๋ฒํธ๋ฅผ ์๊ตฌํ๊ธฐ ๋๋ฌธ.
1. gh issue create โ ์ด์ ๋ฒํธ ํ๋ณด (์: #187)
2. git checkout -b feat/#187 โ ์ด์ ๋ฒํธ๋ก ๋ธ๋์น
3. ์์
โ commit โ push
4. gh pr create โ PR ๋ณธ๋ฌธ์ "Close #187" ๋๋ "Resolves #187"
์ด์ ์์ด ์์
์ด ์์๋ ๊ฒฝ์ฐ(์: ํซํฝ์ค): ์์
๋์ค์๋ผ๋ ์ด์๋ฅผ ๋ง๋ค๊ณ ๋ธ๋์น๋ช
์ ๋ง์ถ๋ค. ์ด๋ฏธ push ํ PR ์ด๋ผ๋ ๋ค์ PR ๋ถํฐ๋ ์ด ์์๋ฅผ ์งํจ๋ค.
๋ธ๋์น ๋ค์ด๋ฐ
{type}/#{issue-number}
์์:
feat/#123
fix/#456
refactor/#169
โ ์ํฐ ํจํด: feat/sonar-auto-fix-workflow (์ด์ ๋ฒํธ ์์ด ์ค๋ช
ํ ์ฌ๋ฌ๊ทธ) โ PR #186 ํ๊ณ ์ฐธ์กฐ
PR ์์ฑ
.github/PULL_REQUEST_TEMPLATE.md ์์์ ๋ฌด์ํ๊ณ ์๋ ํ์์ ์ฌ์ฉํ๋ค. ๊ฐ์น ์ค์ฌ ์์ ์ด ํต์ฌ โ "๋ฌด์์ ๋ฐ๊ฟจ๋๊ฐ"๋ณด๋ค "์ ์ด ๋ณ๊ฒฝ์ด ํ์ํ๋๊ฐ"๋ฅผ ๋จผ์ ์ ๋ฌํ๋ค.
์ธ์ด ๊ท์น
- PR ์ ๋ชฉ: ์๋ฌธ (Conventional Commits ์ ๋์ผ ๊ท์ฝ โ
type(scope): message, ์๋ฌธ์ ์์, 72์ ์ด๋ด)
- PR ๋ณธ๋ฌธ: ํ๊ตญ์ด๋ก ์์ฑ (ํค๋ฉ์ ์๋ฌธ
## Summary / ## Test plan ์ ์ง, ๋ณธ๋ฌธ ๋ด์ฉ์ ํ๊ตญ์ด)
- ์ปค๋ฐ ๋ฉ์์ง: ์๋ฌธ (commit-msg-check.sh ํ
์ด ๊ฐ์ )
- ์ด์ ๋ณธ๋ฌธ: ํ๊ตญ์ด
๋ณธ๋ฌธ ํ์
## Summary
<๋ณ๊ฒฝ์ ๋งฅ๋ฝ๊ณผ ๋ชฉ์ ์ 1~2๋ฌธ์ฅ์ ํ๊ตญ์ด๋ก>
### <๋ณ๊ฒฝ ๋ฌถ์ 1 ์ ๋ชฉ> (์ปค๋ฐ์ด ์ฌ๋ฌ ๊ฐ๊ฑฐ๋ ์ฃผ์ ๊ฐ ๋๋ ๋๋ง ### ์ฌ์ฉ)
- ํต์ฌ ๋ณ๊ฒฝ ์ฌํญ๊ณผ ์ด์ (ํ๊ตญ์ด)
- ์ค๊ณ ๊ฒฐ์ ์ด ์์ผ๋ฉด why๋ฅผ ํฌํจ
### <๋ณ๊ฒฝ ๋ฌถ์ 2 ์ ๋ชฉ>
- ...
## Test plan
- [x] ์ค์ ๋ก ํ์ธํ ํญ๋ชฉ๋ง ์ฒดํฌ
- [x] `./gradlew harness` ํต๊ณผ ์ฌ๋ถ
- [x] CI ํต๊ณผ ์ฌ๋ถ
๐ค Generated with [Claude Code](https://claude.com/claude-code)
์์ฑ ์์น
## Summary ๋ฐ๋ก ์๋์ ๋ณ๊ฒฝ์ ํต์ฌ์ ๋จผ์ โ ๋ฆฌ๋ทฐ์ด๊ฐ ์ฒซ ๋ฌธ๋จ๋ง ์ฝ์ด๋ PR์ ๊ฐ์น๋ฅผ ์ ์ ์์ด์ผ ํจ
- ์ปค๋ฐ์ด 1๊ฐ๊ฑฐ๋ ์ฃผ์ ๊ฐ ๋จ์ผํ๋ฉด
### ์์ด ## Summary ์๋ ๋ฐ๋ก bullets
- ์ปค๋ฐ์ด ์ฌ๋ฌ ๊ฐ์ด๊ฑฐ๋ ์ฃผ์ ๊ฐ ๋๋ ๋๋ง
### ์๋ธ์น์
์ฌ์ฉ
- ์ค๊ณ ๊ฒฐ์ ์ด ์์ผ๋ฉด (a) / (b) / ... ํ์์ผ๋ก ๋ช
์ (์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๋์ง ํฌํจ)
- Test plan์ ์ค์ ๋ก ๊ฒ์ฆํ ๊ฒ๋ง โ ํ์์ ์ฒดํฌ๋ฆฌ์คํธ ๊ธ์ง
- ํค๋ฉ์ ์๋ฌธ ๊ทธ๋๋ก(
## Summary, ## Test plan), ๋ณธ๋ฌธ ํ
์คํธ๋ง ํ๊ตญ์ด
PR ๋จธ์ง ๋์: dev ๋ธ๋์น (CI๋ dev ๋ธ๋์น PR์์ ํธ๋ฆฌ๊ฑฐ๋จ)
์ด์ ์์ฑ
๋ ๊ฐ์ง ํ
ํ๋ฆฟ ์ค ์ ํ:
๊ธฐ๋ฅ ๊ตฌํ ์ด์ (.github/ISSUE_TEMPLATE/๊ธฐ๋ฅ-๊ตฌํ-์ด์-ํ
ํ๋ฆฟ.md):
## ์ด๋ค ๊ธฐ๋ฅ์ธ๊ฐ์?
> ์ถ๊ฐํ๋ ค๋ ๊ธฐ๋ฅ์ ๋ํด ๊ฐ๊ฒฐํ๊ฒ ์ค๋ช
## ์์
์์ธ ๋ด์ฉ
- [ ] ์ธ๋ถ ์์
1
- [ ] ์ธ๋ถ ์์
2
## ์ฐธ๊ณ ํ ๋งํ ์๋ฃ(์ ํ)
์์ /๋ฆฌํฉํ ๋ง ์ด์ (.github/ISSUE_TEMPLATE/์์ ---๋ฆฌํฉํ ๋ง-๊ด๋ จ-์ด์-ํ
ํ๋ฆฟ.md):
๋์ผํ ๊ตฌ์กฐ, ์์ /๊ฐ์ ์์
์ ์ฌ์ฉ.