pub struct IntegrationSpec {Show 15 fields
pub id: String,
pub label: String,
pub description: Option<String>,
pub version: Option<String>,
pub binary: String,
pub category: Option<String>,
pub chip: Option<ChipSpec>,
pub commands: Vec<CommandSpec>,
pub context_menu: Vec<ContextMenuEntry>,
pub menu_bar: Vec<MenuBarEntry>,
pub statusline: Option<StatuslineSpec>,
pub settings: Vec<SettingsPage>,
pub notifications: Option<NotificationsSpec>,
pub requires: Option<Requires>,
pub auth: Vec<AuthField>,
}Expand description
Complete integration description written to the manifest
file. Only id, label, and binary are required —
everything else defaults to sensible empty values.
2026-08-01 — the identity strings live here at the top level:
label— short display name (chip hover, tree row, picker, detail-pane header). Required. ~20 chars max.description— one-sentence longer form for the detail pane subtitle. ~80 chars.
The old name field was dead code (never rendered); dropped.
The old chip.tooltip field is folded into top-level label.
Fields§
§id: String§label: String§description: Option<String>§version: Option<String>§binary: String§category: Option<String>§chip: Option<ChipSpec>§commands: Vec<CommandSpec>§statusline: Option<StatuslineSpec>§settings: Vec<SettingsPage>§notifications: Option<NotificationsSpec>§requires: Option<Requires>§auth: Vec<AuthField>Auth fields the integration needs configured before its
commands can talk to their backend — tokens, base URLs, an
email, etc. mnml’s per-integration Settings pane renders one
form control per entry (secrets are masked as •••) and
writes the user’s answers back to the manifest TOML under
[auth_values].
When a command from this integration fires without a required
field set (and its env_fallback env var also unset), mnml
intercepts the dispatch and opens the Settings pane instead
of silently failing. Added in 0.7.0 (2026-08-11).
Trait Implementations§
Source§impl Clone for IntegrationSpec
impl Clone for IntegrationSpec
Source§fn clone(&self) -> IntegrationSpec
fn clone(&self) -> IntegrationSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more