← Back to list

commit
by gittower
A modern reimplementation of git-flow in Go that offers greater flexibility while maintaining backward compatibility with the original git-flow and git-flow-avh.
⭐ 173🍴 7📅 Jan 23, 2026
SKILL.md
name: commit description: Create a commit following COMMIT_GUIDELINES.md argument-hint: [optional message hint] allowed-tools: Bash, Read, Grep
Commit Changes
Create a well-formatted commit following the project's COMMIT_GUIDELINES.md.
Instructions
-
Check Status
- Run
git statusto see staged and unstaged changes - Run
git diff --cachedto see what will be committed - If nothing staged, ask user what to stage or stage all with
git add -A
- Run
-
Analyze Changes
- Review the diff to understand what changed
- Identify the primary type of change
- Determine appropriate scope
-
Determine Commit Type
Type Use When featNew feature or functionality fixBug fix or correction refactorCode restructuring, no behavior change perfPerformance improvements testAdding or modifying tests docsDocumentation changes styleFormatting, whitespace changes buildBuild system or dependencies ciCI configuration choreMaintenance tasks -
Determine Scope
- Use the primary area affected:
finish,start,config,init, etc. - Keep it short and consistent with existing commits
- Use the primary area affected:
-
Write Subject Line
- Maximum 50 characters
- Imperative mood: "Add feature" not "Added feature"
- No period at end
- Sentence case
-
Write Body (if needed)
- Explain WHAT and WHY, not HOW
- Wrap at 72 characters
- Use bullet points for multiple items
- Leave blank line after subject
-
Add Footer (if applicable)
- Reference issues:
Resolves #123orRefs #123 - Note breaking changes:
BREAKING CHANGE: description
- Reference issues:
-
Create Commit
Use HEREDOC format for proper formatting:
git commit -m "$(cat <<'EOF' <type>(<scope>): <subject> <body> <footer> EOF )"
Examples
Feature Commit
git commit -m "$(cat <<'EOF'
feat(finish): add squash merge strategy
Implements --squash flag for finish command that performs a squash merge
instead of regular merge. Creates single commit with all branch changes.
- Add squash option to merge strategy enum
- Update finish command to handle squash flag
- Add configuration support for default squash behavior
Resolves #42
EOF
)"
Bug Fix Commit
git commit -m "$(cat <<'EOF'
fix(start): validate branch name before creation
Check for invalid characters in branch name before attempting creation.
Previously git would fail with cryptic error message.
Resolves #57
EOF
)"
Test Commit
git commit -m "$(cat <<'EOF'
test(finish): add merge conflict handling tests
Add comprehensive tests for finish command behavior when merge conflicts
occur during the merge step. Tests verify proper state persistence and
conflict resolution workflow.
EOF
)"
Simple Refactor
git commit -m "$(cat <<'EOF'
refactor(config): extract branch validation logic
Move branch name validation from cmd/start.go to internal/util for reuse
across multiple commands.
EOF
)"
Rules from COMMIT_GUIDELINES.md
Do
- Be specific about what changed
- Reference related issues
- Group related changes
- Test before committing
Don't
- Use vague subjects ("Fix bug", "Update code")
- Exceed line limits
- Mix unrelated changes
- Include file lists
- Add AI attribution lines
- Commit broken code
Verification
After committing:
- Run
git log -1to verify message - Run
go test ./...to ensure tests still pass - Run
go build ./...to verify build
Score
Total Score
75/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
✓説明文
100文字以上の説明がある
+10
✓人気
GitHub Stars 100以上
+5
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon