Skip to main content

Plugin management

AppKit includes a CLI for managing plugins. All commands are available under npx @databricks/appkit plugin.

Create a plugin

Scaffold a new plugin interactively:

npx @databricks/appkit plugin create

The wizard walks you through:

  • Placement: In your repository (e.g. plugins/my-plugin) or as a standalone package
  • Metadata: Name, display name, description
  • Resources: Which Databricks resources the plugin needs (SQL Warehouse, Secret, etc.) and whether each is required or optional
  • Optional fields: Author, version, license

The command generates a complete plugin scaffold with manifest.json, TypeScript class, and barrel exports — ready to register in your app.

Sync plugin manifests

Scan your project for plugins and generate appkit.plugins.json:

npx @databricks/appkit plugin sync --write

This discovers plugin manifests from installed packages and local imports, then writes a consolidated manifest used by deployment tooling. Plugins referenced in your createApp({ plugins: [...] }) call are automatically marked as required.

Use the --silent flag in build hooks to suppress output:

{
"scripts": {
"sync": "appkit plugin sync --write --silent",
"predev": "npm run sync",
"prebuild": "npm run sync"
}
}

Validate manifests

Check plugin manifests against the JSON schema:

# Validate manifest.json in the current directory
npx @databricks/appkit plugin validate

# Validate specific files or directories
npx @databricks/appkit plugin validate plugins/my-plugin appkit.plugins.json

The validator auto-detects whether a file is a plugin manifest or a template manifest (from $schema) and reports errors with humanized paths and expected values.

List plugins

View registered plugins from appkit.plugins.json or scan a directory:

# From appkit.plugins.json (default)
npx @databricks/appkit plugin list

# Scan a directory for plugin folders
npx @databricks/appkit plugin list --dir plugins/

# JSON output for scripting
npx @databricks/appkit plugin list --json

Add a resource to a plugin

Interactively add a new resource requirement to an existing plugin manifest:

npx @databricks/appkit plugin add-resource

# Or specify the plugin directory
npx @databricks/appkit plugin add-resource --path plugins/my-plugin