Skip to main content

Interface: IPluginManifest

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

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:104

Author name or organization.


dependencies?

readonly optional dependencies: readonly string[]

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

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:99

Plugin description.


entrypoint

readonly entrypoint: string

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

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:82

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:111

License (SPDX identifier).

Example

"MIT", "Apache-2.0"

name

readonly name: string

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

Human-readable plugin name.


permissions

readonly permissions: IPluginPermissions

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

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:94

Semantic version.

Example

"1.2.3"