One folder is one Plugin. One pull request is one contribution.
Fork this repository, install dependencies, and run:
npm install
npm run create -- <github-owner>/<plugin-name>The command creates plugins/<github-owner>/<plugin-name> with a portable plugin.json, README,
Apache-2.0 license, and starter Skill.
Replace every scaffold TODO. Your Plugin must:
- expose at least one Skill or MCP server;
- use the supported package shape in
docs/plugin-compatibility.md; - include
README.md,LICENSE, and a matching open-source license inplugin.json; - explain the user problem, an example prompt, and the expected result;
- disclose required executables, accounts, paid services, platforms, network destinations, and data;
- contain no credentials, private endpoints, hidden telemetry, installers, native binaries, or symlinks.
Keep source and docs inside your Plugin directory. Do not edit another contributor's Plugin in the same pull request.
docs/plugin-compatibility.md describes two layouts. Pick one before you write plugin.json:
- The portable Agent Plugins 1.0 layout (top-level
plugin.json, optionalio.minimax.mcode/hooks/hooks.jsonfor Hooks) is the cross-runtime baseline. Use it when your Plugin must run on both mcode 0.3.x and mcode 0.4.0+. The validator (scripts/validate.mjs) checks this layout by default. - The v0.4.0+ plugin format (
.claude-plugin/plugin.jsonwith inlinehooks) is the preferred form for Plugins that target mcode 0.4.0+ only. The full schema and the inlinehooksshape are inproposals/hooks-v0.4-spec.md; a working example is inexamples/hello-mcode-hooks-v04/.
A Plugin that needs both runtimes ships both layouts in parallel. The v0.3.x layout does
not need to duplicate the v0.4.0+ Skill; the recommended cross-runtime shape ships
skills/SKILL.md (used by mcode 0.4.0+) and skills/<plugin-name>/SKILL.md (a byte-identical
copy under a subdirectory whose name matches the Plugin's name, used by the v0.3.x
runtime and the current validator).
npm run checkThe validator checks the hosted directory, Manifest, Skills, MCP transports, required docs,
placeholders, and path safety. CI runs the same command. The Ubuntu job also
installs Python 3.13, Pillow 12.3.0 and Noto CJK fonts for the Python smoke tests.
When Python is available locally, install Pillow before running the repository
suite; Linux rendering checks also need a CJK font (for example,
fonts-noto-cjk).
Include:
- the problem your Plugin solves;
- a copyable example prompt;
- the expected result;
- dependencies and supported platforms;
- network and data behavior;
- automated and manual test evidence.
Review covers usefulness, reproducibility, clear ownership, data flow, dependency risk, and obvious supply-chain issues. Acceptance means “available as community software”; it is not a MiniMax endorsement or a complete security audit.
The owner directory identifies the maintainer. Submit changes under the same path and explain user impact. A Plugin may be quarantined or removed if it becomes malicious, abandoned, misleading, or unsafe.
Validator, documentation, example, and workflow changes are welcome. Open an issue before a contract-breaking change, add focused tests, and describe migration impact.
Repository contributions are licensed under Apache-2.0. Each hosted Plugin carries its own license.