🔌 Mesh Plugin Registry

Discover and install plugins for your Meshtastic firmware

Built by MeshEnvy • Not affiliated with Meshtastic

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.

Key Features:
  • 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!

How to contribute:
  1. Fork the MeshEnvy/mesh-forge repository
  2. Edit the registry/registry.json file and add your plugin entry
  3. Include all required fields: name, description, version, author, repo URL, and dependencies
  4. 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