Goober
A badass file watcher for Go projects that automatically rebuilds and restarts your application. It comes with a slick terminal UI to show logs and build status.
๐ Installation
Install Goober globally:
go install github.com/jerkeyray/goober@latest
Make sure your Go bin directory (usually $HOME/go/bin) is in your PATH. If not:
export PATH="$HOME/go/bin:$PATH"
Add that to your .zshrc, .bashrc, or whatever shell config you use.
โก Quick Start
Navigate to your Go project and just run:
goober
It will:
- Watch for file changes
- Rebuild the project
- Restart your app
- Show logs in a terminal UI
Examples
# Watch current directory and use default build/run
goober
# Watch a specific directory
goober --dir ./myapp
# Use custom build and run commands
goober --build "go build -o myapp" --run "./myapp"
# Set a custom debounce time (e.g., 1 second)
goober --debounce 1s
# Disable the TUI, use plain logs
goober --no-tui
๐ ๏ธ CLI Flags
--dir <path> โ Directory to watch (default: .)
--build <command> โ Build command (default: go build -o app)
--run <command> โ Run command (default: ./app)
--debounce <duration> โ Delay after file changes before restarting (default: 750ms)
--no-tui โ Disable the terminal UI and use plain output
๐ฎ TUI Keybindings
When using the terminal UI:
q / Ctrl+C โ Quit
r โ Force manual restart
c โ Clear logs
โ/โ or j/k โ Scroll logs
PgUp / PgDown โ Scroll a page up/down
๐ License
MIT
Made with rage and caffeine by @jerkeyray