Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. box-cli-maker

box-cli-maker

MITGov3.0.0

A Go library for rendering highly customizable boxes in the terminal with extensive styling and color options.

GitHubGitHub
645 stars25 forks0 contributors

What is box-cli-maker?

Box CLI Maker is a Go library that generates customizable text boxes for terminal applications. It solves the problem of creating visually structured and styled output in command-line interfaces by providing an intuitive API for border styling, colors, alignment, and content formatting.

Target Audience

Go developers building command-line tools, CLI applications, or terminal-based utilities that require enhanced visual presentation, such as status displays, menus, or formatted logs.

Value Proposition

Developers choose Box CLI Maker for its extensive customization options, type-safe API, and robust handling of Unicode, emojis, and colors, all while maintaining compatibility with various terminal environments.

Overview

Render highly customizable boxes in the terminal

Use Cases

Best For

  • Creating formatted status or info boxes in CLI tools
  • Building terminal-based menus or interactive prompts
  • Displaying structured output like logs or reports in the terminal
  • Adding visual highlights to command-line application headers
  • Generating decorative boxes for CLI documentation or examples
  • Enhancing CLI tools with colored and aligned text containers

Not Ideal For

  • Projects not written in Go, as it's a Go-specific library with no bindings for other languages.
  • CLI tools requiring real-time, animated output like progress bars or spinners, since it only renders static boxes.
  • Applications that demand foolproof Unicode/emoji rendering across all terminal emulators and fonts, due to noted rendering inconsistencies.
  • Simple scripts or tools where adding a third-party library for basic text formatting introduces unnecessary dependency overhead.

Pros & Cons

Pros

Extensive Border Customization

Offers nine built-in styles including Single, Double, and Round, with full support for custom glyphs on all corners and edges, as shown in the detailed styles showcase in the README.

Rich Color and Unicode Support

Supports ANSI names, hex codes, and RGB formats for colors, and integrates libraries like `mattn/go-runewidth` for proper width handling of Unicode and emojis, ensuring broad compatibility.

Type-Safe Fluent API

Provides a fluent API with strongly typed enums for styles, alignment, and positions, reducing runtime errors and improving developer experience, especially highlighted in the v3 migration guide.

Robust Error Handling

The Render method validates inputs and returns explicit errors for invalid configurations like negative padding or invalid colors, while MustRender offers a panic-on-error convenience option.

Cons

Terminal Rendering Inconsistencies

Rendering quality depends on terminal emulator and font, which can cause misalignment or incorrect display of Unicode and emojis, as admitted in the README's notes on width handling.

Breaking API Changes

Version 3 introduced a completely redesigned API with strongly typed enums, requiring significant migration effort for existing v2 users, as detailed in the migration guide.

No Interactive Features

Focuses solely on static box rendering without built-in support for dynamic updates, interactive elements, or real-time terminal manipulation, limiting use in complex CLI applications.

Frequently Asked Questions

Quick Stats

Stars645
Forks25
Contributors0
Open Issues6
Last commit1 month ago
CreatedSince 2020

Tags

#unicode#terminal#go-library#cli-tool#tui#go-module#color#box#golang#terminal-ui#cli#command-line#text-formatting#unicode-support#ansi-colors

Built With

G
Go

Included in

Go169.1k
Auto-fetched 1 hour ago

Related Projects

bubbleteabubbletea

A powerful little TUI framework 🏗

Stars43,735
Forks1,260
Last commit20 hours ago
fxfx

Terminal JSON viewer & processor

Stars20,533
Forks484
Last commit2 months ago
termuitermui

Golang terminal dashboard

Stars13,576
Forks817
Last commit1 year ago
lipglosslipgloss

Style definitions for nice terminal layouts 👄

Stars11,556
Forks375
Last commit20 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub