veer

command module
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2026 License: MIT Imports: 34 Imported by: 0

README

veer

Go Report Card codecov gosec

A live-diffing TUI for coding with AI.

Veer watches your working tree for changes and displays a live, color-coded diff in a fullscreen terminal interface. It's designed to run alongside an AI coding session so you can see exactly what's being changed as it happens.

Features

  • Live-updating diff that refreshes every 500ms
  • File tree sidebar with per-file +N -M line counts
  • Line numbers with colored gutter (green/red background for adds/removes)
  • Chunk separators () instead of raw @@ hunk headers
  • Mouse support: click files to select, scroll wheel in both panes
  • Vim-style keyboard navigation
  • Respects .gitignore (including global excludes)
  • Shows untracked files as all-additions diffs
  • Header bar with branch, commit SHA, commit message, and working directory

Install

Homebrew
brew install broothie/tap/veer
Go
go install github.com/broothie/veer@latest
Script

Install the latest release with a convenience script:

curl -fsSL https://raw.githubusercontent.com/broothie/veer/main/scripts/install.sh | sh

You can override the version or install directory:

curl -fsSL https://raw.githubusercontent.com/broothie/veer/main/scripts/install.sh | VERSION=v0.1.5 BIN_DIR="$HOME/.local/bin" sh
Linux tarball

Download the latest release for your architecture and install it into /usr/local/bin:

VERSION=v0.1.5
ARCH="$(uname -m)"

case "$ARCH" in
  x86_64) ARCH=amd64 ;;
  aarch64|arm64) ARCH=arm64 ;;
  *) echo "unsupported architecture: $ARCH" >&2; exit 1 ;;
esac

curl -fsSL -o /tmp/veer.tar.gz \
  "https://github.com/broothie/veer/releases/download/${VERSION}/veer_${VERSION#v}_linux_${ARCH}.tar.gz"
tar -xzf /tmp/veer.tar.gz -C /tmp
sudo install /tmp/veer /usr/local/bin/veer

Replace VERSION with the release tag you want to install.

Usage

veer                     # show all working tree changes
veer main                # diff working tree against a ref
veer src/ lib/           # filter to specific paths
veer main src/           # combine ref and path filter
veer -s                  # show only staged changes
veer -U 5               # 5 lines of context
veer -n 1s              # refresh every 1 second
veer -w 40              # initial sidebar width of 40 (default 35)
veer -t monokai         # use monokai syntax theme (default dracula)
veer --dump-view > /tmp/veer.txt  # render one frame to stdout and exit
veer --no-syntax-highlight  # disable syntax highlighting
veer -d                 # enable debug logging to ~/.veer/debug.log

TODO

  • Line numbers
  • Git history
  • CLI flags
  • Thicker sidebars
  • Resizable sidebar
  • Scrollbar
  • Continuous scroll
  • Refactor everything
  • Expandable ellipsis
  • Sticky file headers
  • Rethink keybinds
  • Hunk/file staging and committing
  • Dynamic sidebar width based on window size
  • Flag to disable syntax highlighting
  • Fix version flag output (veer -v currently prints dev)
  • Fix header truncation
  • Fix line wrapping
  • Fix pane borders
  • Fix line numbers changing upon file/hunk staging
  • Add linux to goreleaser
  • Ensure README matches implementation
  • Flesh out tests
  • Run go vet in CI
  • Add GitHub info (issues, discussions, etc.)
  • Set up goreleaser
  • Syntax highlighting

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL