English | δΈζζζ‘£
Welcome to the NexusOpenCLI Plugins Registry! This repository serves as the official plugin registry for NexusOpenCLI, where developers can submit, discover, and manage plugins to extend the functionality of NexusOpenCLI.
- Overview
- Plugin Submission Guidelines
- Directory Structure
- Submission Process
- Plugin Configuration
- Review Process
- Example: Doctor Plugin
- Contributing
- FAQ
This registry allows community developers to contribute plugins that enhance NexusOpenCLI's capabilities. Each plugin is carefully reviewed to ensure quality, security, and compatibility before being added to the official registry.
Before submitting your plugin, please ensure:
- β Published on PyPI: Your plugin package must be published and available on PyPI
- β
Source Code Available: Include source code in the
plugins/{plugin-name}directory (highly recommended) - β Documentation: Provide a README.md or docs.md file explaining your plugin
- β
GitHub Account: The author field in
plugins.jsonwill default to your GitHub username
- Plugin must be compatible with NexusOpenCLI
- Must follow Python packaging standards
- Should include proper documentation
- Must pass security review
NexusOpenCLI-plugins-registry/
βββ plugins.json # Plugin registry configuration
βββ README.md # This file (English)
βββ README.zh-CN.md # Chinese documentation
βββ plugins/ # Plugin directories
βββ {plugin-name}/ # Individual plugin folder
βββ README.md # Plugin documentation (optional but recommended)
βββ docs.md # Alternative documentation file
βββ src/ # Source code package (recommended)
β βββ ...
βββ pyproject.toml # Build configuration (if including source)
βββ ... # Other relevant files
doctor/
βββ docs.md # Plugin documentation
βββ README.md # Detailed usage guide
βββ src/ # Source code (optional but recommended)
β βββ ncli_doctor/
β βββ __init__.py
β βββ plugin.py
βββ pyproject.toml # Package configuration
Follow these steps to submit your plugin:
First, ensure your plugin is published on PyPI:
# Build your package
pip install build
python -m build
# Upload to PyPI
pip install twine
twine upload dist/*Verify your package is available:
pip install your-plugin-nameCreate a new directory under plugins/ with your plugin name:
mkdir plugins/your-plugin-nameInclude at least one documentation file:
README.md- Comprehensive plugin documentationdocs.md- Alternative documentation format
Your documentation should include:
- Plugin overview and features
- Installation instructions
- Usage examples
- Configuration options
- API reference (if applicable)
While optional, including source code is highly recommended because it:
- π Helps reviewers verify security and code quality
- π₯ Allows users to inspect the code before installation
- π οΈ Enables users to install from source if needed
- π Serves as reference implementation for other developers
You can include:
- Complete source code in
src/directory pyproject.tomlorsetup.pyfor building- Test files and examples
Add your plugin entry to plugins.json:
{
"your-plugin-name": {
"package": "nexus-open-cli-your-plugin",
"version": "0.1.0",
"description": "Brief description of your plugin",
"author": "YourGitHubUsername"
}
}Note: The author field will be set to your GitHub username after review approval.
- Fork this repository
- Create a feature branch:
git checkout -b feature/add-your-plugin - Commit your changes:
git commit -m 'Add your-plugin-name' - Push to your fork:
git push origin feature/add-your-plugin - Open a Pull Request with:
- Clear description of your plugin
- Link to PyPI package
- Any special considerations
Each plugin entry in plugins.json should include:
| Field | Type | Required | Description |
|---|---|---|---|
package |
string | Yes | PyPI package name |
version |
string | Yes | Current version (semver format) |
description |
string | Yes | Brief description (max 200 characters) |
author |
string | Auto | GitHub username (set during review) |
{
"doctor": {
"package": "nexus-open-cli-doctor",
"version": "0.1.0",
"description": "Project health doctor",
"author": "PersonalViolet"
}
}Our review team will evaluate your submission based on:
- β No malicious code or backdoors
- β No hardcoded secrets or credentials
- β Safe dependencies
- β Proper error handling
- β Code follows Python best practices
- β Adequate documentation
- β Proper version management
- β Clear plugin purpose and functionality
- β Compatible with current NexusOpenCLI version
- β No conflicting dependencies
- β Proper plugin interface implementation
The doctor plugin serves as a reference implementation:
- β Git repository check
- π README detection
- π License validation
- π« .gitignore verification
- π Project structure analysis
- π¦ Large file detection
- π Dependency file check
- π§ͺ Test coverage assessment
- See
plugins/doctor/README.mdfor complete documentation - Includes installation, usage, and development guides
- Source code can be included in the plugin directory
- Helps users understand implementation details
We welcome contributions! Here's how you can help:
Follow the Submission Process above.
- Fix typos or unclear explanations
- Add translations
- Improve examples
Help review submissions from other developers.
Found a problem? Open an issue!
# Clone the repository
git clone https://github.com/nexus-cli/NexusOpenCLI-plugins-registry.git
cd NexusOpenCLI-plugins-registry
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activateA: While not required, it's strongly recommended. Including source code helps reviewers verify security and allows users to inspect the code before installation.
A: Typically 1-3 business days for initial review, up to 1 week for complete approval.
A: Yes! Simply submit a new PR with updated version information in plugins.json and any code changes.
A: We recommend MIT or Apache 2.0, but you can choose any open-source license.
A: Reviewers will provide feedback. Address the concerns and resubmit. Common issues include missing documentation or security concerns.
A: Yes! Each plugin should have its own directory and entry in plugins.json.
A: Before development and testing, ensure the nexus-open-cli package is installed in your environment. If not, use pip install nexus-open-cli.
- Issues: GitHub Issues
- Email: Contact the maintainers
This registry is licensed under the MIT License. See LICENSE for details.
Individual plugins may use different licenses - check each plugin's documentation.
Happy Plugining! π
For more information about NexusOpenCLI, visit the main repository.