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
                    
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="BoxaraXLibrary.GenenicLib.LTS" Version="1.0.7.8" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BoxaraXLibrary.GenenicLib.LTS" Version="1.0.7.8" />
                    
Directory.Packages.props
<PackageReference Include="BoxaraXLibrary.GenenicLib.LTS" />
                    
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 BoxaraXLibrary.GenenicLib.LTS --version 1.0.7.8
                    
#r "nuget: BoxaraXLibrary.GenenicLib.LTS, 1.0.7.8"
                    
#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 BoxaraXLibrary.GenenicLib.LTS@1.0.7.8
                    
#: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=BoxaraXLibrary.GenenicLib.LTS&version=1.0.7.8
                    
Install as a Cake Addin
#tool nuget:?package=BoxaraXLibrary.GenenicLib.LTS&version=1.0.7.8
                    
Install as a Cake Tool

📦 BoxaraXLibrary.GenenicLib.LTS

NuGet NuGet Downloads GitHub Repo .NET Version License Platform

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

→ 👉 Read devopsdoc.md NOW →


✨ 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 LogManager that 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) and LogConsole (v1.0.7.3) are now internal framework components to ensure stability.
  • Refined Loop: Transitioned from Console.ReadLine to a more responsive Console.ReadKey polling mechanism in v1.0.6.
  • Parameter Model: In v1.0.7.8, ICommand.Parameter supports 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 (WithInputProvider v1.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:true and the framework validates them before execution. This keeps ICommand compatible 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() and LogManager.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.

View full license

Copyright (c) 2026 JuliHyro Studios Workspace

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