Skip to content

PluginManifest

Defined in: core.ts:350

Plugin manifest shape — corresponds to the plugin.json file that every plugin must include.

id: string

Defined in: core.ts:352

Unique reverse-domain plugin identifier (e.g., “com.example.my-plugin”).


name: string

Defined in: core.ts:354

Human-readable plugin name.


version: string

Defined in: core.ts:356

Semantic version string.


runtime: "javascript" | "core-swift"

Defined in: core.ts:361

Runtime engine. Third-party plugins use “javascript”; “core-swift” is reserved for host-bundled core plugins.


optional entrypoint?: string

Defined in: core.ts:366

Path to the main entry file relative to the plugin root. Required for “javascript” runtime; absent for “core-swift” plugins.


optional minHostVersion?: string

Defined in: core.ts:368

Minimum host version required (semver). Host launch baseline is 1.0.0.


optional author?: string

Defined in: core.ts:370

Plugin author name or organization.


optional description?: string

Defined in: core.ts:372

Short description of the plugin.


optional license?: string

Defined in: core.ts:374

SPDX license identifier.


optional repository?: string

Defined in: core.ts:376

Repository URL.


optional activation?: object

Defined in: core.ts:378

Activation events that trigger plugin loading.

events: "onStartup"[]


optional permissions?: ManifestPermission[]

Defined in: core.ts:384

Permission scopes requested by the plugin. Each entry is either a bare scope string or a { scope, reason } object (reason ≤ 120 chars, shown in the approval sheet).


optional capabilities?: Record<string, AnyJSONValue>

Defined in: core.ts:386

Dynamic capabilities dictionary.


optional extensionPoints?: AnyJSONValue[]

Defined in: core.ts:388

Extension points declared by this plugin.


optional dataContracts?: AnyJSONValue[]

Defined in: core.ts:390

Data contracts declared by this plugin.


optional extensions?: PluginExtensionContribution[]

Defined in: core.ts:395

Extension contributions (fn-12 typed array) — the manifest-declarative tier for core-plugin extension points. See PluginExtensionContribution.


optional shortcuts?: ManifestShortcut[]

Defined in: core.ts:397

Manifest-declared keyboard shortcuts, auto-registered at activation.


optional scope?: "window" | "app"

Defined in: core.ts:402

Plugin scope: “window” (per-window instance) or “app” (single shared instance, default). Core-swift plugins always behave as “app”.


optional isolation?: "jscontext" | "xpc"

Defined in: core.ts:407

Isolation mechanism: “jscontext” (in-process, default) or “xpc” (reserved for future sandboxed XPC isolation; parsed but not enforced).


optional shellCommands?: string[]

Defined in: core.ts:409

Shell commands the plugin is allowed to execute.


optional allowedShellCommands?: string[]

Defined in: core.ts:414

Allowed shell commands for core-plugin shellExecute enforcement (core-swift only). Absent/empty = deny-all.


optional shellDeniedPatterns?: string[]

Defined in: core.ts:416

Regex patterns for denied shell commands (fn-46). Evaluated before allowlist.


optional networkDomains?: string[]

Defined in: core.ts:418

Network domains the plugin is allowed to access.


optional dependencies?: PluginDependencies

Defined in: core.ts:420

System and plugin dependencies (fn-50).


optional settings?: SettingDefinition[]

Defined in: core.ts:422

User-configurable settings declared by the plugin.


optional oauth?: object

Defined in: core.ts:424

OAuth provider declarations for the plugin.

providers: OAuthProviderDeclaration[]


optional menubar?: object

Defined in: core.ts:426

Menu bar status item configuration (fn-41).

icon: string

optional label?: string

optional globalShortcut?: string


optional homepage?: string

Defined in: core.ts:428

Plugin homepage URL.


optional categories?: string[]

Defined in: core.ts:430

Plugin Store categories.


optional keywords?: string[]

Defined in: core.ts:432

Search keywords for discoverability.