| Crates.io | watchers |
| lib.rs | watchers |
| version | 1.8.0 |
| created_at | 2025-09-27 12:59:14.414396+00 |
| updated_at | 2025-12-12 00:01:53.886336+00 |
| description | Git integrated file watcher |
| homepage | https://github.com/TenzinPlatter/watchers |
| repository | https://github.com/TenzinPlatter/watchers |
| max_upload_size | |
| id | 1857290 |
| size | 101,450 |
A CLI tool for managing file system watchers that automatically create git commits when files change. Each watcher runs as a systemd user service, allowing you to monitor multiple directories simultaneously.
cargo install --path .
or
cargo install watchers
Build from source:
git clone https://github.com/TenzinPlatter/watchers.git
cd watchers
cargo build --release
watchers create my-project
# You'll be prompted for the directory path to watch
The watcher is now running! It will:
auto_push is enabledManage your watchers:
# List all watchers
watchers list
# Stop a watcher
watchers stop my-project
# Start a watcher
watchers start my-project
# Delete a watcher
watchers delete my-project
Watcher configurations are stored as YAML files in ~/.config/watchers/<name>.yml:
name: my-project
watch_dir: /path/to/your/project
commit_delay_secs: 60 # Wait 60 seconds after last change
auto_push: true # Automatically push commits
You can manually edit these files to adjust settings, then restart the watcher:
watchers stop my-project
watchers start my-project
watchers@<name>.service)commit_delay_secs seconds then the changes are committedauto_push is enabled, the commit is pushed to the remote repository# Build
cargo build
# Run a command
cargo run -- list
cargo run -- create test-watcher
# Run with debug logging
RUST_LOG=debug cargo run -- __daemon my-project
# Format code
cargo fmt
# Run linter
cargo clippy