| name | git-commit |
| description | Create Git commits by splitting changes into logical units following project conventions. Handles Git Flow automatically โ detects develop branch and checks out a feature branch before committing. |
| allowed-tools | Bash |
Step 0 โ Branch Check (Required)
Check the current branch first:
git branch --show-current
If current branch is develop:
This project uses Git Flow. Feature branches must be created from develop and merged back into develop.
- Analyze all changes with
git status and git diff
- Infer an appropriate branch name from the changes:
- Format:
<type>/<kebab-case-description> โ use the same type as the planned commit (exception: use cicd/ for ci/cd type)
- Reflect the domain scope in the name
- Examples:
add/add-student-major-filter, fix/auth-api-key-deletion, refactor/optimize-club-query
- Create and checkout the branch:
git checkout -b <type>/<inferred-name>
- Proceed with the commit flow below
If current branch is NOT develop: proceed directly to the commit flow.
Commit Message Rules
Format: type(scope): ์ค๋ช
- Types:
add / update / fix / refactor / ci/cd / docs / test / merge (English)
- Scopes (English):
- Primary: Domain names โ infer from changed file paths and directory structure
- Cross-cutting concerns only: Module names or
global
- Use domain names by default. Only use module names when changes affect multiple modules or are cross-cutting.
- Description: Korean, no period, avoid endings:
~ํ๋ค/~๋๋ค, ~ํ๊ธฐ/~ํ๊ธฐ ์ํด, ~ํฉ๋๋ค/~๋ฉ๋๋ค, ~ํ์ต๋๋ค
- Good examples:
์ํฐํฐ ํ๋ ์ถ๊ฐ, ํธ๋์ญ์
๋กค๋ฐฑ ๋ฐฉ์ง, ๋ก์ง ๊ฐ์
- Subject line only (no body)
- Do NOT add AI tool as co-author
Scope Selection
For the full scope selection table and examples, read .agents/skills/git-commit/references/scope-guide.md.
For commit type and scope naming conventions, read .agents/skills/git-commit/references/commit-conventions.md.
Quick rule: infer domain from changed file paths and directory structure. Use global / ci/cd / module names only for cross-cutting changes.
Commit Flow
- Inspect changes:
git status, git diff
- Categorize into logical units (feature / bug fix / refactoring / etc.)
- Group files per unit
- For each group:
- Stage only relevant files with
git add
- Write a commit message following the rules above
git commit -m "message"
- Verify with
git log --oneline -n <count>