This repository is the public plugin marketplace source for Paca.
The Paca API reads catalog/plugins.json and exposes entries in the web admin marketplace.
Plugin developers publish by opening pull requests that add or update plugin entries.
- Path:
catalog/plugins.json - Format: JSON
- Artifact URLs per plugin:
manifest_tar_gz_url— required.backend_tar_gz_url,frontend_tar_gz_url,migrations_tar_gz_url— optional, include when your plugin has that surface.mcp_tar_gz_url— optional, include when your plugin's manifest declares anmcpsection.skills_tar_gz_url— optional, include when your plugin's manifest declares askillssection (see skills-plugin-system.md).
- Create a plugin release in your plugin repository.
- Upload public tar.gz artifacts for every surface your plugin ships — manifest is always required; backend, frontend, migrations, mcp, and skills are each uploaded only if your plugin.json declares that section.
- Update
catalog/plugins.jsonwith new version and URLs. - Open a pull request to this repository.
- After merge, plugin appears in Paca marketplace UI automatically.
backend.tar.gzincludesbackend.wasm.frontend.tar.gzincludes frontend assets (for exampleassets/remoteEntry.js).migrations.tar.gzincludes SQL files (for example0001_create_table.sql).manifest.tar.gzincludesplugin.json.mcp.tar.gzincludes the MCP entry bundle referenced byplugin.json'smcp.remoteEntryUrl.skills.tar.gzincludes one directory per skill named inplugin.json'sskills.names, each containing aSKILL.md(e.g.paca-my-skill/SKILL.md) — required wheneverplugin.jsonhas askillssection, otherwise the declared skills can never be fetched at install time.
- Keep URLs immutable (release assets, not moving branches).
- Keep plugin
namestable (reverse-DNS identifier). - Keep
versionsemver and aligned with release tag. - Verify artifact URLs before opening PR.