Skip to content
CAI
Software that uses CAICheck a score

yaronn/blessed-contrib

39.3

Weak · 1 October 2026

3.2k

lines of production code

JavaScript

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a JavaScript library for building interactive terminal dashboards using ASCII and ANSI graphics. It provides a comprehensive suite of visualization widgets, including various chart types, gauges, tables, and markdown renderers, alongside layout utilities like grids and carousels. The library supports both client-side and server-side rendering, enabling the creation of rich, data-driven command-line interfaces.

Features

Add bar, line, and stacked bar chart widgets

New charting components are now available in the widget library: a basic bar chart, a line chart with multi-series support and legend, and a stacked bar chart with category labels and legend. These additions expand the visualisation capabilities for terminal-based dashboards.

lib/widget/charts · high confidence

Introduces two new layout utilities: a Carousel component that supports navigation via next/prev/home/end methods, optional auto-rotation (controlled by the 'rotate' option), and keyboard shortcuts (right, left, home, end keys) when 'controlKeys' is enabled; and a Grid component that arranges widgets in a configurable row/column structure with customizable cell dimensions, dashboard margins, and border colors, while preventing nested grids.

lib/layout · high confidence

Add inline-data examples for charts, UI components, and markdown

Added a new set of example scripts in the examples/inline-data directory that demonstrate how to use blessed-contrib components with data defined directly in the source code. The examples cover bar charts, donut charts, gauges, LCD displays, maps, multi-line charts, picture rendering, sparklines, and tables, as well as a markdown renderer with custom styling.

examples/inline-data · high confidence

Expanded example suite with new widgets and layout demos

The examples directory has been significantly expanded with new demonstration scripts for various contrib widgets and layout patterns. New additions include a carousel for switching between layouts, a filesystem explorer using the tree widget, and specific examples for stacked bar charts, gauge lists, and LCD displays. The suite also features updated dashboard examples (including one with random colors), line chart variations demonstrating zooming (minY/maxY), abbreviation, and fraction handling, as well as new standalone examples for markdown rendering, picture display, and table styling with ANSI colors.

examples · high confidence

Initial release of blessed-contrib terminal dashboard library

This change introduces the blessed-contrib library, a collection of terminal widgets built on top of the blessed library for creating ASCII/ANSI dashboards. The release includes a comprehensive set of visualization components such as line charts, bar charts, stacked bars, gauges, donuts, maps, tables, trees, and markdown rendering, along with layout helpers like Grid and Carousel. It also provides TypeScript definitions (index.d.ts) for type-safe usage and establishes the project's MIT license, ESLint configuration, and documentation.

(repo-wide) · high confidence

New dashboard widgets: canvas-based charts, LCD, map, and markdown

This release introduces a suite of new terminal dashboard widgets. Canvas-based visualizations include Donut charts (with support for arbitrary numbers in core text and automatic spacing), Gauges (single and stacked, with configurable colors and labels), and a GaugeList. Additional widgets provide an LCD display for numeric strings, a Map widget for geographic markers, a Markdown renderer using marked-terminal, a Picture widget for ASCII art images, a Sparkline for simple trend lines, a Table with column width support and mouse/VI key bindings, a Tree view with expand/collapse functionality, and a Log widget for scrolling text output.

lib/widget · high confidence

New server-side terminal rendering and utility modules

The library introduces two new modules, \lib/server-utils.js\ and \lib/utils.js\, to support server-side terminal rendering and data processing. \server-utils.js\ provides utilities for creating a blessed screen within an HTTP request/response cycle, including custom input/output buffers to handle TTY emulation and a \serverError\ handler that writes plain-text error responses only if headers have not yet been sent. \utils.js\ adds helper functions for object merging, type checking, number abbreviation, and converting RGB arrays to xterm-256 color codes using the \x256\ package.

lib · high confidence

Dependencies

Initial release of blessed-contrib v4.11.0 with ESLint and dependency lockfile

This change introduces the initial \package-lock.json\ and updates \package.json\ to version 4.11.0, establishing a formal dependency tree for the library. It adds ESLint (v5.11.0) and related configuration as dev dependencies, replacing the previous placeholder test script with linting commands. The dependency list is explicitly defined, including \marked\ (^4.0.12) and \chalk\ (^1.1.0), and the repository URL is updated to GitHub with an MIT license.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 37 → 39 (+2.1)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 48 → 48 (+0.0)
  • Architecture 93 → 94 (+1.1)
  • Maturity 45 → 45 (+0.0)
  • Readiness 19 → 21 (+2.4)
  • Security 70 → 82 (+11.9)

Resolved (7)

  • Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no pnpm-resolved versions to grade)
  • Documentation: no installation or build instructions (README.md)
  • setData (cognitive 16) (lib/widget/charts/bar.js)
  • setData (cognitive 35) (lib/widget/charts/line.js)
  • setData (cyclomatic 32) (lib/widget/charts/line.js)
  • walk (cognitive 42) (lib/widget/tree.js)
  • walk (cyclomatic 20) (lib/widget/tree.js)

New (12)

  • Outdated (npm): chalk
  • Outdated (npm): lodash
  • Outdated (npm): marked
  • Outdated (npm): marked-terminal
  • Outdated (npm): picture-tuber
  • Outdated (npm): sparkline
  • Outdated (npm): strip-ansi
  • bar.Bar.setData (cognitive 16) (lib/widget/charts/bar.js)
  • line.Line.setData (cognitive 35) (lib/widget/charts/line.js)
  • line.Line.setData (cyclomatic 32) (lib/widget/charts/line.js)
  • tree.Tree.walk (cognitive 42) (lib/widget/tree.js)
  • tree.Tree.walk (cyclomatic 20) (lib/widget/tree.js)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

yaronn/blessed-contrib was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 45a7db64c81f179327b1edb5d4d662bcf661ff2b — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.