Ubunatic Coding

Terminal & TUI Stack

settings Edit tool settings from one specification

YAML tool definitions drive matching command-line operations and an inline editor, starting with foot on Linux.

Why settings

Changing one font setting exposes formats, keys, defaults, and user-specific files. settings describes tool knowledge in YAML so the same definitions generate command line operations and an inline editor.

What it does

One spec, two interfaces

Embedded YAML settings definitions drive both Cobra CLI commands and the loom terminal editor. User overrides extend the definitions.

Careful INI updates

Edits preserve comments, spacing, and key order. Atomic saves and backups protect the existing configuration.

A guided settings wizard

settings new discovers a file and key, proposes a number, text, or choice setting, previews YAML, and writes a validated override.

Recent milestones

Historical milestones from the review through October 4, 2026.

How the work was verified

A capability probe found loom lacked numeric input and became upstream issue 164. The wizard later exposed shared-key conflicts; its preview warns about them and refuses saves when both conflicting settings changed. Widget-model tests use deterministic key events, while config-path tests use temporary home directories.

The October 4 review records 48 commits across September 29–October 1 and 36 test functions. Those figures describe a compact, ticket-led implementation and its pace.

Read the full October 4 story and its facts table.

Current scope and limits

The embedded tool is foot on Linux. This is a focused editor rather than a cross-platform settings catalogue. Issue 010 tracks independently editing composed font family and size values while preserving the rest of the setting.

Extend the settings catalogue

settings new

Build and installation instructions are maintained in the source repository.

At a glance

Stack
Go 1.25.0, Cobra, YAML specs, Loom inline TUI, INI files
Milestones
Comment-preserving INI editor with atomic saves (#004, 74fc973) · Foot CLI, inline editor and user overrides (#005, #006, #007, 010c444, b86ba1d) · Settings-new wizard with text and choice types (#008, #009, 1892a50, eb139ef)
Commits
48