@usetill/cli
v0.1.0
Published
Stacked-diff CLI — create, manage, and land stacked pull requests on GitHub
Maintainers
Readme
@usetill/till
Stacked-diff CLI — create, manage, and land stacked pull requests on GitHub.
Installation
npm install -g @usetill/till
# or
pnpm add -g @usetill/tillRequires Node.js 20+.
Quick Start
tl auth login # OAuth with GitHub
tl init # initialize till in a repo
tl create feat # create a new branch on top of the current one
tl submit # push and open/update PRs for the stack
tl land # merge the current PR and restack descendantsCommands
Navigate
tl up # move to the child branch
tl down # move to the parent branch
tl top # move to the top of the stack
tl bottom # move to the bottom of the stack
tl trunk # move to trunk (main/master)
tl checkout # interactively pick a branchInspect
tl log # show the current stack as a tree
tl ls # list all tracked branches
tl info # show metadata for the current branch
tl pr # open the PR for the current branch in a browserManage
tl create # create a new branch stacked on the current one
tl track # start tracking an existing branch
tl untrack # stop tracking a branch
tl rename # rename the current branch
tl delete # delete the current branch
tl move # move the current branch to a different parent
tl reorder # reorder branches in the stackRework
tl modify # amend the current commit
tl squash # squash commits on the current branch
tl fold # fold the current branch into its parent
tl absorb # absorb staged changes into the relevant commit
tl split # split a commit across branchesRestack
tl restack # rebase the current branch (and descendants) onto its parent
tl continue # continue after resolving a conflict
tl abort # abort an in-progress restack
tl undo # undo the last till commandGitHub
tl submit # create or update PRs for the stack
tl sync # pull latest PR state from GitHub
tl land # merge the current PR and clean up
tl get # fetch a PR's branch locallyAuthentication
till uses a GitHub App for PR management. After installing, run:
tl auth loginThis opens a browser OAuth flow. Your token is stored locally.
Core Concepts
- Trunk — your integration branch (
main,master, etc.) - Stack — an ordered list of branches where each is based on the previous
- Parent — the branch a given branch is stacked on top of
- Submit — push a branch and open or update its PR on GitHub
- Land — merge a PR and restack everything above it automatically
License
O'Saasy License Agreement. See LICENSE.md.
