You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/docs/plugins/plugin-management.md
+15-2Lines changed: 15 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,8 @@ sidebar_position: 6
6
6
7
7
AppKit includes a CLI for managing plugins. All commands are available under `npx @databricks/appkit plugin`.
8
8
9
+
**Manifest convention:**`manifest.json` is the default and recommended format for CLI commands (`sync`, `list`, `validate`). For zero-trust safety, JS manifests (`manifest.js`/`manifest.cjs`) are ignored unless you pass `--allow-js-manifest`, which executes plugin code and should be used only with trusted sources. The **add-resource** command only edits `manifest.json` in place.
10
+
9
11
## Create a plugin
10
12
11
13
Scaffold a new plugin interactively:
@@ -20,7 +22,7 @@ The wizard walks you through:
20
22
-**Resources**: Which Databricks resources the plugin needs (SQL Warehouse, Secret, etc.) and whether each is required or optional
21
23
-**Optional fields**: Author, version, license
22
24
23
-
The command generates a complete plugin scaffold with `manifest.json`, TypeScript class, and barrel exports — ready to register in your app.
25
+
The command generates a complete plugin scaffold with `manifest.json` and a TypeScript plugin class that imports the manifest directly — ready to register in your app.
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.
34
36
37
+
Trusted installed Databricks packages (for example `@databricks/appkit`) are allowed to load bundled JS manifests during `plugin sync`. For other sources, if you intentionally rely on JS manifests, opt in explicitly:
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.
60
68
69
+
To include JS manifests in validation, pass `--allow-js-manifest`.
70
+
61
71
## List plugins
62
72
63
73
View registered plugins from `appkit.plugins.json` or scan a directory:
@@ -69,13 +79,16 @@ npx @databricks/appkit plugin list
69
79
# Scan a directory for plugin folders
70
80
npx @databricks/appkit plugin list --dir plugins/
71
81
82
+
# Scan a directory and include JS manifests (trusted code only)
83
+
npx @databricks/appkit plugin list --dir plugins/ --allow-js-manifest
84
+
72
85
# JSON output for scripting
73
86
npx @databricks/appkit plugin list --json
74
87
```
75
88
76
89
## Add a resource to a plugin
77
90
78
-
Interactively add a new resource requirement to an existing plugin manifest:
91
+
Interactively add a new resource requirement to an existing plugin manifest. **Requires `manifest.json`** in the plugin directory (the command edits it in place; it does not modify `manifest.js`):
0 commit comments