cli-table3
Pretty unicode tables for the command line, drop-in API-compatible with the original cli-table
Repository Health
Technical Analysis
cli-table3 renders unicode-aided tables for Node.js command-line scripts, letting you print aligned, bordered, and colorized tabular data straight to a terminal. It is a maintained continuation of the original cli-table and cli-table2 packages, preserving full API compatibility while adding cell/row spanning, vertical alignment, word wrapping, and more robust handling of ANSI color codes inside cells.
Because the table itself is just an Array subclass, building one feels like ordinary JavaScript: push rows, splice them, or unshift a new one, then call .toString() to get terminal-ready output. Horizontal, vertical, and cross-tables are all supported out of the box, and custom border characters or per-cell styling let you match any CLI’s visual style.
What You Get
- Horizontal, vertical, and cross-table layouts from the same API
- Column and row spanning for merged cells
- Per-cell styling: border characters, colors, and padding
- Vertical alignment (top, bottom, center) and word wrapping on word boundaries
- Truncation of cell text that safely accounts for embedded ANSI color codes
- Full backwards compatibility with the original cli-table API
Common Use Cases
- Printing command output (npm/yarn-style dependency lists, status reports) as aligned tables
- Building admin/debug CLIs that need to display database rows or API responses legibly
- Rendering comparison or summary tables in build/test tool output
- Adding colorized, bordered output to internal developer tooling scripts
Under The Hood
Architecture - The table itself (src/table.js) extends the native Array, so pushing/splicing rows is just array manipulation; rendering runs through a LayoutManager (src/layout-manager.js) that computes column widths, resolves row/col spans, and merges border characters, before handing each cell to Cell (src/cell.js) for width-aware wrapping, padding, and truncation, and finally joining rows into the printed string. Tech Stack - Plain CommonJS JavaScript with two runtime dependencies: ansis for ANSI color styling and string-width for correct-width Unicode/wide-character measurement; builds and lints via ESLint, Prettier, and a Jest test/lint runner, with Yarn as the package manager. Code Quality - The test/ directory carries the full original cli-table test suite (original-cli-table-index-tests.js) plus dedicated suites per feature (colors, layout, cells, utils), giving strong regression coverage for a project of this size; code favors small, single-purpose modules over abstraction layers. API Design - The Array-subclass model keeps the day-to-day API tiny (new Table(opts), .push(), .toString()), which combined with strict backward compatibility with the original cli-table means most consumers reach working output within a few lines and existing cli-table users can drop it in without code changes.
Used by 19 apps in this directory
Novu
Developer Tools
Open-source communication infrastructure that connects your products and AI agents to every channel your users live on — Inbox, Email, SMS, Push, Chat, and more.
OneUptime
Monitoring
The complete open-source observability platform that replaces PagerDuty, Datadog, Sentry, and StatusPage with a single self-hostable system.
OpenPanel
Devops · Hosting Control Panel
Docker-powered web hosting control panel that gives every user a fully isolated environment with dedicated web server, database, and networking — VPS-grade security on shared hardware.
PeerTube
Social Media
A federated, ActivityPub-based video hosting platform built by Framasoft — self-hostable instances interconnect into a network with no vendor lock-in, P2P-assisted streaming, and no ads.
Promptfoo
AI Development
An open-source CLI and library for evaluating and red-teaming LLM applications — replace trial-and-error prompt engineering with systematic evals, vulnerability scanning, and CI/CD integration.
Sanity
CMS
Open-source headless CMS with a fully customizable React Studio, real-time collaborative editing, structured content modeling, and GROQ query language
strapi
CMS
Open-source headless CMS that auto-generates REST and GraphQL APIs from your content models, with a fully customizable admin panel you control.
Temps
Analytics · Devops · Monitoring
A self-hosted Rust PaaS that replaces Vercel, Sentry, PostHog, Pingdom, Resend, and E2B with one binary — plus 440+ CLI operations agents like Claude Code can drive directly.
Trigger.dev
AI Development · Automation · Developer Tools
Build and deploy fully-managed AI agents and background jobs in TypeScript — with no timeouts, durable retries, real-time observability, and elastic scaling built in.