Skip to main content

Interface: PluginManifest

Defined in: Plugin/PluginTypes.ts:16

Plugin system exports.

Provides the generic plugin infrastructure: hook registry, plugin loader, and type contracts. Platform-specific context implementations live in @bible/web or @bible/desktop.

Properties

activationTarget

activationTarget: "both" | "server" | "client"

Defined in: Plugin/PluginTypes.ts:30

Which contexts to activate in


clientEntry?

optional clientEntry?: string

Defined in: Plugin/PluginTypes.ts:36

Path to client entry module (relative to plugin root)


contributes?

optional contributes?: object

Defined in: Plugin/PluginTypes.ts:43

Declarative metadata about what the plugin contributes. Used by the host for UI hints and lazy loading decisions.

contextMenuItems?

optional contextMenuItems?: boolean

panes?

optional panes?: boolean

routes?

optional routes?: boolean

settings?

optional settings?: boolean

verseDecorators?

optional verseDecorators?: boolean


dependencies?

optional dependencies?: string[]

Defined in: Plugin/PluginTypes.ts:39

IDs of other plugins this one depends on


description

description: string

Defined in: Plugin/PluginTypes.ts:24

Short description of what the plugin does


displayName

displayName: string

Defined in: Plugin/PluginTypes.ts:21

Human-readable name


id

id: string

Defined in: Plugin/PluginTypes.ts:18

Unique plugin identifier (kebab-case, e.g., "reading-tracker")


serverEntry?

optional serverEntry?: string

Defined in: Plugin/PluginTypes.ts:33

Path to server entry module (relative to plugin root)


version

version: string

Defined in: Plugin/PluginTypes.ts:27

Plugin version (semver)