Skip to content
rasjonell edited this page May 19, 2026 · 7 revisions

Welcome to the Dashbrew Wiki

Dashbrew is a highly customizable terminal dashboard application that lets you create beautiful, interactive terminal dashboards from a single JSON file. Monitor systems, track tasks, visualize data, and trigger shell actions, all from your terminal.

Dashbrew Screenshot

About dashbrew

Dashbrew is built with Go and uses the Charm libraries (Bubble Tea, Lip Gloss). It is designed to be:

  • Modular: mix and match six component types
  • Flexible: nested row/column containers with flex sizing
  • Data-driven: connect to shell scripts, HTTP APIs, or local files
  • Themed: seven shipping themes plus a role-based palette you can override at the dashboard or per-component level
  • Interactive: declare keyboard bindings per pane, run shell actions, browse them all in a global palette
  • Responsive: adjusts to terminal size, with mode-aware help line and modals

Wiki navigation

  • Layout System: containers, flex sizing, gaps, focus dimming
  • Components: the six component types, common properties, per-type data formats, internal keys
  • Styling Options: borders, the legacy style.border / style.global blocks, where everything composes
  • Themes: named theme presets, role-based palette, custom theme files, the -t / --theme CLI flag
  • Actions and Bindings: per-pane keyboard bindings, action types, the global palette, error modal
  • Keyboard and UI: full global keymap and every modal overlay (palette, error, add-mode, action overlay)

Dashboard anatomy

A dashbrew dashboard consists of:

  1. Components: individual UI elements that display data (text, lists, charts, etc.)
  2. Containers: layout elements that organize components
  3. Data sources: where components get their information (scripts, APIs, files)
  4. Styling: theme, palette, per-component overrides, layout gap, focus mode
  5. Bindings: per-component keyboard shortcuts that run shell actions

Each of these is configured in your dashboard.json file, which defines the entire structure and behavior of your dashboard.

Examples

The repo ships four polished example dashboards under examples/:

  • minimal.json: smallest valid dashboard with a clean ASCII brand mark
  • focus.json: cozy personal cockpit with a giant ASCII clock, 25/5 pomodoro chart, todo, and hourly progress histogram
  • trading-desk.json: gruvbox-dark crypto cockpit with simulated tickers, live BTC chart, and a per-symbol market-cap histogram (fully offline, no API limits)
  • devops-noc.json: production NOC board with coloured service tiles, p99 latency chart, status histogram, live log tail, and d / e / w / s action bindings

Each example demonstrates a different visual identity and a different combination of features. Run them from the repo root:

dashbrew -c examples/focus.json

See examples/README.md for screenshots and the bindings cheat sheet.

Installation

go install github.com/rasjonell/dashbrew/cmd/dashbrew@latest

Or pin a release:

go install github.com/rasjonell/dashbrew/cmd/dashbrew@v1.1.0

See the Releases page and the CHANGELOG for what shipped in each version.

Clone this wiki locally