git-commit-workflow

安装量: 68
排名: #11273

安装

npx skills add https://github.com/laurigates/claude-plugins --skill git-commit-workflow
Git Commit Workflow
Expert guidance for commit message conventions, staging practices, and commit best practices using conventional commits and explicit staging workflows.
For detailed examples, advanced patterns, and best practices, see
REFERENCE.md
.
Core Expertise
Conventional Commits
Standardized format for automation and clarity
Explicit Staging
Always stage files individually with clear visibility
Logical Grouping
Group related changes into focused commits
Communication Style
Humble, factual, concise commit messages
Pre-commit Integration
Run checks before committing
Note:
Commits are made on main branch and pushed to remote feature branches for PRs. See
git-branch-pr-workflow
skill for the main-branch development pattern.
Conventional Commit Format
Standard Format
type(scope): description
[optional body]
[optional footer(s)]
For footer/trailer patterns (Co-authored-by, BREAKING CHANGE, Release-As), see
git-commit-trailers
skill.
Commit Types
feat
New feature for the user
fix
Bug fix for the user
docs
Documentation changes
style
Formatting, missing semicolons, etc (no code change)
refactor
Code restructuring without changing behavior
test
Adding or updating tests
chore
Maintenance tasks, dependency updates, linter fixes
perf
Performance improvements
ci
CI/CD changes Examples

Feature with scope

git commit -m "feat(auth): implement OAuth2 integration"

Bug fix with body

git commit -m "fix(api): resolve null pointer in user service Fixed race condition where user object could be null during concurrent authentication requests."

Breaking change

git commit -m "feat(api)!: migrate to GraphQL endpoints BREAKING CHANGE: REST endpoints removed in favor of GraphQL. See migration guide at docs/migration.md" Commit Message Best Practices DO: Use imperative mood ("add feature" not "added feature") Keep first line under 72 characters Be concise and factual ALWAYS reference related issues - every commit should link to relevant issues Use GitHub closing keywords: Fixes #123 , Closes #456 , Resolves #789 Use Refs #N for related issues that should not auto-close Use lowercase for type and scope Be humble and modest DON'T: Use past tense ("added" or "fixed") Include unnecessary details in subject line Use vague descriptions ("update stuff", "fix bug") Omit issue references - always link commits to their context Use closing keywords ( Fixes ) when you only mean to reference ( Refs ) Pre-Commit Context Gathering (Recommended) Before committing, gather all context in one command:

Basic context: status, staged files, diff stats, recent log

bash " ${CLAUDE_PLUGIN_ROOT} /skills/git-commit-workflow/scripts/commit-context.sh"

With issue matching: also fetches open GitHub issues for auto-linking

bash " ${CLAUDE_PLUGIN_ROOT} /skills/git-commit-workflow/scripts/commit-context.sh" --with-issues The script outputs: branch info, staged/unstaged status, diff stats, detected scopes, recent commit style, pre-commit config status, and optionally open issues. Use this output to compose the commit message. See scripts/commit-context.sh for details. Explicit Staging Workflow Always Stage Files Individually

Show current status

git status --porcelain

Stage files one by one for visibility

git add src/auth/login.ts git add src/auth/oauth.ts git status

Verify what's staged

Show what will be committed

git diff --cached --stat git diff --cached

Review actual changes

Commit with conventional message

git commit -m "feat(auth): add OAuth2 support" Commit Message Formatting HEREDOC Pattern (Required) ALWAYS use HEREDOC directly in git commit. git commit -m " $( cat << 'EOF' feat(auth): add OAuth2 support Implements token refresh and secure storage. Fixes #123 EOF ) " Communication Style Humble, Fact-Based Messages

Good: Concise, factual, modest

git
commit
-m
"fix(auth): handle edge case in token refresh"
git
commit
-m
"feat(api): add pagination support
Implements cursor-based pagination for list endpoints.
Includes tests and documentation."
Focus on facts:
What changed
,
Why it changed
(if non-obvious), and
Impact
(breaking changes).
Issue Reference Summary
Scenario
Pattern
Example
Bug fix resolving issue
Fixes #N
Fixes #123
Feature completing issue
Closes #N
Closes #456
Related but not completing
Refs #N
Refs #789
Cross-repository
Fixes owner/repo#N
Fixes org/lib#42
Multiple issues
Repeat keyword
Fixes #1, fixes #2
Best Practices
Commit Frequency
Commit early and often
Small, focused commits
One logical change per commit
Easier to review and revert
Keep commits atomic
Each commit should be a complete, working state Commit Message Length

Subject line: <= 72 characters

feat ( auth ) : add OAuth2 support

Body: <= 72 characters per line (wrap)

Use blank line between subject and body

Agentic Optimizations Context Command Pre-commit context bash "${CLAUDE_PLUGIN_ROOT}/skills/git-commit-workflow/scripts/commit-context.sh" Context + issues bash "${CLAUDE_PLUGIN_ROOT}/skills/git-commit-workflow/scripts/commit-context.sh" --with-issues Quick status git status --porcelain Staged diff stats git diff --cached --stat Recent commit style git log --format='%s' -5 Open issues for linking gh issue list --state open --json number,title --limit 30

返回排行榜