Skip to main content

caliban_plugins/
lib.rs

1//! Plugin packaging orchestrator (ADR 0030).
2//!
3//! See `docs/superpowers/specs/2026-05-24-plugin-system-design.md` for the
4//! authoritative design. The crate is intentionally a *thin* orchestrator:
5//! it parses `plugin.json`, applies discovery/filter rules, namespaces
6//! items, and hands roots + configs to the existing skill / hook / agent /
7//! MCP / output-style loaders. It does not duplicate per-surface logic.
8
9#![allow(clippy::multiple_crate_versions)]
10
11pub mod cli;
12pub mod error;
13pub mod expand;
14pub mod loaded;
15pub mod manager;
16pub mod manifest;
17pub mod marketplace;
18pub mod overlay;
19pub mod trust;
20
21pub use cli::{Cli, ListedPlugin};
22pub use error::PluginError;
23pub use expand::{expand as expand_plugin_root, expand_json_in_place};
24pub use loaded::{LoadedPlugin, NamespacedItem, PluginSource};
25pub use manager::{
26    PluginLoadFailure, PluginManager, PluginRoots, PluginSettings, default_managed_dir,
27};
28pub use manifest::{
29    ComponentSpec, InlineMcpServer, PathList, PluginManifest, ResolvedComponents, is_valid_name,
30};
31pub use marketplace::{
32    Marketplace, MarketplaceClient, MarketplaceEntry, MarketplaceSettings, MarketplaceVersion,
33    TrustDecision,
34};
35pub use overlay::render_overlay;
36pub use trust::{MarketplacesAllowlist, PluginTrustRecord, TrustFile, TrustStore};