jonathan.costin
← All projects

Terminal app

tuitree

A terminal dashboard for git worktrees and GitHub pull requests. It shows which branches are ahead, behind or would conflict, next to each pull request and its review comments.

  • Rust
  • ratatui
  • git
  • GitHub CLI
Worktrees, then a pull request and its reviewRecorded with VHS

What it shows

  • Every local worktree with its branch, commits ahead or behind the remote default branch, whether it would merge cleanly, and the files changed since the merge base.
  • Open pull requests from GitHub. Opening one shows its files and its conversation, with review summaries, oldest first.
  • Finished worktrees can be synced or deleted in a batch.

How it works

Each repository gets one worker thread that runs git tasks one at a time, because git locks the repository. Workers for different repositories run in parallel and send updates to the UI over a channel. Fetches, the git merge-tree conflict check and the GitHub request all run off the UI thread, so the table keeps repainting while git works.

git and gh run as child processes, not libraries, so the user's own git config, credential helper and gh login work as they are. Each child gets no stdin, so a prompt for a password fails fast instead of taking over the terminal.