Skip to content

Repository files navigation

strix

A focused, polished TUI for staging changes and viewing diffs without leaving the terminal. Named after Strix, the genus of owls known for sharp vision and quiet observation. It bridges the gap between heavy GUI source-control views (Cursor, Zed) and existing terminal tools (LazyGit, tig) that can feel cluttered or mouse-unfriendly.

 strix  my-repo                                       main
╭ Changes ───────────────────╮╭ pending · HEAD→worktree ─────────────╮
│ Staged                     ││  src/app.rs                          │
│   M src/app.rs             ││ @@ -12,6 +12,7 @@                     │
│ Changes                    ││  12  pub struct App {                │
│   M src/ui/mod.rs          ││  13      pub repo_path: PathBuf,      │
│ ? notes.txt                ││ +14      pub focus: Focus,            │
╰────────────────────────────╯╰──────────────────────────────────────╯
 j/k move   space stage   d diff mode   q quit

Two panes, mouse + keyboard, syntax-highlighted diffs, themeable (cycle at runtime with t, or pick one from the header's Theme menu), toggleable line numbers (n) — plus a read-only branch review mode (strix diff main) for reviewing a branch against its base, GitHub-PR style. A toggleable menu bar (m) puts the common view/theme settings behind a mouse-friendly View/Theme dropdown, keyboard-navigable once open. Inline comments — on uncommitted work in bare strix or in a review session — render as multi-line boxes you add or edit with c or a double-click, delete with X or a click on [x]; an agent reads them via strix comment list --json and clears each one via strix comment rm. Built in Rust on ratatui, gitoxide, and syntect.

Installation

macOS (Homebrew)

brew install charliek/tap/strix

Linux (apt)

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://apt.stridelabs.ai/pubkey.gpg | \
  sudo tee /etc/apt/keyrings/apt-charliek.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/keyrings/apt-charliek.gpg] https://apt.stridelabs.ai noble main' | \
  sudo tee /etc/apt/sources.list.d/apt-charliek.list
sudo apt update && sudo apt install strix

Direct .deb downloads and building from source are in the installation guide. strix shells out to git, so it needs git on your PATH.

Usage

strix              # open the repository in the current directory
strix path/to/repo # open a specific repository
strix diff main     # review the current branch against main (read-only)
  • Left pane — staged files (top) and unstaged + untracked files (bottom). Move files between sections to stage/unstage; reset a file back to HEAD.
  • Right pane — a syntax-highlighted diff of the selected file, in unified or side-by-side mode.

Press i for the History view: a branch/merge rail graph of the current branch on the left, commit details or file diffs (vs the commit's first parent) on the right. Esc or i returns to staging.

strix diff <RANGE> opens a read-only review of a range. The bare BASE and A...B forms compare against the merge base — the same "what does this branch add" comparison a GitHub pull request shows — while A..B compares the two revisions directly. See Usage for the range grammar and keybindings for the full key set.

Agent review loop

Comments close a loop, on either changeset strix reviews. Review a branch with strix diff main, press c to leave inline notes, then tell your agent to "address my strix comments": it reads the inbox with strix comment list --json, fixes each note, commits, then removes it — resolved comments vanish from your open review as it works. Or skip the branch entirely and comment straight on uncommitted work in bare strix — the agent's fix just needs to land in a commit (or an explicit rm), no separate removal step required. The bundled strix-review skill teaches an agent both loops. Install it via skills.sh, which targets Claude Code, GitHub Copilot, OpenCode, and many other agents:

npx skills add charliek/strix

For Claude Code, a native plugin is also available:

/plugin marketplace add charliek/strix
/plugin install strix@strix

Any other agent can be pointed at the skill file directly: strix skill path writes the bundled skill to disk and prints its absolute path. See the review loop guide for the full workflow.

Documentation

The full site lives under docs/ and builds with mkdocs-material (make docs-servehttp://127.0.0.1:7071):

CLAUDE.md at the repo root captures the project conventions.

License

MIT — see LICENSE.

Bundled syntax-highlighting definitions come in part via the two-face crate (MIT OR Apache-2.0), which republishes an extended Sublime syntax set along with per-syntax license acknowledgements.

About

A focused, polished TUI for staging changes and viewing diffs without leaving the terminal

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages