Skip to content

Plugin manifest

PluginManifest (re-exported via @coro-ai/plugin-sdk) describes everything the runner needs before it ever import()s your runtime.

FieldPurpose
idStable slug (github, gitlab, anthropic, …) used in config + logs
kindscm | tracker | executor (future kinds extend via string widening)
version / displayNameTelemetry + dashboard cards
hostCompatibilitySemver range checked against runner HOST_PLUGIN_API_VERSION
configSchemaZod object validated on plugins.installed.<id>.config before init() runs
capabilities?Optional boolean map surfaced to feature gates
webhook?Descriptor for cloud HMAC verification + route suffix (pathSuffix)
mcpToolMap?Thin remaps from canonical Coro helpers to upstream MCP tool ids
allowedMcpTools / disallowedMcpTools?Curated allow/deny sheets for MCP servers you attach
intelligence?Contribution list (skills/snippets) layered into _intelligence/
ui?Optional dashboard overrides (customPanel id for OAuth-heavy providers)

Drop-in filesystem plugins use coro-plugin.json mirroring manifest metadata plus:

FieldPurpose
entryRelative ES/CJS module exporting createPlugin()

Both shapes must agree on id so the CLI + loader stay consistent.