You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One command walks through every optional integration, asking permission
per step: (1) the git hooks (auto-requeue + Stable-Commit-Id stamping),
(2) the advisory merge-order gate, (3) the Claude Code skill — embedded
in the binary and written to ~/.claude/skills when Claude Code is
detected — and (4) a marker-delimited git-queue section in the repo's
AGENTS.md when other agent CLIs (Codex, Cursor, Gemini, Windsurf,
Copilot) are detected, AGENTS.md being the cross-agent convention they
read. --yes accepts the repo-local steps non-interactively (agent
integrations always ask); --undo reverses all four. protect and hooks
are removed as commands (their machinery lives on inside setup).
Without the hooks, use `git queue commit` / `git queue amend` explicitly.
@@ -148,16 +148,15 @@ git queue create fix-a --base release-1.2 # base named explicitly
148
148
|`git queue reword [<commit>]`| Rewrite a commit message and update descendants (defaults to HEAD). |
149
149
|`git queue move <c>[..<c>] --new-parent <c>`| Move a commit (or an inclusive range) elsewhere in the queue — within one PR or across PRs. Commits can be named by revision or `Stable-Commit-Id` (unique prefix ok). Everything after the removal and insertion points is requeued; conflicts persist as markers. |
150
150
|`git queue requeue` (`restack`) | Requeue the current branch's descendants onto its tip. |
151
-
|`git queue hooks install` / `uninstall`| Make plain `git commit`/amend auto-requeue descendants and stamp `Stable-Commit-Id` trailers on new queue commits. |
152
151
|`git queue sync [--no-push]`| Pull remote commits, drop branches whose PRs have merged (reparenting their children), requeue onto the latest base, push back with `--force-with-lease`, and reconcile the PRs of every published queue (open missing ones, revive closed ones, fix bases/titles/queue maps). |
153
152
|`git queue submit [--draft]` (`push`) | Push the current queue line and open/update its numbered PRs (revives a child PR GitHub closed when its base was deleted). |
154
153
|`git queue yank`| Close every open (non-merged) PR in the current queue. |
155
-
|`git queue protect`|Enable merge-order signalling (a red/green commit status per PR) for this repo. |
154
+
|`git queue setup [--yes] [--undo]`|Interactive, per-step setup: git hooks, merge-order gate, the Claude Code skill, and an `AGENTS.md` section for other agents. `--undo` reverses everything. |
Copy file name to clipboardExpand all lines: skills/using-git-queue/SKILL.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,9 +52,9 @@ below own that propagation.
52
52
| One big branch → a queue |`git queue split`| Editor assigns commits to branches |
53
53
| Adopt an existing branch AND divide it |`git queue track --split` (add `--stamp-ids` to skip the prompt) | track + stamp + split editor in one step |
54
54
| Abandon a queue's open PRs |`git queue yank`| Closes every open (non-merged) PR in the queue |
55
-
| Stop PRs merging out of order |`git queue protect`| Enables merge-order statuses on each PR (one-time) |
55
+
| Stop PRs merging out of order |`git queue setup` (enable the gate step) | Red/green merge-order status per PR (advisory) |
56
56
| Check enforcement is on |`git queue doctor`| Read-only report of the gate status |
57
-
| Give commits stable identity across rewrites |`git queue hooks install`, `git queue commit`, or `git queue track --stamp-ids` for existing commits | Stamps a `Stable-Commit-Id:` trailer; powers safe sync (no self-conflicts) and squash-merge detection |
57
+
| Give commits stable identity across rewrites |`git queue setup`, `git queue commit`, or `git queue track --stamp-ids` for existing commits | Stamps a `Stable-Commit-Id:` trailer; powers safe sync (no self-conflicts) and squash-merge detection |
58
58
| Move around the queue |`git queue up` / `down`, `git queue status`| Navigate / view |
59
59
| See every commit in the queue with its Stable-Commit-Id |`git queue log`| Status tree + indented per-branch commits, newest first |
60
60
| Address a commit by its id |`git queue move q-3zz02424 --new-parent <rev>`, `git queue reword q-…`| Any commit argument accepts a `Stable-Commit-Id` (unique prefix ok), as shown by `git queue log`|
@@ -91,7 +91,7 @@ markers.
91
91
92
92
## Enforcing merge order
93
93
94
-
To warn reviewers off merging PRs out of order, run `git queue protect`**once**
94
+
To warn reviewers off merging PRs out of order, run `git queue setup`**once**
95
95
per repo. It enables *status-based* gating (`queue.gate = status`) — no GitHub
96
96
workflow, ruleset, or admin rights needed. Then `git queue submit` posts a
97
97
`git-queue/merge-order` commit status on every open PR: green ✓ on the
0 commit comments