Skip to main content

Interface: IPluginManifest

Defined in: src/types/interfaces/plugin.interface.ts:88

Plugin manifest schema.

Remarks​

Describes plugin metadata, dependencies, and required permissions. Stored in plugin.json or package.json chive field.

Since​

0.1.0

Properties​

author​

readonly author: string

Defined in: src/types/interfaces/plugin.interface.ts:117

Author name or organization.


dependencies?​

readonly optional dependencies: readonly string[]

Defined in: src/types/interfaces/plugin.interface.ts:151

Plugin dependencies (other plugin IDs).

Remarks​

Dependencies are loaded before this plugin initializes.


description​

readonly description: string

Defined in: src/types/interfaces/plugin.interface.ts:112

Plugin description.


entrypoint​

readonly entrypoint: string

Defined in: src/types/interfaces/plugin.interface.ts:143

Entry point file path.

Remarks​

Relative to plugin root directory.

Example​

"dist/index.js"

id​

readonly id: string

Defined in: src/types/interfaces/plugin.interface.ts:95

Unique plugin identifier.

Remarks​

Format: reverse domain notation (e.g., "com.example.github-integration")


license​

readonly license: string

Defined in: src/types/interfaces/plugin.interface.ts:124

License (SPDX identifier).

Example​

"MIT", "Apache-2.0"

name​

readonly name: string

Defined in: src/types/interfaces/plugin.interface.ts:100

Human-readable plugin name.


permissions​

readonly permissions: IPluginPermissions

Defined in: src/types/interfaces/plugin.interface.ts:133

Declared permissions.

Remarks​

Plugins must declare all permissions they need. Chive enforces these at runtime via security sandbox.


version​

readonly version: string

Defined in: src/types/interfaces/plugin.interface.ts:107

Semantic version.

Example​

"1.2.3"