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.
brew install charliek/tap/strixsudo 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 strixDirect .deb downloads and building from source are in the
installation guide. strix shells out to
git, so it needs git on your PATH.
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.
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/strixFor 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.
The full site lives under docs/ and builds with mkdocs-material
(make docs-serve → http://127.0.0.1:7071):
- Installation
- Usage and Keybindings
- Review loop — the human-comments → agent-fixes workflow
- Theming and Configuration
- CLI reference and Architecture
CLAUDE.md at the repo root captures the project conventions.
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.