v0.16.0 / open source

Diffs for the
agentic era.

Review code in your terminal. Hunks grow to their enclosing function, Jev points you at the changes that matter, and language servers take you to definitions and callers.

brew install juanibiapina/taps/deltoids
default
Default git diff: 3 lines of context, scope is invisible
deltoids
deltoids: hunk expanded to the enclosing function

Use as a diff pager

Pipe a single diff, or set deltoids as the default in your tools.

git
  • one-time
    git diff | deltoids | less -R
  • default pager
    git config --global core.pager 'deltoids | less -R'
gh
  • one-time
    gh pr diff <number> | deltoids | less -R
  • default pager
    gh config set pager 'deltoids | less -R'
lazygit
  • # ~/.config/lazygit/config.yml
    git:
      paging:
        pager: deltoids
lazygit running with deltoids as the pager: hunks expanded to the enclosing function

Install

Prebuilt binaries for macOS and Linux. Or build from source with cargo.

homebrew
brew install juanibiapina/taps/deltoids
shell installer
curl -sSL https://github.com/juanibiapina/deltoids/releases/latest/download/deltoids-cli-installer.sh | sh
cargo (from source)
cargo install --git https://github.com/juanibiapina/deltoids deltoids-cli

See GitHub Releases for all downloads.

FAQ

Is deltoids just a pager?
No. Piped a diff, it's a pager. Run in a terminal, deltoids opens a TUI to review your working tree, your branches, and their commits, in git or in a GitButler workspace.
Does deltoids send my code anywhere?
Only when you set TYPESAFE_API_KEY. Then the TUI sends the changed hunks to TypeSafe's Jev for review guidance. Lockfiles and generated files stay local. Language servers run on your machine.
Which languages support go to definition?
Rust, Go, TypeScript, JavaScript, Python, C, C++, Ruby, Lua, Bash, Java, and Kotlin work with their usual language server on PATH. The other languages deltoids parses, such as CSS, JSON, and YAML, can get a server in config.toml. See Language servers.
How is this different from git diff -W?
git diff -W finds scope with regex. deltoids parses the file with tree-sitter.
Which languages get syntax highlighting?
Any syntax bundled with syntect (e.g. Dockerfile), independent of tree-sitter scope support. Scope expansion covers the tree-sitter languages.