BoxaraXLibrary.GenenicLib.LTS
1.0.7.8
dotnet add package BoxaraXLibrary.GenenicLib.LTS --version 1.0.7.8
NuGet\Install-Package BoxaraXLibrary.GenenicLib.LTS -Version 1.0.7.8
<PackageReference Include="BoxaraXLibrary.GenenicLib.LTS" Version="1.0.7.8" />
<PackageVersion Include="BoxaraXLibrary.GenenicLib.LTS" Version="1.0.7.8" />
<PackageReference Include="BoxaraXLibrary.GenenicLib.LTS" />
paket add BoxaraXLibrary.GenenicLib.LTS --version 1.0.7.8
#r "nuget: BoxaraXLibrary.GenenicLib.LTS, 1.0.7.8"
#:package BoxaraXLibrary.GenenicLib.LTS@1.0.7.8
#addin nuget:?package=BoxaraXLibrary.GenenicLib.LTS&version=1.0.7.8
#tool nuget:?package=BoxaraXLibrary.GenenicLib.LTS&version=1.0.7.8
📦 BoxaraXLibrary.GenenicLib.LTS
Generic Library LTS — Core framework for building shell-based CLI applications with command handling, rich console UI, and fluent API. Designed for DevOps & Engineers.
📖 Overview
BoxaraXLibrary.GenenicLib.LTS is a lightweight, high-performance framework designed for building shell-based CLI applications in .NET. It provides a complete infrastructure for command registration, shell lifecycle management, and interactive console experiences.
⚠️ 📚 IMPORTANT — READ FULL DOCUMENTATION
This README shows BASICS ONLY!
✅ README.md = Quick Start + Simple Examples 📖 devopsdoc.md = COMPLETE DOCUMENTATION (1600+ lines)
devopsdoc.md includes:
- 🎯 Advanced patterns & best practices
- 🛡️ Error handling & validation
- 🧩 Extensibility & customization
- 📊 Performance optimization
- 🔄 Threading & thread safety
- 📝 Real-world examples
- ❓ FAQ & troubleshooting
✨ Key Features
🚀 Current Capabilities (Latest)
- ⚙️ Advanced Shell Engine — Build interactive shells with a clean Fluent API, reflection-based command discovery, and a high-performance Key-based input loop (since v1.0.6).
- 🛠️ Smart Command Handling — Features an intelligent Duplicate Command Selection system (v1.0.7.2) to resolve overlapping aliases and support for External Command Loading at runtime.
- 🌈 Rich Console UI/UX — Extensive visual customization with 16+ professional header styles, 10+ prompt styles, a structured Table Formatter, and interactive Question/Confirmation prompts.
- 📝 Enterprise Logging — Thread-safe, real-time logging via
LogManagerthat synchronizes output with the active prompt without interrupting user input. - 📦 Modern Infrastructure — Zero external dependencies, full cross-platform support (.NET 7/8/9/10), and a strictly thread-safe architecture.
📜 Evolution & Deprecations
- Authentication: The legacy Auth system (
IAuthenticator) was removed in v1.0.7.3 to simplify the core. - Internalized APIs:
ErrorShellTemplate(v1.0.7.1) andLogConsole(v1.0.7.3) are now internal framework components to ensure stability. - Refined Loop: Transitioned from
Console.ReadLineto a more responsiveConsole.ReadKeypolling mechanism in v1.0.6. - Parameter Model: In v1.0.7.8,
ICommand.Parametersupports template-based validation such as--name:{0} | require:true. Older plain parameter lists are retained only as historical context for migration and compatibility review. - Lean-up: Removed redundant helpers like
CallDll(v1.0.7.5),ConvertSymbolUniverse(v1.0.7.7), and obsolete input providers (WithInputProviderv1.0.7.7) to keep the library lightweight.
📦 Use Cases
- CLI Tools — Build powerful command-line utilities
- DevOps Tools — Interactive automation shells
- Game Consoles — Admin panels or debug consoles
- Custom Admin Panels — Domain-specific shells with tailored UI
- Educational Shells — Learn command design patterns
🔧 Core Dependencies
- .NET 7.0+ (with .NET 8, 9, 10 support)
- System.Reflection — Command discovery
- System.Text.Json — Configuration serialization
📦 Installation
Via NuGet Package
dotnet add package BoxaraXLibrary.GenenicLib.LTS
Developer note: Cloning the repository, building from source, packing the NuGet package, and running the internal verification project are maintainer workflows. See the complete developer documentation for those instructions.
🚀 Quick Start
1. Create a Shell
using BoxaraXLibrary.GenenicLib.LTS.Commons.Interface;
using BoxaraXLibrary.GenenicLib.LTS.Commons.ShellHandle;
public sealed class MyShell : IShell
{
public string ShellName => "MyShell";
public string DisplayName => "My custom shell";
public string Description => "My custom shell";
public string Category => "Demo";
public string ShellVersion => "1.0.0";
public void Execute()
{
ShelliftAPIBuild.Create()
.SelectCommandShellLoad(ShellName)
.SelectShellHeaderTemplate(HeaderStyle.Modern, "Welcome!\n")
.SelectShellPrompt(PromptStyle.FullInfo, "MyShell")
.WithAppName("MyApp")
.WithAppVersion("1.0.0")
.Build();
}
}
2. Implement a Command
using BoxaraXLibrary.GenenicLib.LTS.Commons.Interface;
public class HelloCommand : ICommand
{
public string Name => "hello";
public string DisplayName => "Say Hello";
public string[] Aliases => new[] { "hi" };
public string Category => "Demo";
public string Shell => "MyShell";
public string Description => "Prints a greeting";
public string CommandVersion => "1.0.0";
public string[] Parameter => Array.Empty<string>();
public void Execute()
{
Console.WriteLine("Hello, World!");
}
public void ParameterExecute(string[] args) { }
}
Current pattern (v1.0.7.8): you can now define parameter templates such as
--name:{0} | require:trueand the framework validates them before execution. This keepsICommandcompatible while allowing values with spaces.
3. Register and Run
ShellRegistry.Initialize();
ShelliftAPIBuild.OpenShellWithResult("MyShell");
UI Customization
Built-in Styles
The framework includes 16+ header styles and 10+ prompt styles for rich console experiences.
// Use built-in styles
ShelliftAPIBuild.Create()
.SelectShellHeaderTemplate(HeaderStyle.Modern, "Welcome!")
.SelectShellPrompt(PromptStyle.FullInfo, "MyShell")
.Build();
// Or use custom header/prompt
ShelliftAPIBuild.Create()
.SelectCustomHeader(() => Console.WriteLine("=== Custom Header ==="))
.SelectCustomPrompt(() => $"[{DateTime.Now:HH:mm:ss}] > ", ConsoleColor.Cyan)
.Build();
📝 Logging
LogManager (Real-Time)
// Clear the screen safely
LogManager.Clear();
// Log while shell is running (non-blocking)
Task.Run(async () =>
{
int count = 0;
while (true)
{
await Task.Delay(5000);
count++;
LogManager.Log($"Background message {count}");
}
});
ShelliftAPIBuild.Create()
.SelectCommandShellLoad("MyShell")
.SelectShellHeaderTemplate(HeaderStyle.Modern, "Welcome!\n")
.SelectShellPrompt(PromptStyle.FullInfo, "MyShell")
.Build();
⚠️ Important: Use
LogManager.Log()andLogManager.Clear()instead of direct console methods while the shell is running to avoid interfering with user input.
🔗 Continue Reading
This README covers the basics to get you started. For comprehensive documentation, advanced patterns, and detailed API reference, see:
📚 devopsdoc.md — Complete Developer Guide
- Core Concepts — Detailed interface documentation
- Shell Engine — ShelliftAPIBuild, ShellRegistry, events
- Command System — Command discovery, external loading, processors
- Error Handling — ErrorShellTemplate with examples
- Logging System — LogManager deep dive
- UI Components — All header/prompt styles, custom templates
- Fluent API — Complete builder reference
- Shell Events & Hooks — Event subscription patterns
- Performance — Optimization tips
- Thread Safety — Thread-safety guarantees
- Extensibility — How to extend the framework
- Advanced Examples — Complex real-world scenarios
- Best Practices — Community recommendations
- FAQ — Answers to common questions
🔗 Additional Resources
| Resource | Purpose |
|---|---|
| GitHub Repository | Source code & Issues |
| NuGet Package | Package management |
| devopsdoc.md | Full API reference & patterns |
| AuthorInfo.md | Author & contribution info |
⚖️ License
This project is licensed under Apache License 2.0.
Copyright (c) 2026 JuliHyro Studios Workspace
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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
- No dependencies.
-
net7.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.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.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.7.8 | 95 | 9/13/2026 |
| 1.0.7.7 | 102 | 9/11/2026 |
| 1.0.7.6 | 109 | 9/10/2026 |
| 1.0.7.5 | 97 | 9/10/2026 |
| 1.0.7.4 | 97 | 9/10/2026 |
| 1.0.7.3 | 111 | 9/6/2026 |
| 1.0.7.2 | 102 | 9/6/2026 |
| 1.0.7.1 | 98 | 9/5/2026 |
| 1.0.7 | 105 | 9/4/2026 |
| 1.0.6 | 170 | 8/26/2026 |
| 1.0.5 | 159 | 8/25/2026 |
| 1.0.4 | 156 | 8/24/2026 |
| 1.0.3 | 159 | 8/24/2026 |
| 1.0.2 | 167 | 8/23/2026 |
| 1.0.1 | 187 | 8/16/2026 |
| 1.0.0 | 169 | 8/16/2026 |