A terminal UI for Tilt (tilt-dev/tilt), inspired by lazygit.
Manage your Tilt local development environment without leaving the terminal.
Features
- Resource overview with real-time status updates (ok/pending/error) that scrolls through long lists
- Build history for the selected resource
- Live logs that follow new output, with scrolling (j/k, pgup/pgdn) and a follow toggle (
f) - Resource detail view with pod info, endpoints, and build history
- Status filter (
f) to show only the resources that failed, or another status group - Fuzzy search (
/) to quickly find resources - Actions: trigger builds (
b), restart resources (r), reload Tiltfile (R) - Accordion layout - focused panel expands, others collapse
- Vim-style keybindings throughout
Install
Homebrew
brew tap tdi/lazytilt brew install lazytilt
Go
go install github.com/tdi/lazytilt@latest
From source
git clone https://github.com/tdi/lazytilt.git
cd lazytilt
make buildUsage
Start Tilt first, then run lazytilt:
tilt up # in your project directory lazytilt # in another terminal
lazytilt connects to the Tilt API at localhost:10350 by default.
lazytilt --host localhost:10350 # custom host lazytilt --token <token> # custom API token lazytilt --version # show version
Tilt requires a token on its API. lazytilt reads it from $TILT_TOKEN, then from
~/.tilt-dev/token, so it normally needs no configuration.
Keybindings
Navigation
| Key | Action |
|---|---|
Tab / Shift+Tab |
Cycle side panels |
Right / l |
Focus logs panel |
Left / h / Esc |
Return to side panel |
1-3 |
Jump to panel by number |
0 |
Focus logs panel |
j / k |
Move selection / scroll |
g / G |
First / last item, top / newest log line |
PgUp / PgDn, Ctrl+U / Ctrl+D |
Page up / down |
Filtering
| Key | Action |
|---|---|
/ |
Fuzzy search resources by name |
f |
Filter by status (in logs: toggle follow) |
F |
Show failed resources only |
Esc |
Clear the search and the filter |
Actions
| Key | Action |
|---|---|
b |
Trigger build |
r |
Restart resource |
R |
Reload Tiltfile |
e |
Enable/disable resource |
y |
Yank endpoint or logs to the clipboard |
Enter |
Toggle resource detail view |
? |
Help |
q / Ctrl+C |
Quit |
Requirements
- Go 1.22+
- A running Tilt instance
Releasing
Releases are cut from a tag:
git tag v0.4.0 git push origin v0.4.0
Pushing a v* tag runs .github/workflows/release.yml,
which invokes GoReleaser to build darwin and linux binaries for amd64 and arm64,
publish the GitHub release, and update the formula in
tdi/homebrew-lazytilt. Writing to the
tap repository needs the HOMEBREW_TAP_TOKEN secret; without it the release
still publishes but the formula stays on the previous version.
Every push to main and every pull request runs
.github/workflows/ci.yml: gofmt, go build,
go vet and go test.
License
MIT License - see LICENSE for details.
Author
Dariusz Dwornikowski (@tdi)
