claude-code/plugins/commit-commands/commands/clean_gone.md
Ashwin Bhat f7ab5c799c
feat: Bundle core plugins into claude-code repo
Add bundled plugins from claude-code-marketplace into a new plugins/ directory:
- agent-sdk-dev: Development kit for Claude Agent SDK with TypeScript/Python verifiers
- ireview-plugin: Comprehensive AI+Human PR review toolkit with 9 specialized agents
- commit-commands: Git commit workflow commands (commit, push, PR creation)

Created .claude-plugin/marketplace.json at repo root to register the bundled plugins.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-08 17:03:57 -07:00

1.8 KiB

description
Cleans up all git branches marked as [gone] (branches that have been deleted on the remote but still exist locally), including removing associated worktrees.

Your Task

You need to execute the following bash commands to clean up stale local branches that have been deleted from the remote repository.

Commands to Execute

  1. First, list branches to identify any with [gone] status Execute this command:

    git branch -v
    

    Note: Branches with a '+' prefix have associated worktrees and must have their worktrees removed before deletion.

  2. Next, identify worktrees that need to be removed for [gone] branches Execute this command:

    git worktree list
    
  3. Finally, remove worktrees and delete [gone] branches (handles both regular and worktree branches) Execute this command:

    # Process all [gone] branches, removing '+' prefix if present
    git branch -v | grep '\[gone\]' | sed 's/^[+* ]//' | awk '{print $1}' | while read branch; do
      echo "Processing branch: $branch"
      # Find and remove worktree if it exists
      worktree=$(git worktree list | grep "\\[$branch\\]" | awk '{print $1}')
      if [ ! -z "$worktree" ] && [ "$worktree" != "$(git rev-parse --show-toplevel)" ]; then
        echo "  Removing worktree: $worktree"
        git worktree remove --force "$worktree"
      fi
      # Delete the branch
      echo "  Deleting branch: $branch"
      git branch -D "$branch"
    done
    

Expected Behavior

After executing these commands, you will:

  • See a list of all local branches with their status
  • Identify and remove any worktrees associated with [gone] branches
  • Delete all branches marked as [gone]
  • Provide feedback on which worktrees and branches were removed

If no branches are marked as [gone], report that no cleanup was needed.