Barad-dûr
A project-agnostic file watcher that runs your check pipeline on every save
and surfaces failures before CI does. The same pipeline runs as a one-shot
(baraddur check) or as a gate around another command
(baraddur gate git push), so the rules you tune for save-time also gate
your commits and pushes.
━━━ #1 14:32:08 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ format ✓ 0.2s
▸ compile ✓ 1.1s
▸ credo ✗ 3 issues 1.8s
▸ test ✓ 2.3s
1 failed · 3 passed · 5.4s
Install
Pre-built binaries, source builds, and other platforms: see docs/install.md.
Quick start
baraddur runs the pipeline immediately on launch, then re-runs it on every file change. Steps are killed and restarted if a file changes mid-run.
Documentation
| Topic | What it covers |
|---|---|
| Install | crates.io, pre-built binaries, source builds |
| Configuration | Schema, step filtering, examples, on-failure hook |
| Watch mode | Browse mode, keybindings, in-place rendering |
| One-shot mode | check, gate, git-aware filtering, pre-commit |
| CLI reference | Flags, verbosity, output modes, log file |
| Security | Trust model for .baraddur.toml |
| JSON event stream | NDJSON output for integrations |
| UX design | Terminal UX states and transitions |
Future ideas
- Homebrew tap