stax 0.26.0

Fast stacked Git branches and PRs
Documentation

Ship small, reviewable PR stacks quickly without giving up safety.

stax installs both binaries: stax and the short alias st. This README uses st.

Why stax

  • Replace one giant PR with a clean stack of small, focused PRs
  • Keep shipping while lower-stack PRs are still in review
  • Navigate the full stack and diffs from an interactive TUI
  • Restack/merge with transactional safety and fast recovery (st undo, st redo)
  • Run stack-aware merge/cascade workflows with CI/readiness checks
  • Generate PR bodies and standup summaries with your preferred AI agent
  • Work across multiple worktrees, including parallel AI-agent workflows

Install

# Homebrew (macOS/Linux)
brew install cesarferreira/tap/stax

# Or cargo-binstall
cargo binstall stax

Verify install:

st --version

60-Second Quick Start

Set up GitHub auth first (required for PR creation, CI checks, and review metadata).

# Option A (recommended): import GitHub CLI auth
gh auth login
st auth --from-gh

# Option B: enter token interactively
st auth

# Option C: env var
export STAX_GITHUB_TOKEN="ghp_xxxx"

By default, stax does not use ambient GITHUB_TOKEN unless you opt in with auth.allow_github_token_env = true.

# 1. Create stacked branches
st create auth-api
st create auth-ui

# 2. Inspect stack
st ls
# ◉  auth-ui 1↑
# ○  auth-api 1↑
# ○  main

# 3. Submit PRs for whole stack
st ss

# 4. Sync trunk and restack after merges
st rs --restack

Result: two stacked branches, submitted as two linked PRs, then kept up to date with one sync/restack command.

Next steps:

Core Commands

Command What it does
st Launch interactive TUI
st ls Show stack with PR/rebase status
st ll Show stack with PR URLs and details
st create <name> Create a branch stacked on current
st ss Submit full stack and create/update PRs
st merge Merge PRs from stack bottom to current
st merge --when-ready Wait/poll until mergeable, then merge
st rs Sync trunk and clean merged branches
st rs --restack Sync trunk and restack full stack
st cascade Restack, push, and create/update PRs
st undo / st redo Recover or re-apply risky operations
st standup Summarize recent engineering activity
st generate --pr-body Generate PR body with AI
st run <cmd> (alias: st test <cmd>) Run a command on each branch in stack

For complete command and flag reference: docs/commands/core.md and docs/commands/reference.md.

Key Capabilities

Cascade Stack Merge

Merge from stack bottom up to your current branch with safety checks for CI/readiness.

# Merge from bottom -> current branch
st merge

# Wait for readiness explicitly before merging
st merge --when-ready

# Merge full stack regardless of current position
st merge --all

Read more: docs/workflows/merge-and-cascade.md

Safe History Rewriting (Undo/Redo)

stax snapshots branch state before destructive operations (restack, submit, reorder) so recovery is immediate when something goes wrong.

st restack
st undo
st redo

Read more: docs/safety/undo-redo.md

Interactive TUI

Launch with no arguments to browse stacks, inspect diffs, and run common operations without leaving the terminal.

st

Read more: docs/interface/tui.md

Agent Worktrees

Run multiple AI/dev agents in isolated Git worktrees while preserving stack metadata and restack flows.

# Create isolated worktrees for parallel tasks
st agent create "Add dark mode" --open-codex
st agent create "Fix auth refresh" --open

# Keep all agent branches rebased when trunk moves
st agent sync

# View and clean up
st agent list
st agent remove add-dark-mode --delete-branch

Read more: docs/workflows/agent-worktrees.md

AI PR Body + Standup Summary

Use your configured AI agent to draft PR bodies and generate daily standup summaries.

# Generate/update PR body from branch diff + context
st generate --pr-body

# Spoken-style standup summary
st standup --summary

Read more: docs/integrations/pr-templates-and-ai.md and docs/workflows/reporting.md

Docs Map

If you want to...

Integrations

AI/editor integration guides:

Shared skill/instruction file used across agents: skills.md

Performance & Compatibility

  • st ls is benchmarked against alternative stacked-branch CLIs and is typically much faster in this repo's benchmark setup.
  • stax is freephite/graphite compatible for common stacked-branch workflows.

Details:

Configuration

st config

Config file location:

~/.config/stax/config.toml

Common settings include branch naming format, auth source preferences, and enterprise GitHub API host overrides.

Read full config reference: docs/configuration/index.md

Contributing & License

  • License: MIT
  • Before opening a PR, run the repo test command policy from AGENTS.md:
make test
# or
just test

For project docs and architecture, start at docs/index.md.