← 全部工具

glennib/stakk

热度 75 更新于 开发与构建

A CLI tool that bridges Jujutsu (jj) bookmarks to GitHub stacked pull requests

githubauto-collected

安装

source
git clone https://github.com/glennib/stakk

通过 source 安装。

stakk

stakk bridges Jujutsu bookmarks to GitHub stacked pull requests.

It is not a jj wrapper. It complements jj by reading your local bookmark state and turning it into a coherent set of GitHub PRs that merge into each other in the correct order — with stack-awareness comments, correct base branches, and idempotent updates.

Features

  • Automatic stack detection — analyzes the jj change graph to find bookmark

chains and their topological order.

  • No bookmarks required — stakk discovers unbookmarked heads and lets you

create bookmarks on-the-fly via the interactive TUI. Auto-generated stakk-<changeid names keep things simple.

  • Auto bookmark naming — the [~]auto toggle in the TUI generates

descriptive bookmark names from commit descriptions and file paths using TF-IDF (term frequency–inverse document frequency) scoring. Press r to cycle through alternative names. An optional --auto-prefix lets you brand the names (e.g. gb-caching-database).

  • Stacked PR submission — creates or updates GitHub PRs with correct base

branches so each PR shows only its own diff.

  • Stack-awareness comments — adds a comment to every PR listing the full

stack with links, updated in place on re-runs. Optionally, the stack info can be placed in the PR body instead (--stack-placement body). Comments are rendered with minijinja templates and can be customized with --template or the STAKKTEMPLATE environment variable.

  • Idempotent — re-running stakk submit is always safe. Existing PRs are

updated, never duplicated.

  • Dry-run mode — --dry-run shows exactly what would happen without

touching GitHub.