Standalone Pi extension for resolving Git rebase conflicts in a localhost browser UI.
Work in progress / use at your own risk: Rebase Helper is experimental and should not be relied on for important rebases yet. It edits files, stages changes, and can run
git rebase --continue. Test it only on throwaway branches or repos you can easily restore. Always make your own backup/checkpoint before using it.
From this repo:
bun install
pi install ./rebase-helperStart or continue a rebase until Git pauses on conflicts, then run this in Pi:
/rebase-helper
The extension will open a localhost browser page where you can review each conflict, choose a resolution, optionally ask for an AI suggestion, and click Continue.
Continue applies the selected resolutions, stages resolved files, and runs git rebase --continue.
Rebase Helper is a WIP local development tool. Do not use it as the only copy of important work, and do not assume it can recover every rebase state.
- Use a throwaway branch while testing.
- Review the resulting file changes before trusting the rebase result.
- AI suggestions are hints only; verify the displayed conflict content yourself.
- The browser server uses a random per-session token. Do not share the opened URL.
- Checkpoint rewind is experimental and may not support every rebase shape.
REBASE_HELPER_PORT— force a localhost server port.REBASE_HELPER_REMOTE=1|0— override SSH/remote-session detection.REBASE_HELPER_BROWSER— browser command to use instead of the platform default.
Remote sessions bind on 0.0.0.0 and notify the localhost URL to forward/open.
index.ts Pi extension entrypoint
src/extension.ts command registration and Pi/browser session orchestration
src/browser.ts local browser/open-url helpers
src/runtime.ts Git/runtime adapter
src/rebase/ rebase state, checkpoints, and conflict-resolution logic
src/server/ localhost review API server
public/ browser UI HTML/CSS/image assets
tests/ Bun unit/integration tests
Planning notes and local Pi metadata are intentionally ignored (PLAN*.md, .pi/) so the package stays focused on source, tests, and public assets.
bun test
bun run typecheck