QunatCliKit 1.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global QunatCliKit --version 1.0.2
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local QunatCliKit --version 1.0.2
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=QunatCliKit&version=1.0.2
                    
nuke :add-package QunatCliKit --version 1.0.2
                    
# QunatCliKit

A cross‑platform .NET 8 command‑line tool to manage the `QT_SDK_PATH` environment variable via an interactive wizard and to generate JSON Schemas for your `IMessage` types.

## Features

- **Interactive Wizard**  
  Guides you to set, get or exit the shared‐schema folder path. Uses Spectre.Console for a rich console UI and `ConsolePrompt` for consistent prompts :contentReference[oaicite:6]{index=6}.

- **Serialize Command**  
  Scans a folder of assemblies (DLLs), loads all implementations of `IMessage`, and exports JSON Schemas via `SchemaManager` :contentReference[oaicite:7]{index=7}.

- **Environment & Path Handling**  
  Validates, creates, and overrides the `QT_SDK_PATH` user‑scope environment variable using robust path checks :contentReference[oaicite:8]{index=8}.

- **Simple Command Configuration**  
  Builds a `RootCommand` and parser with `CommandConfigurator`, keeping configuration decoupled from handlers :contentReference[oaicite:9]{index=9}.

- **Smart Console Input**  
  Tokenizes user input to handle quoted arguments and supports `exit`/`q` shortcuts via `ConsolePrompt` :contentReference[oaicite:10]{index=10}.

## Prerequisites

- [.NET 8.0 SDK](https://dotnet.microsoft.com/download)
- (Optional) A NuGet feed containing the `qunatclikit` package

## Installation

### As a Global Tool

```bash
dotnet tool install --global qunatclikit

As a Local Tool

cd path/to/your/project
dotnet new tool-manifest --force
dotnet tool install --local --add-source <YOUR_NUGET_FEED_URL> qunatclikit
dotnet tool restore

Usage

Wizard

Launch the interactive menu to set or display your shared schema folder path:

qunatclikit wizard

Options in the menu:

  • 📁 Set shared schema folder path
  • 📂 Get shared schema folder path
  • 🚪 Exit

Serialize

Generate JSON Schemas for all IMessage types found in a directory of DLLs:

qunatclikit serialize --assemblies "/path/to/your/assemblies"

Build from Source

git clone https://github.com/yourorg/QunatCliKit.git
cd QunatCliKit
dotnet build -c Release
dotnet pack -c Release -o nupkg

To test locally:

dotnet tool install --global --add-source ./nupkg qunatclikit

Contributing

  1. Fork the repository
  2. Create a branch: git checkout -b feature/YourFeature
  3. Implement your feature, add tests and update the README
  4. Submit a Pull Request against main

Please follow the existing code style and include unit tests where applicable.

License

This project is licensed under the MIT License. See the LICENSE file for details.```

Product 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.

This package has no dependencies.

Version Downloads Last Updated
1.0.5 87 7/19/2025
1.0.4 117 7/18/2025
1.0.3 144 7/17/2025
1.0.2 141 7/17/2025
1.0.1 135 7/17/2025
1.0.0 116 7/13/2025