Terminal.Gui.Cli
0.1.0-develop.4
See the version list below for details.
dotnet add package Terminal.Gui.Cli --version 0.1.0-develop.4
NuGet\Install-Package Terminal.Gui.Cli -Version 0.1.0-develop.4
<PackageReference Include="Terminal.Gui.Cli" Version="0.1.0-develop.4" />
<PackageVersion Include="Terminal.Gui.Cli" Version="0.1.0-develop.4" />
<PackageReference Include="Terminal.Gui.Cli" />
paket add Terminal.Gui.Cli --version 0.1.0-develop.4
#r "nuget: Terminal.Gui.Cli, 0.1.0-develop.4"
#:package Terminal.Gui.Cli@0.1.0-develop.4
#addin nuget:?package=Terminal.Gui.Cli&version=0.1.0-develop.4&prerelease
#tool nuget:?package=Terminal.Gui.Cli&version=0.1.0-develop.4&prerelease
Terminal.Gui.Cli
A .NET library that lets Terminal.Gui applications expose Views as scriptable CLI commands with typed JSON output, POSIX exit codes, and AI-agent discoverability.
Ships as a single NuGet package: Terminal.Gui.Cli.
What it does
Terminal.Gui.Cli provides a hosting layer (CliHost) that wires up:
- CLI parsing — positional command dispatch, typed options,
--initialpre-fill for input commands. - Structured output —
--jsonemits a versionedJsonEnvelope;--catrenders viewer content headlessly. - AI-agent discoverability —
--opencliemits machine-readable metadata;--agent-guideserves embedded Markdown guidance. - Built-in help —
--helprenders command/option metadata via pluggableIHelpProvider. - Exit codes — deterministic POSIX exit codes from
CommandResultstatus.
Command model
| Kind | Interface | Description |
|---|---|---|
| Input | ICliCommand<T> |
Launches a Terminal.Gui UI, returns a typed result. |
| Viewer | IViewerCommand |
Displays content; supports --cat for headless rendering. |
Commands register explicitly (no reflection scanning) and resolve by case-insensitive alias.
Quickstart
using Terminal.Gui.Cli;
CliHost host = new (options =>
{
options.ApplicationName = "my-app";
options.Version = "1.0.0";
});
host.Registry.Register (new MyCommand ());
return await host.RunAsync (args);
# Interactive (launches Terminal.Gui)
my-app greet --initial "World"
# JSON envelope
my-app greet --initial "World" --json
# Agent discovery
my-app --opencli
my-app agent-guide
# Headless viewer
my-app info --cat
Framework options
All commands inherit these options from the host:
| Option | Description |
|---|---|
--help / -h |
Show help |
--version |
Show version |
--opencli |
Emit OpenCLI metadata JSON |
--json |
Wrap output in JSON envelope |
--initial <value> |
Pre-fill input value |
--timeout <duration> |
Cancel after duration (e.g., 30s, 5m) |
--output <path> / -o |
Write output to file |
--cat |
Headless render (viewer commands only) |
Repository layout
specs/ Constitution and library spec
src/ Terminal.Gui.Cli library
tests/ Unit, integration, and smoke tests
examples/ Example console app
scripts/ Tooling and recording scripts
docs/ Images and documentation assets
Build
Requires .NET 10 SDK. Solution file: Terminal.Gui.Cli.slnx.
dotnet restore Terminal.Gui.Cli.slnx
dotnet build Terminal.Gui.Cli.slnx
# Tests
dotnet run --project tests/Terminal.Gui.Cli.Tests
dotnet run --project tests/Terminal.Gui.Cli.IntegrationTests
dotnet run --project tests/Terminal.Gui.Cli.SmokeTests
# Example app
dotnet run --project examples/Terminal.Gui.Cli.ExampleApp -- greet --initial "World" --json
Status
Alpha — 0.1.0-develop pre-release stream on the develop branch.
License
MIT; see LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Terminal.Gui (>= 2.4.1-develop.11)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-develop.7 | 36 | 5/28/2026 |
| 0.1.0-develop.6 | 42 | 5/27/2026 |
| 0.1.0-develop.5 | 259 | 5/26/2026 |
| 0.1.0-develop.4 | 37 | 5/26/2026 |
| 0.1.0-develop.3 | 36 | 5/26/2026 |
| 0.1.0-develop.2 | 68 | 5/24/2026 |
| 0.1.0-develop.1 | 50 | 5/24/2026 |