QunatCliKit 1.0.2
There is a newer version of this package available.
See the version list below for details.
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
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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package QunatCliKit --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
# 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
- Fork the repository
- Create a branch:
git checkout -b feature/YourFeature
- Implement your feature, add tests and update the README
- 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 | 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.
This package has no dependencies.