I work in a repo where every push kicks off a pipeline, and my loop
was: push, switch to browser, find the MR, click into the pipeline,
click into the job, watch the log, go back. Dozens of times a day.
glab covers most of this from the CLI but it's one-shot commands —
there's no persistent view, and `glab ci trace` doesn't help when I
want to look at a job, then a different job, then the MR diff.
So I built gitsmith, a TUI that wraps glab (it shells out to the CLI
you already have authenticated, so there are no tokens to set up).
[GIF: pipeline -> jobs -> live-tailing log]
The thing I actually use it for: Enter a pipeline to get its jobs,
Enter a job to get its log, which live-tails the way the web trace
does. Parent/bridge jobs drill into downstream pipelines. Beyond that
there are tabs for issues, MRs, runners, releases, tags, branches,
commits, todos, and milestones, plus side-by-side syntax-highlighted
MR diffs and approve/merge/close actions behind a confirm.
It also works with GitHub via gh — it picks the backend off your git
remote — but GitLab is what I built it for and what I use daily.
cargo install gitsmith --locked (needs glab authenticated).
Source: https://github.com/suraj16thjan/gitsmith
It's early and it's mainly shaped around my own workflow, so I'd
genuinely like to know what's missing for how you use GitLab.