Thank you for improving the ZCode Plugins Marketplace. Use GitHub Issues for proposals and questions, and pull requests for focused code or documentation changes.
- Check existing issues and pull requests so the work is not duplicated.
- For a new plugin, start from
plugins/example-plugin/and read its development tutorial. - Keep one pull request focused on one plugin or one repository topic.
Every plugin must:
- live in a unique kebab-case directory under
plugins/; - include
.zcode-plugin/plugin.jsonwithname,description,version, andauthor; - have a matching
name,version, and description in the rootmarketplace.json; - provide at least one useful component: command, skill, hook, agent, or MCP server;
- include equivalent user-facing
README.mdandREADME_CN.mdfiles; and - use one supported category:
developer-tools,productivity,utilities,finance,guides,template, orother.
Document network access, model/API/service dependencies, file writes, command execution, hooks, MCP servers, and other side effects in the plugin README. Identify third-party code, assets, and services together with their licenses.
Do not commit credentials, private endpoints, customer data, machine-specific paths, caches, build output, obfuscated source, or unnecessary prebuilt binaries.
-
Fork
zai-org/zcode-pluginsand create a branch from the latestmain. -
Copy the example plugin, or edit the existing plugin in scope:
cp -R plugins/example-plugin plugins/<your-plugin-name>
-
Update the manifest, component files, both language READMEs, and the root marketplace entry. Keep the manifest and marketplace versions identical.
-
Run the repository checks from the root:
python3 scripts/validate.py python3 scripts/build_dist.py git diff --check
-
Exercise the plugin's main behavior in ZCode. Record reproducible steps and include screenshots or a short recording for UI changes.
In the pull request description, include:
- what user problem the change solves;
- the visible behavior and how it was tested;
- version changes and marketplace registration;
- dependencies, network requests, permissions, and side effects; and
- licensing or provenance for third-party material.
Before requesting review, confirm:
- the plugin name is unique and kebab-case;
- required files and both language READMEs are present;
- the category is correct;
- no secrets, private data, or machine-specific paths are included;
-
validate.py,build_dist.py, andgit diff --checkpass; and - review feedback has been addressed on the pull request.
Use Conventional Commits for the title, for example feat(example-plugin): add a greeting skill or docs: clarify plugin categories.
Installed plugin content is immutable once published. If installable content changes, bump the semantic version in both the plugin manifest and the matching marketplace.json entry. Never reuse a published version.
Maintainers review functionality, safety, maintainability, compatibility, provenance, and licensing. Accepted changes enter the official release process; the pull request will receive a publication or follow-up status update.