Terminal.Gui.Cli 0.1.0-develop.7

This is a prerelease version of Terminal.Gui.Cli.
dotnet add package Terminal.Gui.Cli --version 0.1.0-develop.7
                    
NuGet\Install-Package Terminal.Gui.Cli -Version 0.1.0-develop.7
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Terminal.Gui.Cli" Version="0.1.0-develop.7" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Terminal.Gui.Cli" Version="0.1.0-develop.7" />
                    
Directory.Packages.props
<PackageReference Include="Terminal.Gui.Cli" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Terminal.Gui.Cli --version 0.1.0-develop.7
                    
#r "nuget: Terminal.Gui.Cli, 0.1.0-develop.7"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Terminal.Gui.Cli@0.1.0-develop.7
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Terminal.Gui.Cli&version=0.1.0-develop.7&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Terminal.Gui.Cli&version=0.1.0-develop.7&prerelease
                    
Install as a Cake Tool

Terminal.Gui.Cli

NuGet License: MIT

A .NET library that turns Terminal.Gui apps into scriptable CLI tools — with typed JSON output, POSIX exit codes, and built-in AI-agent discoverability.

Terminal.Gui.Cli in action

Why

Terminal.Gui gives you rich TUI applications. Terminal.Gui.Cli lets those same apps participate in scripts, pipelines, and agentic workflows — no separate CLI layer needed.

One NuGet package. One CliHost. All your views become commands.

Features

Capability How
CLI parsing Positional command dispatch, typed options, --initial pre-fill
Structured output --json emits a versioned JsonEnvelope
Headless rendering --cat renders viewer content without a TUI
AI discoverability --opencli metadata + agent-guide embedded Markdown
Built-in help --help via pluggable IHelpProvider
Exit codes Deterministic POSIX codes from CommandResult

Quickstart

dotnet add package Terminal.Gui.Cli
using Terminal.Gui.Cli;

CliHost host = new (options =>
{
    options.ApplicationName = "my-app";
    options.Version = "1.0.0";
});

host.Registry.Register (new GreetCommand ());

return await host.RunAsync (args);

Then run it:

my-app greet --initial "World"          # interactive TUI
my-app greet --initial "World" --json   # → {"schemaVersion":1,"status":"ok","value":"Hello, World!"}
my-app info --cat                       # headless viewer output
my-app --opencli                        # machine-readable command metadata
my-app agent-guide                      # embedded agent guidance (Markdown)

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.

Global options

Every command inherits these 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 (non-interactive mode)
--timeout <duration> Cancel after duration (e.g., 30s, 5m)
--output <path> / -o Write output to file
--cat Headless render (viewer commands only)

Repository layout

src/          Terminal.Gui.Cli library
tests/        Unit, integration, and smoke tests
examples/     Example console app (see hero GIF above)
specs/        Constitution and library specification
scripts/      Tooling and recording scripts
docs/         Images and documentation assets

Building from source

Requires .NET 10 SDK. Solution: Terminal.Gui.Cli.slnx.

dotnet restore Terminal.Gui.Cli.slnx
dotnet build   Terminal.Gui.Cli.slnx

# Run all test tiers
dotnet run --project tests/Terminal.Gui.Cli.Tests
dotnet run --project tests/Terminal.Gui.Cli.IntegrationTests
dotnet run --project tests/Terminal.Gui.Cli.SmokeTests

# Try the example app
dotnet run --project examples/Terminal.Gui.Cli.ExampleApp -- greet --initial "World" --json

Status

Alpha0.1.0-develop pre-release. API surface is stabilizing; breaking changes possible.

Contributing

See specs/constitution.md for architectural rules and PR requirements.

License

MIT — see LICENSE.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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 233 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