explaingit

qf-studio/grom

Analysis updated 2026-05-18

15GoAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TLDR

A terminal tool that renders Prometheus metrics as btop-style dashboards, including importing your existing Grafana dashboard JSON into the same layout.

Mindmap

mindmap
  root((grom))
    What it does
      Terminal dashboards
      Grafana import
      Live Prometheus queries
    Tech stack
      Go
      Prometheus
      PromQL
    Use cases
      SSH monitoring
      Ops dashboards
      Cron snapshots
    Audience
      DevOps engineers
      SRE teams
    Features
      Braille charts
      Threshold colors
      YAML config

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Check Prometheus dashboards over an SSH session without opening a browser.

USE CASE 2

Import an existing Grafana dashboard JSON to view the same panels directly in the terminal.

USE CASE 3

Generate a static dashboard snapshot from a cron job for logs or documentation.

USE CASE 4

Build a lightweight custom monitoring dashboard in YAML without running Grafana at all.

What is it built with?

GoPrometheusGrafanaPromQL

How does it compare?

qf-studio/grom15515151/noblackbunnymq/bunnymq
Stars151515
LanguageGoGoGo
Setup difficultymoderateeasyhard
Complexity3/53/55/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs an existing Prometheus server to query live metrics, though a demo mode works with fake data and no setup.

MIT license: free to use, modify, and distribute, including commercially, as long as the copyright notice is kept.

In plain English

grom turns Prometheus metrics into dashboards you view directly in your terminal, styled the way system monitors like btop are, with charts drawn from braille characters, gradient meters, and stats colored by threshold. Instead of building a new dashboard from scratch, you can point grom at an existing Grafana dashboard JSON export and it will recreate the same layout and panels in the terminal. The author built this because the closest prior tool for Grafana-style terminal dashboards, grafterm, has been unmaintained since 2019 and only supports a fixed set of widgets, while btop itself only shows system metrics rather than data from Prometheus. grom aims to fill that gap by rendering your own Prometheus queries, whether written by hand in a small YAML config or imported from Grafana. In the YAML config format, each widget such as a stat, gauge, bar gauge, or time series chart is defined with one or more PromQL queries plus how to present the result: a unit, optional sparkline, threshold colors, and a position in a 24 column grid similar to Grafana's own layout system. If you skip the grid settings, grom automatically arranges widgets into responsive rows based on how wide your terminal is. When importing a real Grafana dashboard, grom maps supported panel types one to one, respects field configuration like units and thresholds, and shows a placeholder with a warning for anything it cannot translate. You can run it against any Prometheus server using just its built in metrics, try a demo mode with fake data and no Prometheus required, or output a single static frame for scripts, cron jobs, or documentation snapshots. It runs entirely in the terminal, uses full color when your terminal supports it, and falls back to plain ASCII blocks if your font lacks braille character support. This is aimed at developers and operations engineers who already use Prometheus and Grafana and want a fast way to check dashboards over SSH or in a terminal without opening a browser. It is released under the MIT license and is still described as an early release under active development.

Copy-paste prompts

Prompt 1
Write a grom YAML config with a stat widget showing error rate as a percentage with green, yellow, and red thresholds.
Prompt 2
Explain how grom's Grafana JSON import maps panel types like stat, gauge, and timeseries to its own widgets.
Prompt 3
Show me the grom command to render a single static dashboard frame to stdout for a cron job.
Prompt 4
What is the difference between grom's grid layout and its automatic responsive widget flow?
Prompt 5
Help me convert one panel from my Grafana dashboard export into a grom YAML widget manually.

Frequently asked questions

What is grom?

A terminal tool that renders Prometheus metrics as btop-style dashboards, including importing your existing Grafana dashboard JSON into the same layout.

What language is grom written in?

Mainly Go. The stack also includes Go, Prometheus, Grafana.

What license does grom use?

MIT license: free to use, modify, and distribute, including commercially, as long as the copyright notice is kept.

How hard is grom to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is grom for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.