A starter for building a Minder plugin, wired against the plugin-sdk.
New to Minder plugins? Read the authoring guide and the contract reference on the docs site.
Click “Use this template” on GitHub to create your own repo from this one.
plugin.py— a workingPluginBaseplugin withDISPLAY,REQUIRES, aCONFIG_SCHEMA(rendered as a form in the client), and acollect_datastub to fill in.tests/test_plugin.py— contract tests using the SDK'scheck_plugin/run_lifecycleharness.examples/— the other plugin shape: a manifest + webhook example (webhook_manifest.yaml+webhook_plugin.py) for third-party integrations that install at runtime instead of compiling code into Minder. Seeexamples/README.mdfor which shape to pick.- CI that lints, runs
minder-plugin validate, and tests on every push.
pip install -e ".[dev]" # installs the plugin-sdk (from git) + tooling
minder-plugin validate plugin.py # does your plugin honour the contract?
minder-plugin inspect plugin.py # capabilities, config schema, requirements
pytest -q # run the contract testsThen:
- Rename
plugin.py/ theTemplatePluginclass and update theregister()metadata (name,version,description,author). - Implement
collect_data()(and/or addACTIONS+AI_TOOLS). For HTTP, addhttpxtodependenciesinpyproject.toml. - Declare what you need in
REQUIRESand how your config renders via each field'swidget(see the SDK's plugin-driven UI). - Keep
pytestgreen and open a PR tominderhq/pluginsto publish it.
The SDK ships a generator, if you'd rather start from nothing:
pip install "git+https://github.com/minderhq/plugin-sdk"
minder-plugin scaffold my-pluginApache-2.0 — change it to whatever suits your plugin.