Files
test/.claude/commands/done.md

1.4 KiB

description: Signal work complete and submit to merge queue allowed-tools: Bash(gt done:), Bash(git status:), Bash(git log:), Bash(git add:), Bash(git commit:), Bash(git push:), Bash(bd close:*) argument-hint: [--status COMPLETED|ESCALATED|DEFERRED] [--pre-verified]

Done — Submit Work to Merge Queue

Signal that your work is complete and ready for the merge queue.

Arguments: $ARGUMENTS

Pre-flight Checks

Before running gt done, verify your work is ready:

git status                          # Must be clean (no uncommitted changes)
git log --oneline origin/main..HEAD # Must have at least 1 commit

If there are uncommitted changes, commit them first:

git add <files>
git commit -m "<type>: <description>"

Execute

Run gt done with any provided arguments:

gt done $ARGUMENTS

Common usage:

  • gt done — Submit completed work (default: --status COMPLETED)
  • gt done --pre-verified — Submit with pre-verification (you ran gates after rebase)
  • gt done --status ESCALATED — Signal blocker, skip MR
  • gt done --status DEFERRED — Pause work, skip MR

If the bead has nothing to implement (already fixed, can't reproduce):

bd close <issue-id> --reason="no-changes: <brief explanation>"
gt done

This command pushes your branch, submits an MR to the merge queue, and transitions you to IDLE. The Refinery handles the actual merge. You are done after this.