Introduction
labdash is a terminal dashboard for GitLab. It shows the merge requests, pipelines, jobs, and to-dos from every project and group you have access to, in one window.
labdash opens on Home. Home is built from what GitLab already knows about you: the merge requests waiting on your review, the ones reviewers handed back, the ones you authored, and your failing pipelines. Every query behind that screen asks GitLab about you rather than about your organisation, so it is complete on a fresh install.
The four views
Tab moves between the tables. Jobs and their logs open from a pipeline row. The scope you are standing in follows you, so moving from merge requests to pipelines keeps your place.
Browse, filter, pin
Home answers one question: what needs you. Three keys build every other view.
| Key | Does |
|---|---|
| b | Browse your GitLab group tree, with the groups and projects you work in most at the top. Enter scopes the table to the node you highlight. |
| f | Filter by state, draft, labels, author, reviewer, approvals, and dates. Values complete from your own instance, and an impossible value is rejected at the keystroke. |
| P | Pin the scope and filter on screen. It becomes a tab, and the tab is still there tomorrow. |
Pinned tabs live in a state file that labdash writes and you never open. There is no configuration file for the interface: no section definitions, no column layout, no template language. A small settings file holds the connection details for a self-managed GitLab, where your clones live on disk, and appearance.
Scope
labdash works on the queue around the code. Reading a diff line by line stays in the browser or your editor, and o opens the selected row there in one keypress. The dashboard covers merge requests, pipelines, jobs and to-dos on GitLab: there is no diff viewer, no file tree, no issue board, and no GitHub support. labdash calls GitLab's GraphQL and REST APIs directly rather than running glab.
Next steps
Install
Homebrew, Scoop, winget, go install, Linux packages, a Docker image, or a signed download.
Signing in
An OAuth device code on gitlab.com, or a personal access token on any instance.
Tour
The five regions of the screen, how to read a row, and the keys that cover most of the work.
Self-managed GitLab
A private CA, client certificates, a proxy, a subfolder install, and custom headers.