Gap
Cursor's local plugin manifest schema supports a logo field, but agent-bundle provides no way to declare or emit one: defineConfig({ plugin: ... }) has no logo/icon field, and cursorManifest() emits only name, displayName, description, version, hooks, mcpServers, skills, and variables. The assets mechanism can copy an image into the artifact but cannot populate the manifest reference.
Observed while shipping cargo-hauler's branding (https://github.com/ScriptedAlchemy/cargo-hauler — docs/media/logo.png exists, host UI cannot show it).
Ask
Gap
Cursor's local plugin manifest schema supports a
logofield, but agent-bundle provides no way to declare or emit one:defineConfig({ plugin: ... })has no logo/icon field, andcursorManifest()emits only name, displayName, description, version, hooks, mcpServers, skills, and variables. Theassetsmechanism can copy an image into the artifact but cannot populate the manifest reference.Observed while shipping cargo-hauler's branding (https://github.com/ScriptedAlchemy/cargo-hauler —
docs/media/logo.pngexists, host UI cannot show it).Ask
plugin.logo(path) to config; validate the file exists at build time..cursor-plugin/plugin.jsonlogo(copy the asset into the artifact and reference relatively). Claude/Codex manifests currently have no icon field — skip until they do.