unum

module
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2026 License: MIT

README

unum

unum — omnia in uno.

A unified developer tool suite, built in Go.

CI Quality Gate Status codecov Go 1.26 MIT License


Tools

Command Description
unum json JSON viewer, validator, and analyzer — three output modes, six analysis lenses
unum diff Diff visualizer — text, JSON, YAML, and Terraform plans; static, TUI, and web output
unum hash Deterministic deriver — maps any string to a stable port, UUID, color, short ID, emoji, and passphrase

Full documentation → Wiki


Install

Homebrew
brew install danielriddell21/unum/unum
Go install
go install github.com/danielriddell21/unum/cmd/unum@latest
From source
git clone https://github.com/danielriddell21/unum
cd unum
just install

Acknowledgements

  • The initial architecture and design of this project was conceived with the assistance of Claude (Anthropic), which was also used throughout development for identifying and fixing bugs.
  • The TUI layout and interaction model was inspired by lazygit and lazydocker by Jesse Duffield.

Directories

Path Synopsis
cmd
unum command
internal
cli
Package cli wires together the root Cobra command and all subcommands.
Package cli wires together the root Cobra command and all subcommands.
config
Package config handles loading user configuration from disk.
Package config handles loading user configuration from disk.
diff
Package difftool implements the `unum diff` subcommand.
Package difftool implements the `unum diff` subcommand.
diff/format
Package format detects the file format for diff operations.
Package format detects the file format for diff operations.
diff/node
Package node defines the core data types for diff results.
Package node defines the core data types for diff results.
diff/parse
Package parse implements diff parsers for each supported format.
Package parse implements diff parsers for each supported format.
diff/render/static
Package static renders diffs to a terminal writer with ANSI colouring.
Package static renders diffs to a terminal writer with ANSI colouring.
diff/render/tui/panels
Package panels contains Bubble Tea sub-models for the diff TUI.
Package panels contains Bubble Tea sub-models for the diff TUI.
diff/render/web
Package web provides the HTTP server for the unum diff web UI.
Package web provides the HTTP server for the unum diff web UI.
hash
Package hash implements the `unum hash` subcommand — a deterministic deriver that maps any string to a stable set of useful values.
Package hash implements the `unum hash` subcommand — a deterministic deriver that maps any string to a stable set of useful values.
hash/derive
Package derive implements the unum hash subcommand — a deterministic deriver that maps any string to a stable set of useful values via SHA256.
Package derive implements the unum hash subcommand — a deterministic deriver that maps any string to a stable set of useful values via SHA256.
hash/render/static
Package static renders hash derivation results to a terminal writer.
Package static renders hash derivation results to a terminal writer.
hash/render/tui
Package tui provides a Bubble Tea TUI for the hash derivation tool.
Package tui provides a Bubble Tea TUI for the hash derivation tool.
hash/render/tui/panels
Package panels contains TUI panel components for the hash tool.
Package panels contains TUI panel components for the hash tool.
hash/render/web
Package web provides the HTTP server for the unum hash web UI.
Package web provides the HTTP server for the unum hash web UI.
hash/types
Package types defines the shared data types for the hash tool.
Package types defines the shared data types for the hash tool.
json
Package jsontool implements the `unum json` subcommand.
Package jsontool implements the `unum json` subcommand.
json/lens/query
Package query executes jq expressions against a node tree using gojq.
Package query executes jq expressions against a node tree using gojq.
json/lens/typegen
Package typegen generates Go structs, TypeScript interfaces, and JSON Schema from an inferred TypeInfo derived from the parsed node tree.
Package typegen generates Go structs, TypeScript interfaces, and JSON Schema from an inferred TypeInfo derived from the parsed node tree.
json/render/static
Package static renders JSON node trees to the terminal with syntax highlighting and optional annotation overlays (stats, merkle hashes).
Package static renders JSON node trees to the terminal with syntax highlighting and optional annotation overlays (stats, merkle hashes).
json/render/tui
Package tui provides the Bubble Tea interactive TUI for JSON navigation.
Package tui provides the Bubble Tea interactive TUI for JSON navigation.
json/render/tui/panels
Package panels contains JSON TUI panel components.
Package panels contains JSON TUI panel components.
json/render/web
Package web provides the HTTP server for the unum JSON web UI.
Package web provides the HTTP server for the unum JSON web UI.
json/typeinfo
Package typeinfo provides shared type inference from a Node tree.
Package typeinfo provides shared type inference from a Node tree.
telemetry
Package telemetry provides opt-out anonymous usage telemetry for unum.
Package telemetry provides opt-out anonymous usage telemetry for unum.
theme
Package theme holds the colour palette shared by all render modes (TUI, static, web).
Package theme holds the colour palette shared by all render modes (TUI, static, web).
web/shared
Package shared provides static assets shared across all unum web UIs.
Package shared provides static assets shared across all unum web UIs.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL