https://github.com/socket7/livediff
⚡ Livediff: Watch file diffs live in your terminal. Minimalist Rust TUI for instant feedback loops.
https://github.com/socket7/livediff
cli code-review command-line developer-tools diff dx file-watcher git minimalist monitoring nyxia productivity ratatui rust rust-cli terminal terminal-ui tui watcher
Last synced: about 13 hours ago
JSON representation
⚡ Livediff: Watch file diffs live in your terminal. Minimalist Rust TUI for instant feedback loops.
- Host: GitHub
- URL: https://github.com/socket7/livediff
- Owner: SoCkEt7
- License: apache-2.0
- Created: 2026-06-14T14:25:35.000Z (7 days ago)
- Default Branch: main
- Last Pushed: 2026-06-17T12:55:32.000Z (4 days ago)
- Last Synced: 2026-06-19T16:41:10.376Z (1 day ago)
- Topics: cli, code-review, command-line, developer-tools, diff, dx, file-watcher, git, minimalist, monitoring, nyxia, productivity, ratatui, rust, rust-cli, terminal, terminal-ui, tui, watcher
- Language: Rust
- Homepage: https://socket7.github.io/Livediff/
- Size: 6.34 MB
- Stars: 17
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# 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.
[](https://github.com/SoCkEt7/Livediff/actions)
[](https://crates.io/crates/livediff)
[](https://github.com/SoCkEt7/Livediff/blob/main/LICENSE-MIT)
## 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.
Livediff does not replace Git. It complements `git diff` by turning file changes into a live terminal view.
## Quick start
```bash
cargo install livediff
livediff .
```
Monitor a specific path or ignore noisy files:
```bash
livediff ./src
livediff . --ignore "target/" --ignore "*.tmp"
```
## Interactive web showcase
Try the zero-install browser demo: **[socket7.github.io/Livediff](https://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 `ratatui` and `crossterm`.
- **Character-level diffs** — precise added/removed highlights using `similar`.
- **Low idle footprint** — event-driven redraws; no Electron or Node runtime.
- **Smart filtering** — respects `.gitignore` and 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](docs/use-cases.md) for practical workflows:
- watching generated files;
- inspecting migration output;
- monitoring formatter/codemod changes;
- reviewing docs/config generation.
## Installation
### Via Cargo
```bash
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](https://github.com/SoCkEt7/Livediff/issues/5) for the original packaging discussion.
### Pre-built binaries
Tagged releases provide Linux, macOS, and Windows archives when available:
[github.com/SoCkEt7/Livediff/releases](https://github.com/SoCkEt7/Livediff/releases)
## CLI options
```text
Usage: livediff [OPTIONS] [PATH]
Arguments:
[PATH] The path to monitor [default: .]
Options:
-i, --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](CONTRIBUTING.md), or open an issue with the workflow you want Livediff to support better.
## License
Licensed under either [MIT](LICENSE-MIT) or [Apache-2.0](LICENSE-APACHE), at your option.