| name | gif-commit |
| description | Creates atomic git commits for the GIF project with proper commit types (feat, fix, refactor, style, design, docs, test, chore) and Korean descriptions. Use when asked to commit changes, split work into atomic commits, or organize git history. Triggers on: 'commit', '์ปค๋ฐ', 'git commit', 'commit these changes', '๋ณ๊ฒฝ์ฌํญ ์ปค๋ฐ', '์์ ๋จ์๋ก ์ปค๋ฐ', '์ปค๋ฐ ์ชผ๊ฐ์ค', 'atomic commits', 'stage and commit'. Does NOT trigger for push, PR creation, or PR review responses. |
GIF Commit Skill
Commit Format
{type}: {Korean description}
- Description: Korean, under 50 characters, no trailing period
- Co-author line required (see command below)
Commit Types
| Type | Use case | Example |
|---|
feat | New functionality | feat: axios instance ์ค์ |
fix | Bug fix | fix: ๋ก๊ทธ์ธ ํ ํฐ ๊ฐฑ์ ์ค๋ฅ ์์ |
refactor | Restructure only | refactor: ๊ณตํต ์๋ฌ ํธ๋ค๋ฌ ๋ถ๋ฆฌ |
style | Formatting only | style: ์ธ๋ฏธ์ฝ๋ก ์ผ๊ด์ฑ ์ ์ฉ |
design | CSS/UI changes | design: ์ ์ถ ๋ฒํผ hover ์คํ์ผ ์์ |
docs | Documentation | docs: API ์ฌ์ฉ๋ฒ ์ฃผ์ ์ถ๊ฐ |
test | Test code | test: ๋ก๊ทธ์ธ ์ ํจ์ฑ ๊ฒ์ฌ ํ
์คํธ ์ถ๊ฐ |
chore | Config/build | chore: eslint ๊ท์น ์
๋ฐ์ดํธ |
Atomic Split Rules
Split into separate commits when:
- Two features are independently functional (e.g., axios instance setup is useful without the API call that uses it)
- Changes touch different layers (API service vs. UI component)
- Changes target different pages or routes
- A refactor is mixed with a new feature
- admin and client have different implementations for the same layer (e.g., different signup pages, different role logic)
Keep in one commit when:
- A minimal feature requires its hook and component together to be meaningful
- admin and client files are identical or symmetric in content โ commit both together with scope
(client,admin) or without scope
- e.g.,
chore(client,admin): PKCE ์ ํธ ์ถ๊ฐ or chore: PKCE ์ ํธ ์ถ๊ฐ (client, admin ๊ณตํต)
Monorepo (client/admin) Rule
This project has two apps (apps/client, apps/admin) that often share identical logic.
- Same content โ one commit covering both apps. Use a combined scope like
(client,admin) or describe it as ๊ณตํต.
- Different content โ separate commits per app.
- Do NOT create one commit per app just because they're different apps.
Workflow
npm run lint โ if fails, report and STOP (no commits)
git diff --name-only then git diff โ understand all changes
- Group files by logical unit
- For each unit:
git add {specific files}
git commit -m "$(cat <<'EOF'
{type}: {description}
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
EOF
)"
- Report all commits with their short hashes
Before Committing
Always run npm run lint first.
- Lint passes โ proceed
- Lint fails โ report errors, stop, wait for user to fix