Community examples and standalone demos for Terminal.Gui — the cross-platform .NET console UI toolkit.
Note: These examples are companion projects to the main Terminal.Gui repository. For the UICatalog demo app and ScenarioRunner, see gui-cs/Terminal.Gui/Examples.
- .NET 10 SDK (or later)
- For F# examples: F# support is included in the .NET SDK
dotnet restore
dotnet buildOr build a specific example:
cd Example
dotnet runTo build the examples against a local clone of Terminal.Gui (instead of the NuGet package), pass the TerminalGuiRoot property pointing to your Terminal.Gui repository root:
dotnet build -p:TerminalGuiRoot=../Terminal.Gui
dotnet run --project Example -p:TerminalGuiRoot=../Terminal.GuiThis replaces the NuGet PackageReference with a ProjectReference, so any breaking changes in Terminal.Gui are caught immediately during development.
| Project | Description |
|---|---|
| Example | Minimal Terminal.Gui app — good starting point |
| CommunityToolkitExample | MVVM with CommunityToolkit.Mvvm |
| ReactiveExample | ReactiveUI integration |
| FluentExample | Fluent API usage |
| FSharpExample | Terminal.Gui from F# |
| InlineCLI | Inline CLI rendering |
| InlineColorPicker | Inline color picker demo |
| InlineSelect | Inline selection demo |
| PromptExample | Prompt/dialog usage |
| SelfContained | AOT/self-contained publishing |
| ShortcutTest | Shortcut/keybinding testing |
| WideCharRepro | Wide character rendering |
| File | Description |
|---|---|
| DatePicker.ps1 | PowerShell DatePicker example |
| PowershellExample.ps1 | PowerShell Terminal.Gui example |
| File | Description |
|---|---|
| Config/example_config.json | Example configuration file |
| Config/macos.json | macOS-specific config |
| Config/windows.json | Windows-specific config |
| Themes/code-dark.config.json | Dark theme configuration |
- Follow Terminal.Gui coding conventions
- Examples reference Terminal.Gui via NuGet by default; use
TerminalGuiRootfor local development - Each example should have its own project directory with a descriptive name
- Include a README.md in each example explaining what it demonstrates