From git-workflow
Automates git workflows with skills for status checks, conventional commits via commit-craft, branch cleanup, changelog generation; guides branch naming and commit best practices.
npx claudepluginhub basher83/lunar-claude --plugin git-workflowThis skill uses the workspace's default tool permissions.
Guidance for creating clean, atomic commits and organizing git workflows effectively.
Manages Git commit workflow using Conventional Commits format with safety protocols. Creates, validates, executes commits; handles hooks, PRs, and safety checks before operations.
Guides conventional commit messages, explicit git staging workflows, logical change grouping, and best practices with issue linking. Useful for git add, commit, or staging tasks.
Share bugs, ideas, or general feedback.
Guidance for creating clean, atomic commits and organizing git workflows effectively.
This plugin provides fork-isolated skills to automate git workflows:
| Skill | Purpose |
|---|---|
git-status | Quick repository status summary |
git-commit | Create commits with pre-commit hooks via commit-craft agent |
branch-cleanup | Clean up merged/stale branches |
generate-changelog | Generate CHANGELOG.md using git-cliff |
All workflow skills use context: fork for delegation isolation. The git-commit skill delegates to the commit-craft agent, which handles the full commit workflow including pre-commit hook detection, execution, and failure recovery.
Use generate-changelog after creating commits to update CHANGELOG.md. Accepts an optional action argument (preview, generate, release). Without an argument, prompts interactively.
Structure commit messages following the conventional commit specification. Project-specific CLAUDE.md conventions take precedence over these defaults.
type(scope): subject
body (optional)
footer (optional)
| Type | Purpose |
|---|---|
feat | New feature |
fix | Bug fix |
docs | Documentation only |
style | Formatting, no code change |
refactor | Code restructuring |
perf | Performance improvement |
test | Adding/updating tests |
build | Build system changes |
ci | CI configuration |
chore | Maintenance tasks |
revert | Revert previous commit |
Fixes #123 or Relates to #456BREAKING CHANGE: descriptionCo-Authored-By: Name <email>Use descriptive, prefixed branch names:
| Prefix | Purpose | Example |
|---|---|---|
feature/ | New functionality | feature/user-authentication |
fix/ | Bug fixes | fix/login-redirect-loop |
hotfix/ | Urgent production fixes | hotfix/security-patch |
release/ | Release preparation | release/v2.1.0 |
docs/ | Documentation updates | docs/api-reference |
refactor/ | Code restructuring | refactor/database-layer |
test/ | Test additions | test/integration-suite |
chore/ | Maintenance | chore/dependency-updates |
feature/123-user-authfeature/update or fix/bugCreate commits that are:
Before committing:
git diff and git status.env, credentials, API keysWhen hooks modify files:
git add <files>Use heredoc format for multi-line messages:
git commit -m "$(cat <<'EOF'
type(scope): subject line here
- Detailed bullet point explaining change
- Another relevant detail
Fixes #123
EOF
)"
Never force-push or directly commit to:
main / masterdevelopstaging / productionrelease/* branchesAlways use pull requests for these branches.
git checkout -b feature/descriptive-name
git status # See all changes
git diff # Unstaged changes
git diff --cached # Staged changes
git log --oneline -5 # Recent commit style
git add path/to/specific/file.ext
git add -p # Interactive staging
# Simple commit
git commit -m "feat(auth): add OAuth2 login support"
# Multi-line commit
git commit -m "$(cat <<'EOF'
fix(api): resolve race condition in request handler
- Add mutex lock around shared state
- Implement request queuing for high load
- Add timeout handling for stale requests
Fixes #456
EOF
)"