-
Notifications
You must be signed in to change notification settings - Fork 19
Description
Description:
The current CLI (mcli) started as a collection of platform-specific scripts for debugging and development, but it lacks consistency and scalability. The goal of this task is to lay the groundwork for refactoring the CLI into a more robust, unified solution using a dedicated CLI framework such as .NET Spectre. This will improve code maintainability, enhance the user experience, and make the CLI more consistent across different platforms.
Implementation Plan:
-
Adopt .NET Spectre CLI Framework:
Transition the current CLI into the .NET Spectre framework to provide a structured and clean API for building the CLI, making it easier to maintain and extend. -
Process Runner:
Implement a process runner to manage and execute external processes (e.g., running commands or scripts), ensuring proper handling of cross-platform execution and error reporting. This will provide a consistent way of invoking processes from the CLI. -
Multiplatform Validations:
Ensure that the refactored CLI validates platform compatibility, making sure it works seamlessly across Windows, Linux, and macOS. This includes checking for platform-specific dependencies or behaviors and handling them accordingly. -
Preparation for Future Features:
Set up the foundation for easier addition of features like command arguments, output formatting, and interactive prompts. This will allow for quick extensions of the CLI in the future.
Expected Outcome:
- A more maintainable and scalable CLI system based on the Spectre framework.
- Cross-platform compatibility, ensuring the CLI works consistently across multiple operating systems.
- A solid foundation to easily extend the CLI in the future with new commands and features.
- More items under the same milestone to continue work on new CLI version
TL;DR
start, create base project for Spectre, prepare ground for commands handling, create new tasks/feature to begin migrating commands