Repository navigation
Hotreload v0.0.1 — Release Notes
A lightweight CLI tool for Go developers that automatically rebuilds and restarts your server whenever you change a source file.
What it does
No more manually stopping, rebuilding, and restarting your server on every code change. Run hotreload once and just edit your code — the rest happens automatically within ~2 seconds.
hotreload --root ./myproject --build "go build -o ./bin/server ./cmd/server" --exec "./bin/server"Features
- Instant startup — triggers the first build immediately without waiting for a file change
- Smart debouncing — coalesces rapid editor saves into a single rebuild
- Cancelled stale builds — if you save again mid-build, the old build is discarded and only the latest runs
- Clean process shutdown — kills the entire process tree (not just the parent) before restarting
- Crash loop protection — exponential backoff if your server crashes immediately after starting
- Dynamic directory watching — picks up newly created packages without restarting the tool
- Editor-aware filtering — ignores temp files from Vim, Emacs, IntelliJ, and others
- Real-time logs — server output streams live, not buffered
Platform Support
- ✅ Native Linux
- ✅ WSL2 (files must live in the WSL filesystem, not
/mnt/c/) - ❌ Native Windows (uses Linux-only syscalls — planned for v1.1.0)
Known Limitations
- Does not work with Docker-on-Windows or files on mounted Windows drives due to inotify not firing across the Windows/Linux filesystem boundary
- Windows native support requires a separate process management implementation and is not included in this release