Skip to main content

Interface: PluginManifest\<TName\>

Interface: PluginManifest<TName>

Plugin manifest that declares metadata and resource requirements. Attached to plugin classes as a static property. Extends the shared PluginManifest with strict resource types.

See

  • packages/shared/src/schemas/manifest.ts pluginManifestSchema — Zod source of truth
  • SharedPluginManifest — shared re-export with JSONSchema7 config

Extends

  • Omit<SharedPluginManifest, "resources" | "config">

Type Parameters

Type ParameterDefault type
TName extends stringstring

Properties

author?

optional author: string;

Author name or organization

Inherited from

Omit.author

config?

optional config: {
  schema: JSONSchema7;
};

Configuration schema for the plugin. Uses JSONSchema7 instead of the generated ConfigSchema (which is too restrictive).

schema

schema: JSONSchema7;

description

description: string;

Brief description of what the plugin does

Inherited from

Omit.description

devOnly?

optional devOnly: boolean;

When true, this plugin is only registered when NODE_ENV === "development". In any other environment createApp skips it entirely (not constructed, no routes, resources not validated). Use for dev-only tooling that must never run in a deployed app.

Inherited from

Omit.devOnly

displayName

displayName: string;

Human-readable display name for UI and CLI

Inherited from

Omit.displayName

hidden?

optional hidden: boolean;

When true, this plugin is excluded from the template plugins manifest (appkit.plugins.json) during sync.

Inherited from

Omit.hidden

keywords?

optional keywords: string[];

Keywords for plugin discovery

Inherited from

Omit.keywords

license?

optional license: string;

SPDX license identifier

Inherited from

Omit.license

name

name: TName;

Plugin identifier — the single source of truth for the plugin's name

Overrides

Omit.name

onSetupMessage?

optional onSetupMessage: string;

Message displayed to the user after project initialization. Use this to inform about manual setup steps (e.g. environment variables, resource provisioning).

Inherited from

Omit.onSetupMessage

repository?

optional repository: string;

URL to the plugin's source repository

Inherited from

Omit.repository

resources

resources: {
  optional: Omit<ResourceRequirement, "required">[];
  required: Omit<ResourceRequirement, "required">[];
};

Resource requirements declaration (with strict ResourceRequirement types)

optional

optional: Omit<ResourceRequirement, "required">[];

Resources that enhance functionality but are not mandatory

required

required: Omit<ResourceRequirement, "required">[];

Resources that must be available for the plugin to function


scaffolding?

optional scaffolding: {
  rules?: {
     must?: string[];
     never?: string[];
     should?: string[];
  };
};

rules?

optional rules: {
  must?: string[];
  never?: string[];
  should?: string[];
};

rules.must?

optional must: string[];

rules.never?

optional never: string[];

rules.should?

optional should: string[];

Inherited from

Omit.scaffolding

stability?

optional stability: "beta" | "ga";

Plugin stability level. Beta plugins may have breaking API changes between minor releases but are on a path to GA. GA (general availability) plugins follow semver strictly.

Inherited from

Omit.stability

version?

optional version: string;

Plugin version (semver format)

Inherited from

Omit.version

Databricks Developer Hub

Ready to ship your next agentic app in minutes?

Read docs