Extensible Typer CLI with hot-pluggable commands. NexusOpenCLI loads built-in and third-party plugins on every invocation so you can add new commands by installing packages.
In the process of daily development and using productivity tools, I have identified a long-standing issue:
There are many CLI tools, but they are fragmented and difficult to manage in a unified way.
For example:
- Different tools need to be installed separately, and their commands must be memorized individually
- Functionalities are scattered, lacking a unified entry point
- When wanting to extend functionality, you often need to develop your own CLI from scratch
Therefore, I aim to build a CLI project that is:
Like an App Store for CLI tools
The core goals are:
- Enable CLI tools to be installed like plugins
- Allow commands to be auto-discovered at runtime
Ultimately forming:
An extensible CLI ecosystem infrastructure
- Plugin-based command system with runtime discovery
- Built-in commands for plugin management and batch file renaming
- Configurable plugin sources (entry points and optional folder loader)
- Per-plugin and global language settings
It is recommended to install using pip install nexus-open-cli in a virtual environment in the specified directory, and then enter ncli plugin list to view the current command groups.
show1.mp4
ncli --help
ncli plugin listIt is recommended to install plugins via the ncli repo command.
All plugins downloaded using this command are officially registered in the NexusOpenCLI-plugins-registry.
Plugins in the registry have been reviewed and verified by the NexusOpenCLI maintainers. You can browse and discover plugins effortlessly, just like searching for apps on the App Store.
Take ncli repo as an example:
show3.mp4
You can also install plugins via pip install nexus-open-cli-doctor for a quick experience.
show2.mp4
For subsequent plugin installation, you can either use ncli repo (recommended), or install from a local directory or PyPI via pip:
# Install plugin via ncli repo
ncli repo install pluginName
# Install a local plugin folder
pip install /path/to/your-plugin
# Install a plugin published on PyPI
pip install your-plugin-packagePlugins should register into the nexuscli.command entry point group so NexusCLI can discover them on startup. After installing the plugin, type ncli again to verify that the plugin was installed successfully.
Inspect or update plugin settings:
ncli plugin config
ncli plugin config-pathManage plugin directories via interactive prompt or the --set-plugin-dir, --add-plugin-dir, --remove-plugin-dir options.
Note:
ncli plugin config --folder-loader is ineffective for enabling directory loading; this command is deprecated soon. Ignore it.
pip install -e ".[dev]"
pytestYou can use the skill/ncli-plugi-dev-helper/SKILL.md skill provided in this repository to quickly develop third-party plugins from scratch (even with zero prior knowledge).
-
Right-click This PC → Properties → Advanced system settings → Environment Variables
-
Find
Pathin the System variables list and double-click to open it -
Click New, then add the folder path where
ncli.exeis located:# Example D:\nexusOpenCLI\.venv\Scripts
MIT
