What problem does it solve?
Coordinating multiple commits that each require their own pull request in a single feature workflow, reducing manual overhead and drift between PRs.
Core Features & Use Cases
- Stacked Diffs management: Treats each commit as an individual PR in a stack, with the bottom PR ready for review and the rest as drafts.
- PR lifecycle automation: Pushes and updates PRs for every commit, pulls latest main, and rebases the stack automatically.
- Amending and inspecting: Allows selecting a commit to amend and rebases the remaining stack on top to maintain linear history.
- Local state and traceability: Stores stack state in .smoke/state.json and uses smoke/<branch>/<position> remote heads for PRs.
- Guardrails: Enforces a clean working tree before push/pull/amend and integrates with GitHub via gh.
Quick Start
Create a feature branch, commit changes as separate logical steps, then run smoke push to generate and manage a PR stack.