ubunatic.com

Terminal inspection · ANSI validation · inline interfaces

loom inspect terminal output and build inline terminal tools.

The loom CLI reports terminal capabilities, measures and evaluates ANSI assets, checks box alignment, views and formats terminal artwork, and demonstrates interactive widgets. The Go library supplies reusable widgets and layout primitives to applications that need to stay in the current terminal.

go install ubunatic.com/loom/cmd/loom@latest

Key facts

12-week commit activity

2026-10-26
View 12-week data table
Week startingCommits
2026-08-032
2026-08-100
2026-08-170
2026-08-240
2026-08-310
2026-09-0780
2026-09-14117
2026-09-21314
2026-09-28352
2026-10-05263
2026-10-12134
2026-10-19321

Key Features

  • Inline terminal interface preserving shell history and terminal scrollback.
  • RichTextEdit styled text editor with bar/block cursor shape routing and box drawing.
  • 1,243 test functions with headless PTY canaries and OSC 52 / CSI-u terminal protocol checks.

Verified Engineering Milestones

  • 2026-10-01 module migration to ubunatic.com/loom
  • 2026-10-03 v0.3.0 release and RichTextEdit milestones
  • 2026-10-04 editor navigation and box tools

Stack

Go 1.25, YAML, Cobra, ANSI/OSC/CSI-u terminal protocols, Linux procfs sampling, PTY checks

Check the terminal and its output

info

Report terminal dimensions, environment capabilities, colour depth, mouse support, and Unicode width.

measure

Measure visible row widths in terminal cells, accounting for ANSI control sequences and wide characters.

eval

Evaluate terminal dimensions and row geometry, with optional diagnostic annotations.

Validate and normalize terminal artwork

check-box

Validate Unicode box-border alignment across one or more files.

format

Normalize ANSI row widths, trim trailing whitespace, or align complete box edges; write changes only when requested.

loom measure loom-logo.ansi
loom eval loom-logo.ansi
loom check-box docs/data/ansiedit-design-001.ansi
loom format --trim-trailing artwork.ansi

View terminal artwork in place

The view command interactively displays an ANSI file while preserving the surrounding terminal context.

Try the interactive widgets

frame

Wrap file contents in a Unicode border with configurable style, title, padding, and colour.

widgets

Browse the widget catalog, inspect usage, or run live demos for individual widgets and the gallery.

loom frame README.md --title "loom"
loom widgets --list
loom widgets --show Chart

Reusable inline terminal UI

Applications can use loom directly for selection, editing, layout, and terminal rendering.

go get ubunatic.com/loom

Project details

Stack
Go 1.25, YAML, Cobra, ANSI/OSC/CSI-u terminal protocols, Linux procfs sampling, PTY checks
Milestones
2026-10-01 module migration to ubunatic.com/loom · 2026-10-03 v0.3.0 release and RichTextEdit milestones · 2026-10-04 editor navigation and box tools

Layer composition

Terminal
ANSI, OSC, CSI, terminal, PTY
Desktop
Linux
Inference / AI
—
Containers / VM
—
Web
—

loom: the story behind the project

Loom is a Go library for building terminal interfaces from reusable widgets. It began as shared UI code extracted from the uzu project; its purpose now is to let independent command line tools reuse the same input, layout, rendering and int…

Read the engineering story