ConsoleKit 1.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package ConsoleKit --version 1.0.0
NuGet\Install-Package ConsoleKit -Version 1.0.0
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="ConsoleKit" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ConsoleKit" Version="1.0.0" />
<PackageReference Include="ConsoleKit" />
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 ConsoleKit --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ConsoleKit, 1.0.0"
#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 ConsoleKit@1.0.0
#: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=ConsoleKit&version=1.0.0
#tool nuget:?package=ConsoleKit&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
ConsoleKit
ConsoleKit is a professional, feature-rich console helper library for .NET 8+. Stop writing boilerplate formatting code — ConsoleKit gives you beautiful, themed output in minutes.
✨ Features
| Feature | Description |
|---|---|
| Themes | Built-in Default, Retro, HighContrast — or build your own |
| Status Messages | Ok, Error, Warn, Info, Muted, Highlight |
| Progress Bar | Inline progress with ETA, multiple visual styles |
| Spinner | Animated indeterminate progress (Dots, Circle, Arrows, …) |
| Step Tracker | Multi-step pipeline with live status updates |
| Tables | Fluent builder with box-drawing chars, row numbers, alternating rows |
| Prompts | Ask, AskInt, AskPassword, Confirm, Select, MultiSelect |
| Thread-safe | All output methods are synchronized |
📦 Installation
dotnet add package ConsoleKit
🚀 Quick Start
using ConsoleKit;
CK.Header("My App", "Version 1.0");
CK.Ok("Server started on port 8080");
CK.Warn("Config file not found — using defaults");
CK.Error("Database connection failed");
// Progress bar
using var pb = CK.Progress(100, "Downloading");
for (int i = 0; i <= 100; i++) { pb.Report(i); Thread.Sleep(30); }
pb.Complete("Done!");
// Spinner
using var spin = CK.Spin("Connecting…");
await ConnectAsync();
spin.Complete("Connected!");
// Table
CK.Table("Name", "City", "Score")
.WithTitle("Leaderboard")
.WithRowNumbers()
.AddRow("Alice", "Berlin", "98")
.AddRow("Bob", "Munich", "87")
.Write();
// Prompt
string name = CK.AskRequired("Your name");
bool confirmed = CK.Confirm("Continue?", defaultYes: true);
int choice = CK.Select("Pick a mode", "Fast", "Balanced", "Thorough");
🎨 Themes
using ConsoleKit.Themes;
CK.Theme = ConsoleTheme.Default; // cyan/blue (default)
CK.Theme = ConsoleTheme.Retro; // classic green terminal
CK.Theme = ConsoleTheme.HighContrast; // accessibility
// Custom theme
CK.Theme = new ConsoleTheme
{
Success = ConsoleColor.Green,
Error = ConsoleColor.Red,
ProgressFill = ConsoleColor.Magenta,
// … all colors individually configurable
};
📊 Progress Bar Styles
using ConsoleKit.Progress;
using var pb = CK.Progress(100, "Loading", ProgressBarStyle.Default);
using var pb = CK.Progress(100, "Loading", ProgressBarStyle.Smooth);
using var pb = CK.Progress(100, "Loading", ProgressBarStyle.Block);
using var pb = CK.Progress(100, "Loading", ProgressBarStyle.Slim);
// Custom style
var myStyle = new ProgressBarStyle
{
Fill = '▓', Empty = '░', Left = '|', Right = '|',
Width = 50, ShowPercent = true, ShowEta = true
};
🔄 Spinner Styles
using ConsoleKit.Progress;
using var s = CK.Spin("Working…", SpinnerStyle.Dots);
using var s = CK.Spin("Working…", SpinnerStyle.Circle);
using var s = CK.Spin("Working…", SpinnerStyle.Arrows);
using var s = CK.Spin("Working…", SpinnerStyle.Clock);
📋 Step Tracker
var steps = CK.Steps("Deployment",
"Build", "Test", "Publish", "Notify");
steps.Start(0);
await BuildAsync();
steps.Complete(0, "bin/Release");
steps.Start(1);
steps.Fail(1, "2 tests failed");
steps.Skip(2);
steps.Skip(3, "skipped due to failure");
📝 Prompts
string? name = CK.Ask("Your name", defaultValue: "World");
string email = CK.AskRequired("Email address");
int port = CK.AskInt("Port", min: 1, max: 65535, def: 8080);
string pass = CK.AskPassword("Password");
bool ok = CK.Confirm("Delete files?");
int idx = CK.Select("Environment", "Dev", "Staging", "Prod");
int[] idxs = CK.MultiSelect("Features", "Auth", "Logging", "Caching");
CK.PressAnyKey();
📁 Namespace Structure
ConsoleKit
├── CK ← Main facade (recommended entry point)
├── Core
│ └── ConsoleWriter ← Low-level themed output
├── Themes
│ └── ConsoleTheme ← Theme definitions
├── Progress
│ ├── ProgressBar ← Determinate progress
│ ├── ProgressBarStyle ← Visual style for ProgressBar
│ ├── Spinner ← Indeterminate spinner
│ ├── SpinnerStyle ← Built-in animation sequences
│ └── StepTracker ← Multi-step pipeline display
├── Tables
│ └── ConsoleTable ← Fluent table builder
└── Prompts
└── Prompt ← User input helpers
📜 License
MIT — see LICENSE file.
| 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 was computed. 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 was computed. 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.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.