Skip to content

feat(gh): install gh-stack with mise - #391

Merged
odsod merged 1 commit into
mainfrom
feat/gh-stack
Nov 5, 2026
Merged

odsod merged 1 commit into
mainfrom
feat/gh-stack

Conversation

@odsod

@odsod odsod commented Nov 5, 2026

Copy link
Copy Markdown
Owner

Why

Stacked PRs need gh stack. A plain gh extension install keeps its own copy outside mise, so versions drift and two tools write the same files.

What

  • mise.toml: add github:github/gh-stack with bin = "gh-stack". A postinstall links the install dir to ~/.local/share/gh/extensions/gh-stack. gh treats it as a local extension and refuses to upgrade it.
  • mise.lock: lock 0.3.0 with per-platform URLs and attestations.
  • AGENTS.md: document the pin and never run gh extension install github/gh-stack.
  • agents/AGENTS.md: PR lifecycle publishes bookmark chains as one GitHub stack. jj pushes, gh pr create opens PRs, gh stack link links them by PR number, gh stack merge merges. Lists the gh stack commands that need an attached git HEAD.

Verification

  • gh stack --version reports 0.3.0.
  • gh extension upgrade gh-stack fails with "local extensions can not be upgraded".
  • mise run check passes.

- Install github:github/gh-stack as a mise tool pinned in mise.lock, so
  mise run bump and discover track it like other release binaries.
- Link the install dir into gh's extension dir as a local extension in
  a postinstall. gh refuses to upgrade local extensions, so mise is the
  only writer.
- Document the pin in AGENTS.md and warn against gh extension install.
- Publish PR chains as native GitHub stacks in agents/AGENTS.md: push
  with jj, create PRs with gh, link them by PR number with gh stack.
@odsod
odsod merged commit b225e1c into main Nov 5, 2026
1 check passed
@odsod
odsod deleted the feat/gh-stack branch November 5, 2026 10:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant