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
+