⚡ Livediff: Watch file diffs live in your terminal. Minimalist Rust TUI for instant feedback loops.
Livediff 👁️
Live terminal diffs while files change. Livediff is a lightweight Rust TUI companion to git diff for generators, refactors, migrations, formatters, and config edits.
Why Livediff?
git diff is great after the fact. Livediff shows what changes while another tool is still editing files.
Use it when you want immediate feedback during:
- code generators and template systems;
- formatters, migrations, and codemods;
- refactors that touch many files;
- documentation or config generation;
- terminal-first workflows where a GUI diff app is too heavy.
git diff by turning file changes into a live terminal view.
Quick start
cargo install livediff
livediff .
Monitor a specific path or ignore noisy files:
livediff ./src
livediff . --ignore "target/" --ignore "*.tmp"
Interactive web showcase
Try the zero-install browser demo: socket7.github.io/Livediff
It simulates the TUI, file changes, and real-time diff animations before you install anything.
Features
- Real-time monitoring — native OS filesystem events via
notify. - Interactive TUI — terminal interface built with
ratatuiandcrossterm. - Character-level diffs — precise added/removed highlights using
similar. - Low idle footprint — event-driven redraws; no Electron or Node runtime.
- Smart filtering — respects
.gitignoreand accepts custom glob ignores. - Zero-install preview — hosted interactive demo for quick evaluation.
How is it different?
| Tool | Best for | Livediff difference | | --- | --- | --- | | git diff | Reviewing changes after edits | Watches changes live as they happen | | watch + diff | Simple repeated shell checks | Gives an interactive TUI and file list | | GUI diff tools | Manual visual review | Stays lightweight and terminal-native | | file watcher logs | Knowing something changed | Shows exactly what changed |
Example workflows
See docs/use-cases.md for practical workflows:
- watching generated files;
- inspecting migration output;
- monitoring formatter/codemod changes;
- reviewing docs/config generation.
Installation
Via Cargo
cargo install livediff
Homebrew (planned)
Homebrew is not a live install channel yet: no verified tap or formula is currently published for Livediff. Use Cargo (above) or a pre-built release archive until this section lists verified brew commands.
See #5 for the original packaging discussion.
Pre-built binaries
Tagged releases provide Linux, macOS, and Windows archives when available:
github.com/SoCkEt7/Livediff/releases
CLI options
Usage: livediff [OPTIONS] [PATH]
Arguments: [PATH] The path to monitor [default: .]
Options: -i, --ignore <IGNORE> Ignore files matching this glob pattern (can be used multiple times) --show-hidden Show hidden files --no-ignore Do not respect ignore files (.gitignore, .ignore, etc.) --no-ignore-parent Do not respect ignore files in parent directories --no-ignore-vcs Do not respect git/VCS ignore files (.gitignore, etc.) -h, --help Print help -V, --version Print version
Roadmap
- More packaged install options, including Homebrew.
- Short terminal recording with asciinema.
- More workflow recipes for generators, migrations, and monorepos.
- Community-requested filters and export options.
Contributing
Contributions are welcome. Start with CONTRIBUTING.md, or open an issue with the workflow you want Livediff to support better.
License
Licensed under either MIT or Apache-2.0, at your option.