Merged
Conversation
…adding existing project
…failed and used it in futur update
There was a problem hiding this comment.
Pull Request Overview
This pull request introduces a comprehensive plugin system to the NYX CLI tool, enabling users to manage project initialization through customizable plugins instead of hardcoded tech-specific logic.
Key changes:
- Added a new plugin system with TOML-based configuration files and commands for plugin management
- Refactored project creation flow to delegate initialization to plugins rather than hardcoded per-tech implementations
- Updated configuration structure to support plugin management and added corresponding CLI commands
Reviewed Changes
Copilot reviewed 12 out of 14 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/utils/mod.rs | Modified to load tech options from plugin config instead of hardcoded list |
| src/projects/mod.rs | Refactored project creation to use plugin-based initialization, removed hardcoded tech implementations |
| src/projects/list/mod.rs | Updated to pass path parameters for plugin-based project creation |
| src/plugins/parser.rs | Added plugin file parsing functionality using TOML |
| src/plugins/mod.rs | Implemented core plugin system with health checking and command execution |
| src/nxfs/config.rs | Added ConfigPlugins structure to support plugin configuration |
| src/main.rs | Added plugins command and updated version to 2.12.0 |
| src/init/mod.rs | Added initialization module to wrap NYX data creation |
| plugins/README.md | Added documentation for plugin usage and configuration |
| Cargo.toml | Updated version from 2.11.0 to 2.12.0 |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new plugin system to the NYX CLI tool, enabling users to manage project initialization through customizable plugins. The changes refactor the project creation flow to use plugins instead of hardcoded logic for each tech stack, add configuration support for plugins, and provide commands for plugin management. Additionally, there are minor version updates and codebase cleanups.
Plugin System Integration:
src/plugins/mod.rsandsrc/plugins/parser.rs, allowing users to define project initialization logic in TOML plugin files and manage plugins via CLI commands. Theplugins_commandfunction supports health checks and plugin parsing, andrun_init_commandexecutes plugin-defined init commands. [1] [2]ConfigPluginsinsrc/nxfs/config.rs) and config file format to support a list of enabled plugins. [1] [2] [3]Project Creation Flow Refactor:
src/projects/mod.rsandsrc/projects/list/mod.rsto use plugins for initialization, removing hardcoded per-tech initialization code and delegating to plugin-defined commands. [1] [2] [3] [4] [5]CLI and Command Updates:
pluginscommand to the CLI, updated command parsing insrc/main.rs, and documented the new command in help output. [1] [2] [3] [4]Documentation:
plugins/README.mdexplaining plugin usage, configuration, and providing a sample plugin file.