What is the Mesh Plugin Registry?
The Mesh Plugin Registry is a centralized repository built by MeshEnvy that hosts metadata about available Meshtastic plugins. This registry provides:
- A searchable catalog of community-developed plugins
- Version information and release history
- Dependency relationships between plugins
- Author information and repository links
- Automatic dependency resolution during installation
What is the Mesh Plugin Manager?
The Mesh Plugin Manager (MPM) is the command-line tool you use to access the registry and install plugins. It's a lightweight package manager designed specifically for Meshtastic plugins that provides a simple and powerful way to extend your Meshtastic firmware with additional functionality.
- Install and manage plugins from the registry
- Automatic dependency resolution with SemVer support
- Lockfile generation for reproducible builds
- Protobuf file generation for plugins
- Seamless PlatformIO build system integration
Installation
To access the registry and install plugins, first install MPM using pip:
pip install mesh-plugin-manager
Or install from source:
pip install -e .
Usage
Once installed, you can use the mpm command to browse
the registry and manage your plugins:
# List installed plugins
mpm list
# List all available plugins from registry
mpm list --all
# Install a plugin from the registry
mpm install <slug>
# Install all plugins from meshtastic.json
mpm install
# Remove a plugin
mpm remove <slug>
# Generate protobuf files for all plugins
mpm proto
Adding Your Plugin to the Registry
Have a plugin you'd like to share with the community? Submit a pull request to add it to the Mesh Plugin Registry!
- Fork the MeshEnvy/mesh-forge repository
-
Edit the
registry/registry.jsonfile and add your plugin entry - Include all required fields: name, description, version, author, repo URL, and dependencies
- Submit a pull request with a clear description of your plugin
Your plugin entry should follow this format:
{
"your-plugin-slug": {
"name": "Your Plugin Name",
"description": "A brief description of what your plugin does",
"version": "1.0.0",
"author": "your-username",
"repo": "https://github.com/your-username/your-plugin",
"dependencies": {
"meshtastic": ">=2.7.0"
}
}
}
Registry API
The registry is served as a JSON file that can be accessed programmatically. The registry format includes:
- Plugin metadata (name, description, version, author)
- Repository URLs for source code
- Dependency specifications with version constraints
- Compatibility information
You can access the registry JSON directly:
curl https://registry.meshforge.org/registry.json