Skip to content

Add new plugins system#162

Merged
LuernOutOfOrder merged 15 commits intodevelopfrom
159-integrate-new-plugins-system
Sep 4, 2025
Merged

Add new plugins system#162
LuernOutOfOrder merged 15 commits intodevelopfrom
159-integrate-new-plugins-system

Conversation

@LuernOutOfOrder
Copy link
Owner

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:

  • Added a new plugin system, including src/plugins/mod.rs and src/plugins/parser.rs, allowing users to define project initialization logic in TOML plugin files and manage plugins via CLI commands. The plugins_command function supports health checks and plugin parsing, and run_init_command executes plugin-defined init commands. [1] [2]
  • Updated the configuration structure (ConfigPlugins in src/nxfs/config.rs) and config file format to support a list of enabled plugins. [1] [2] [3]

Project Creation Flow Refactor:

  • Refactored project creation logic in src/projects/mod.rs and src/projects/list/mod.rs to 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:

  • Added a new top-level plugins command to the CLI, updated command parsing in src/main.rs, and documented the new command in help output. [1] [2] [3] [4]

Documentation:

  • Added a new plugins/README.md explaining plugin usage, configuration, and providing a sample plugin file.

@LuernOutOfOrder LuernOutOfOrder added this to the v3.0.0 milestone Sep 4, 2025
@LuernOutOfOrder LuernOutOfOrder self-assigned this Sep 4, 2025
@LuernOutOfOrder LuernOutOfOrder added the enhancement New feature or request label Sep 4, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@LuernOutOfOrder LuernOutOfOrder merged commit eada234 into develop Sep 4, 2025
1 check passed
@LuernOutOfOrder LuernOutOfOrder deleted the 159-integrate-new-plugins-system branch September 4, 2025 21:30
@LuernOutOfOrder LuernOutOfOrder linked an issue Sep 4, 2025 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Integrate new plugins system

2 participants