Plugin Sync Explain: $ARGUMENTS
/lisa:plugin-sync-explain explains why the plugin sync gate would need attention without mutating the working tree.
Scope
Inspect the current Lisa repository, or an optional path passed as $ARGUMENTS, using scripts/plugin-sync-explain.mjs.
The diagnostic is read-only:
- Do not run
bun run build:plugins. - Do not run
bun run check:plugins. - Do not edit source files, generated plugin artifacts, or
.claude-plugin/marketplace.json. - Do not stash, commit, reset, or clean local changes.
What to Report
Report a concise terminal-first summary with stable classifications:
SOURCE_NOT_BUILT: files underplugins/src/**changed without their generatedplugins/lisa*counterpart.GENERATED_ONLY: files underplugins/lisa*changed without theirplugins/src/**source counterpart.MARKETPLACE_REGISTRATION_DRIFT: a built plugin directory is missing from.claude-plugin/marketplace.json, or a marketplace source points at a missing built directory.OUT_OF_SYNC: source and generated counterparts both changed and need human review.IN_SYNC: no plugin source/generated or marketplace registration drift was detected.
For every finding, include the evidence path and the smallest source-first next action. Prefer bun run build:plugins only after source edits are in the right place, and preserve bun run check:plugins as the final reproducibility gate.
Process
- Resolve the repo path from
$ARGUMENTSor the current directory. - Capture
git status --porcelainbefore the diagnostic. - Run:
If running from the source tree before generated artifacts are rebuilt, use:node plugins/lisa/scripts/plugin-sync-explain.mjs "$REPO_PATH"node plugins/src/base/scripts/plugin-sync-explain.mjs "$REPO_PATH" - Capture
git status --porcelainafter the diagnostic and confirm it is unchanged. - Surface the script output plus the read-only confirmation.
Rules
- Keep this surface aligned with
scripts/check-plugins-sync.sh; it explains the gate but does not replace it. - Treat
plugins/src/**as the source of truth andplugins/lisa*as generated artifacts. - If the diagnostic cannot inspect git status or marketplace JSON, report the error plainly and do not guess.