| # Commit Commands Plugin |
|
|
| Streamline your git workflow with simple commands for committing, pushing, and creating pull requests. |
|
|
| ## Overview |
|
|
| The Commit Commands Plugin automates common git operations, reducing context switching and manual command execution. Instead of running multiple git commands, use a single slash command to handle your entire workflow. |
|
|
| ## Commands |
|
|
| ### `/commit` |
|
|
| Creates a git commit with an automatically generated commit message based on staged and unstaged changes. |
|
|
| **What it does:** |
| 1. Analyzes current git status |
| 2. Reviews both staged and unstaged changes |
| 3. Examines recent commit messages to match your repository's style |
| 4. Drafts an appropriate commit message |
| 5. Stages relevant files |
| 6. Creates the commit |
|
|
| **Usage:** |
| ```bash |
| /commit |
| ``` |
|
|
| **Example workflow:** |
| ```bash |
| # Make some changes to your code |
| # Then simply run: |
| /commit |
| |
| # Claude will: |
| # - Review your changes |
| # - Stage the files |
| # - Create a commit with an appropriate message |
| # - Show you the commit status |
| ``` |
|
|
| **Features:** |
| - Automatically drafts commit messages that match your repo's style |
| - Follows conventional commit practices |
| - Avoids committing files with secrets (.env, credentials.json) |
| - Includes Claude Code attribution in commit message |
|
|
| ### `/commit-push-pr` |
|
|
| Complete workflow command that commits, pushes, and creates a pull request in one step. |
|
|
| **What it does:** |
| 1. Creates a new branch (if currently on main) |
| 2. Stages and commits changes with an appropriate message |
| 3. Pushes the branch to origin |
| 4. Creates a pull request using `gh pr create` |
| 5. Provides the PR URL |
|
|
| **Usage:** |
| ```bash |
| /commit-push-pr |
| ``` |
|
|
| **Example workflow:** |
| ```bash |
| # Make your changes |
| # Then run: |
| /commit-push-pr |
| |
| # Claude will: |
| # - Create a feature branch (if needed) |
| # - Commit your changes |
| # - Push to remote |
| # - Open a PR with summary and test plan |
| # - Give you the PR URL to review |
| ``` |
|
|
| **Features:** |
| - Analyzes all commits in the branch (not just the latest) |
| - Creates comprehensive PR descriptions with: |
| - Summary of changes (1-3 bullet points) |
| - Test plan checklist |
| - Claude Code attribution |
| - Handles branch creation automatically |
| - Uses GitHub CLI (`gh`) for PR creation |
|
|
| **Requirements:** |
| - GitHub CLI (`gh`) must be installed and authenticated |
| - Repository must have a remote named `origin` |
|
|
| ### `/clean_gone` |
| |
| Cleans up local branches that have been deleted from the remote repository. |
| |
| **What it does:** |
| 1. Lists all local branches to identify [gone] status |
| 2. Identifies and removes worktrees associated with [gone] branches |
| 3. Deletes all branches marked as [gone] |
| 4. Provides feedback on removed branches |
| |
| **Usage:** |
| ```bash |
| /clean_gone |
| ``` |
| |
| **Example workflow:** |
| ```bash |
| # After PRs are merged and remote branches are deleted |
| /clean_gone |
| |
| # Claude will: |
| # - Find all branches marked as [gone] |
| # - Remove any associated worktrees |
| # - Delete the stale local branches |
| # - Report what was cleaned up |
| ``` |
| |
| **Features:** |
| - Handles both regular branches and worktree branches |
| - Safely removes worktrees before deleting branches |
| - Shows clear feedback about what was removed |
| - Reports if no cleanup was needed |
| |
| **When to use:** |
| - After merging and deleting remote branches |
| - When your local branch list is cluttered with stale branches |
| - During regular repository maintenance |
| |
| ## Installation |
| |
| This plugin is included in the Claude Code repository. The commands are automatically available when using Claude Code. |
| |
| ## Best Practices |
| |
| ### Using `/commit` |
| - Review the staged changes before committing |
| - Let Claude analyze your changes and match your repo's commit style |
| - Trust the automated message, but verify it's accurate |
| - Use for routine commits during development |
| |
| ### Using `/commit-push-pr` |
| - Use when you're ready to create a PR |
| - Ensure all your changes are complete and tested |
| - Claude will analyze the full branch history for the PR description |
| - Review the PR description and edit if needed |
| - Use when you want to minimize context switching |
| |
| ### Using `/clean_gone` |
| - Run periodically to keep your branch list clean |
| - Especially useful after merging multiple PRs |
| - Safe to run - only removes branches already deleted remotely |
| - Helps maintain a tidy local repository |
|
|
| ## Workflow Integration |
|
|
| ### Quick commit workflow: |
| ```bash |
| # Write code |
| /commit |
| # Continue development |
| ``` |
|
|
| ### Feature branch workflow: |
| ```bash |
| # Develop feature across multiple commits |
| /commit # First commit |
| # More changes |
| /commit # Second commit |
| # Ready to create PR |
| /commit-push-pr |
| ``` |
|
|
| ### Maintenance workflow: |
| ```bash |
| # After several PRs are merged |
| /clean_gone |
| # Clean workspace ready for next feature |
| ``` |
|
|
| ## Requirements |
|
|
| - Git must be installed and configured |
| - For `/commit-push-pr`: GitHub CLI (`gh`) must be installed and authenticated |
| - Repository must be a git repository with a remote |
|
|
| ## Troubleshooting |
|
|
| ### `/commit` creates empty commit |
|
|
| **Issue**: No changes to commit |
|
|
| **Solution**: |
| - Ensure you have unstaged or staged changes |
| - Run `git status` to verify changes exist |
|
|
| ### `/commit-push-pr` fails to create PR |
|
|
| **Issue**: `gh pr create` command fails |
|
|
| **Solution**: |
| - Install GitHub CLI: `brew install gh` (macOS) or see [GitHub CLI installation](https://cli.github.com/) |
| - Authenticate: `gh auth login` |
| - Ensure repository has a GitHub remote |
|
|
| ### `/clean_gone` doesn't find branches |
| |
| **Issue**: No branches marked as [gone] |
| |
| **Solution**: |
| - Run `git fetch --prune` to update remote tracking |
| - Branches must be deleted from the remote to show as [gone] |
| |
| ## Tips |
| |
| - **Combine with other tools**: Use `/commit` during development, then `/commit-push-pr` when ready |
| - **Let Claude draft messages**: The commit message analysis learns from your repo's style |
| - **Regular cleanup**: Run `/clean_gone` weekly to maintain a clean branch list |
| - **Review before pushing**: Always review the commit message and changes before pushing |
|
|
| ## Author |
|
|
| Anthropic (support@anthropic.com) |
|
|
| ## Version |
|
|
| 1.0.0 |
|
|