open source · written in Rust · MIT

~/lazygocd

A fast, keyboard-driven terminal UI for GoCD. Your whole fleet, pipeline groups, run history, stages, and live console logs, on one keyboard-driven screen.

$ brew install Sahilll15/tap/lazygocd

or cargo install lazygocd from crates.io

single binaryno server-side setupmacOS & Linux

Built for big fleets and small patience

Everything you reach for during a deploy, without a browser tab. The conventions you already know from modern terminal tools: rounded panels, semantic colors, footer key hints, a status LED next to the server URL.

0ms

Instant startup

The dashboard is cached to disk after every load. The next launch paints your fleet immediately, marked cached, refreshing..., while a fresh load runs in the background.

/

Fuzzy filter

One keystroke filters thousands of pipelines across every group, collapsed or not, with matched characters highlighted as you type.

Live console logs

Open any job's raw log in a full-screen view. It tails itself every ~3s while the stage runs and stops on its own once it finishes.

tpX

Trigger, pause, cancel

Run control from the keyboard, each behind a confirm prompt. Cancel stops a build already in flight, which pause can't do.

@

Deployed-commit check

The Details panel compares the deployed commit against the latest on the branch: ✓ up to date or ⚠ not latest. Token optional, only needed for private repos.

Favorites

Star pipelines to pin them in a gold Favorites section at the top of the tree, expanded by default and saved across sessions.

Full mouse support

Click to focus a pane and select a row, click the selected row again to open it, and scroll whatever pane is under the cursor.

30s

Auto-refresh

The dashboard and the open pipeline's history silently re-poll every 30 seconds (configurable). No r mashing during a deploy.

Measured on a real fleet

Verified against a GoCD 23.5.0 instance with 185 pipeline groups and 2,389 pipelines. One gzipped call to /api/dashboard loads the whole tree, pause states, and latest-run statuses.

5.3 MB → 165 KB
dashboard payload with gzip
~20s → 2–4s
cold load, 2,389 pipelines
0 network calls
to first paint, via the disk cache
40 ms
input poll, so keys land instantly

Questions people ask

Is there a terminal UI for GoCD?

Yes. lazygocd is an open-source terminal UI (TUI) for GoCD, written in Rust. It shows pipeline groups, run history, stages and live console logs on one keyboard-driven screen, and can trigger, pause, cancel and rerun pipelines without a browser.

Is lazygocd like lazygit but for GoCD?

That is the idea it is built on. lazygocd applies the lazygit model, a fast keyboard-driven terminal interface over an existing tool, to GoCD pipelines instead of git repositories.

How do I use GoCD from the command line?

Install it with brew install Sahilll15/tap/lazygocd or cargo install lazygocd, run lazygocd, and enter your GoCD server URL with an access token or username and password. See the quickstart.

Does lazygocd require a GoCD plugin or server-side setup?

No. It is a single binary that uses the GoCD REST API with your own credentials, so it needs no plugin, no agent, and no administrator access to the GoCD server.

Does it work with thousands of pipelines?

Yes. It loads the whole dashboard in a single API call rather than polling per pipeline, caches it to disk for instant startup, revalidates with ETags so unchanged polls cost nothing, and offers fuzzy filtering to find one pipeline among thousands. It is used daily against an instance with roughly 2,400 pipelines.

Is lazygocd free and open source?

Yes, MIT licensed. The source is on GitHub and the crate is published on crates.io.

Get it running in a minute

Install with Homebrew, run lazygocd, and the first-run form walks you through connecting. Config lands in ~/.config/lazygocd/config.toml with owner-only permissions.

install
$ brew install Sahilll15/tap/lazygocd
$ lazygocd

On crates.io too: cargo install lazygocd. Prebuilt binaries and more in all install options, then the quickstart.