Skip to main content

Plugin SDK Overview

The plugin SDK is the typed contract between plugins and core. This page is the reference for what to import and what you can register.
Looking for a how-to guide?

Import convention

Always import from a specific subpath:
Each subpath is a small, self-contained module. This keeps startup fast and prevents circular dependency issues.

Subpath reference

The most commonly used subpaths, grouped by purpose. The full list of 100+ subpaths is in scripts/lib/plugin-sdk-entrypoints.json.

Plugin entry

Registration API

The register(api) callback receives an FluffBuzzPluginApi object with these methods:

Capability registration

Tools and commands

Infrastructure

Exclusive slots

Events and lifecycle

API object fields

Internal module convention

Within your plugin, use local barrel files for internal imports:
Never import your own plugin through fluffbuzz/plugin-sdk/<your-plugin> from production code. Route internal imports through ./api.ts or ./runtime-api.ts. The SDK path is the external contract only.