forge

module
v0.19.0 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2026 License: MIT

README

forge

Shared foundation for the github.com/adaouat/* CLIs — bifrost (atomic deployment) and heraut (release management). Forge holds the common CLI runtime packages and the canonical scaffolding those apps share. Zero domain logic lives here.

Directories

Path Synopsis
Package cli wraps the family's CLI framework (fang) so tools run through forge — the fang version, the theme, and signal handling live here, not in each tool.
Package cli wraps the family's CLI framework (fang) so tools run through forge — the fang version, the theme, and signal handling live here, not in each tool.
Package config provides shared configuration primitives for the adaouat CLIs: a strict YAML loader, app-name-parameterized path resolution, and structured validation errors.
Package config provides shared configuration primitives for the adaouat CLIs: a strict YAML loader, app-name-parameterized path resolution, and structured validation errors.
Package exec runs external CLI commands behind a small interface so callers can swap a recording mock in tests.
Package exec runs external CLI commands behind a small interface so callers can swap a recording mock in tests.
exectest
Package exectest provides test doubles for the exec package: a recording MockRunner and a FakeBin helper for tests that need the real exec path.
Package exectest provides test doubles for the exec package: a recording MockRunner and a FakeBin helper for tests that need the real exec path.
Package exitcode maps errors to process exit codes.
Package exitcode maps errors to process exit codes.
Package log provides the family's logging foundation: a log/slog logger rendered through charm.land/log/v2, the same interface/implementation split as cli.Run/fang.
Package log provides the family's logging foundation: a log/slog logger rendered through charm.land/log/v2, the same interface/implementation split as cli.Run/fang.
Package ui provides shared terminal output helpers for the adaouat CLIs: color/TTY detection, status lines, and version/help banner renderers.
Package ui provides shared terminal output helpers for the adaouat CLIs: color/TTY detection, status lines, and version/help banner renderers.
Package updatecheck reports whether a newer GitHub release of a CLI exists and how to upgrade it via the package manager that installed it.
Package updatecheck reports whether a newer GitHub release of a CLI exists and how to upgrade it via the package manager that installed it.

Jump to

Keyboard shortcuts

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