SunamoCl 26.4.6.7
dotnet add package SunamoCl --version 26.4.6.7
NuGet\Install-Package SunamoCl -Version 26.4.6.7
<PackageReference Include="SunamoCl" Version="26.4.6.7" />
<PackageVersion Include="SunamoCl" Version="26.4.6.7" />
<PackageReference Include="SunamoCl" />
paket add SunamoCl --version 26.4.6.7
#r "nuget: SunamoCl, 26.4.6.7"
#:package SunamoCl@26.4.6.7
#addin nuget:?package=SunamoCl&version=26.4.6.7
#tool nuget:?package=SunamoCl&version=26.4.6.7
SunamoCl
Console UI utility library for .NET command-line applications. Provides colored output, progress bars, user input prompts, action selection menus, countdown timers, table formatting, and application bootstrapping with dependency injection.
Features
- Colored console output — write messages with color-coded severity (Error, Warning, Success, Information, Appeal)
- User input — type-safe prompts with validation, multi-line input, yes/no dialogs, number input
- Action menus — group and select actions from dictionaries, with async support
- Progress bars — single and parent/child progress bars via ShellProgressBar
- Table formatting — render data as formatted ASCII tables
- Countdown timer — visual countdown with appeal messages
- Console flashing — flash the console window title bar (Windows P/Invoke)
- Clipboard integration — load input from clipboard via TextCopy
- Application bootstrapping —
CmdBootStrap.RunWithRunArgsfor DI, logging, unhandled exceptions, and action routing - Console log mirroring — tee all console output to a file for AI/automation tools to read
- Verbose logging mode — opt-in detailed logging of all application steps
- Command-line argument parsing — via CommandLineParser with typed options and mode resolution
Installation
dotnet add package SunamoCl
Target Frameworks
net10.0, net9.0, net8.0
Uses C# 12.0 features (collection expressions, primary constructors) requiring .NET 8.0+.
Quick Start
using SunamoCl;
using SunamoCl.SunamoCmd;
using SunamoCl.SunamoCmd.Args;
await CmdBootStrap.RunWithRunArgs(new RunArgs
{
Args = args,
IsDebug = false,
AddGroupOfActions = () => new Dictionary<string, Func<Task<Dictionary<string, object>>>>
{
{ "MyGroup", MyGroupActions }
},
IsVerboseConsoleLogging = true,
ConsoleLogFilePath = "console.log"
});
Key Classes
| Class | Description |
|---|---|
CL |
Static console operations — write, read, color, select, input prompts |
CmdBootStrap |
Application bootstrapping — RunWithRunArgs, DI, logging setup |
CmdApp |
Core app utilities — wait for file, unhandled exceptions |
CLActions |
Merge and execute sync/async action dictionaries |
CLAllActions |
Group-based action registration and execution |
CLProgressBar |
Single progress bar wrapper around ShellProgressBar |
CLProgressBarWithChilds |
Parent/child progress bars for parallel operations |
CmdTable |
Formatted ASCII table output |
TableParser |
Convert collections to formatted string tables |
ClFlasher |
Flash console window title bar (Windows) |
ClNotify |
Infinite loop runner and flash notifications |
TeeTextWriter |
Mirror console output to a log file |
ConsoleLogger |
Static console logger with internationalization |
ConsoleLoggerCmd |
Logger derived from LoggerBaseCl for DI integration |
Links
Request for new features / bug report: Mail or on GitHub
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- CommandLineParser (>= 2.9.1)
- Microsoft.Extensions.Configuration.Json (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Logging (>= 10.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Logging.Console (>= 10.0.2)
- ShellProgressBar (>= 5.2.0)
- TextCopy (>= 6.2.1)
-
net8.0
- CommandLineParser (>= 2.9.1)
- Microsoft.Extensions.Configuration.Json (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Logging (>= 10.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Logging.Console (>= 10.0.2)
- ShellProgressBar (>= 5.2.0)
- TextCopy (>= 6.2.1)
-
net9.0
- CommandLineParser (>= 2.9.1)
- Microsoft.Extensions.Configuration.Json (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Logging (>= 10.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Logging.Console (>= 10.0.2)
- ShellProgressBar (>= 5.2.0)
- TextCopy (>= 6.2.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on SunamoCl:
| Package | Downloads |
|---|---|
|
SunamoLogging
Support for several logging system based on their output |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 26.4.6.7 | 161 | 4/6/2026 |
| 26.4.6.6 | 95 | 4/6/2026 |
| 26.4.6.5 | 99 | 4/6/2026 |
| 26.4.6.4 | 97 | 4/6/2026 |
| 26.2.15.3 | 129 | 2/15/2026 |
| 26.2.7.2 | 126 | 2/7/2026 |
| 26.2.4.1 | 124 | 2/4/2026 |
| 26.1.3.1 | 145 | 1/3/2026 |
| 26.1.2.1 | 127 | 1/2/2026 |
| 26.1.1.1 | 128 | 1/1/2026 |
| 25.12.31.2 | 132 | 12/31/2025 |
| 25.12.31.1 | 128 | 12/31/2025 |
| 25.12.27.1 | 122 | 12/27/2025 |
| 25.12.21.1 | 185 | 12/21/2025 |
| 25.12.19.1 | 221 | 12/19/2025 |
| 25.10.21.1 | 233 | 10/21/2025 |
| 25.6.13.1 | 312 | 6/13/2025 |
| 25.6.9.1 | 313 | 6/9/2025 |
| 25.6.7.1 | 207 | 6/7/2025 |
| 25.6.5.4 | 228 | 6/5/2025 |
feat: Improved code quality