Skip to main content

Module plugin_bundle

Module plugin_bundle 

Source
Expand description

Plugin bundle contract: the .claude-plugin/plugin.json manifest shape and the well-formedness predicate every consumer shares.

A plugin bundle is the installable artifact a host (Claude Code / Cowork) reads: a directory rooted on .claude-plugin/plugin.json plus the component files it ships (skills/<n>/SKILL.md, agents/<n>.md, .mcp.json, …). PluginManifest is that manifest; bundle_has_manifest is the single definition of “is this directory a well-formed bundle?” so the gateway serve path, the bridge sync, the CLI generator, and the marketplace export never drift on the contract.

The manifest is also an inbound shape: the importer reads manifests authored for Claude Code, which permit component keys systemprompt derives from the tree instead (skills, agents, commands) and inline MCP server definitions. Those keys are accepted as opaque serde_json::Value — an external-format boundary whose shape Anthropic owns — and are never serialised back out, so the bundle contract this crate emits is unchanged.

Copyright (c) systemprompt.io — Business Source License 1.1. See https://systemprompt.io for licensing details.

Structs§

ManifestAuthor
PluginManifest

Enums§

ManifestDependency
One dependencies entry in Claude Code’s plugin.json vocabulary: a bare plugin name resolved in the same marketplace, or an object naming the marketplace and a semver range.

Constants§

NODE_LOCKFILES
NODE_PACKAGE_FILE
PLUGIN_MANIFEST_DIRS
PLUGIN_MANIFEST_FILE
PLUGIN_MANIFEST_RELPATH

Functions§

bundle_has_manifest
node_lockfile