Skip to content

docs: wire AppKit plugin CLI into create/audit/review Claude commands#369

Open
MarioCadenas wants to merge 5 commits into
mainfrom
mario/5e5283f2
Open

docs: wire AppKit plugin CLI into create/audit/review Claude commands#369
MarioCadenas wants to merge 5 commits into
mainfrom
mario/5e5283f2

Conversation

@MarioCadenas
Copy link
Copy Markdown
Collaborator

Summary

The /create-core-plugin, /audit-core-plugin, and /review-core-plugin Claude commands previously left the appkit plugin CLI as an interactive footnote. The result was that agents either hung on stdin, hand-edited manifest.json, or skipped the schema/sync checks the CLI provides.

These changes wire the full appkit plugin surface into the three commands and route every CLI result to the matching best-practices category:

  • create-core-plugin.md
    • Section 2 split into 2a (non-interactive, default) with the full --placement / --path / --name / --display-name / --description / --resources(-json) / --force invocation, and 2b (interactive fallback) scoped to the beta stability case (the CLI doesn't accept it as a flag).
    • Section 4e gained a tip box that points at --resources-json at scaffold time and appkit plugin add-resource (with --dry-run, --no-required, --fields-json) for resources discovered later.
    • Section 7 now starts with appkit plugin validate, prefers pnpm run sync:template inside the monorepo (matching what promote itself does), shows --require-plugins for forcing inclusion, and adds appkit plugin list --json as a verification step.
    • New Section 8 documents appkit plugin promote {name} --to ga with --dry-run first, steering away from hand-editing the manifest + import barrels.
  • audit-core-plugin.md
    • "Available plugins" hint now points at appkit plugin list --dir … --json (with ls as fallback).
    • New Step 3.5 runs plugin validate, plugin list --json, and plugin sync --json, with explicit category/severity routing for any failure or warning.
    • Step 5 folds those CLI results into the matching categories and adds appkit plugin promote --to ga --dry-run as a stability/import-barrel consistency check for beta plugins.
  • review-core-plugin.md
    • New Step 5.5 runs the per-plugin CLI cross-checks for the touched plugin set: plugin validate always, plugin sync --json always (covers the orphaned-resource warning when plugins are removed), plugin promote --to ga --dry-run when the diff touches stability or /beta imports, and plugin add-resource --dry-run when the diff adds resources — each tagged with the category and severity to use in Step 6.
    • Step 6 explicitly tells the reviewer to fold the Step 5.5 results into the textual review.

No code changes; documentation only.

Test plan

  • Manually run /create-core-plugin with a plugin name + description and confirm the agent uses the non-interactive appkit plugin create invocation (no stdin hang).
  • Manually run /audit-core-plugin <existing-plugin> and confirm the new Step 3.5 CLI checks (validate, list --json, sync --json) are executed and folded into the scorecard.
  • Manually run /review-core-plugin against a branch that touches a plugin manifest and confirm the new Step 5.5 cross-checks run and feed Step 6.

The create-core-plugin, audit-core-plugin, and review-core-plugin
commands previously left the CLI as an interactive footnote, so agents
hand-edited manifests, hung on stdin, or skipped schema/sync checks
entirely. Update them to drive the full `appkit plugin` surface
(`create` non-interactively, `validate`, `list`, `sync`, `add-resource`,
`promote --dry-run`) and route each result to the matching best-practices
category.
@MarioCadenas MarioCadenas requested a review from a team as a code owner May 8, 2026 17:27
@MarioCadenas MarioCadenas requested a review from atilafassina May 8, 2026 17:27
@MarioCadenas MarioCadenas marked this pull request as draft May 8, 2026 17:28
@MarioCadenas MarioCadenas marked this pull request as ready for review May 12, 2026 14:03
Comment thread .claude/commands/audit-core-plugin.md
MarioCadenas and others added 4 commits May 18, 2026 11:47
…emplate

Add an in-source bin shim at packages/appkit/bin/appkit.js so that
`npx @databricks/appkit ...` resolves to the real CLI when consuming the
workspace symlink (node_modules/@databricks/appkit) inside the monorepo.
The shim delegates to packages/shared/bin/appkit.js; tools/dist-appkit.ts
still overwrites both files with the bundled CLI when building the
published tarball, so end consumers are unaffected.

With the bin link now created by pnpm install, the root `sync:template`
script can drop the explicit `node packages/shared/bin/appkit.js` path
and invoke the bare `appkit` binary that pnpm/npm puts on PATH for run
scripts. Behaviour is identical (template/appkit.plugins.json output is
byte-identical), the invocation just matches what users would type
interactively.

Adds `appkit` to knip's ignoreBinaries (same pattern as `tarball`) since
knip can't see through the workspace symlink to know the bin resolves to
a workspace package, and updates the CI comment above the shared-dist
build step to reflect the new invocation chain.
Update the create-core-plugin Claude command's Section 7 to reflect that
`npx @databricks/appkit plugin sync ...` now works both inside and outside
the monorepo (the new appkit bin shim makes the in-monorepo case work
through the workspace symlink). Previously the docs framed `npx` as a
"fallback for outside the monorepo"; it's actually equivalent to the
`sync:template` wrapper, just with the flags spelled out.

Also clarifies the `--plugins-dir` and `--output` flags that the
`sync:template` wrapper passes for you, and folds the standalone-`npx`
caveat into a single Note paragraph instead of having it split between
the script comment and the trailing note.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants