diff --git a/docs/how-to/install-claude-plugin.md b/docs/how-to/install-claude-plugin.md index b55c77fec..d07b9d61a 100644 --- a/docs/how-to/install-claude-plugin.md +++ b/docs/how-to/install-claude-plugin.md @@ -96,6 +96,43 @@ From a Claude Code session with the plugin installed, list the marketplace and c Contributors with a local checkout can smoke-test the plugin directly without going through marketplace install — see Option B above. The smoke-test requires `npm run build:claude-plugin` first because the bundle is gitignored on `develop`/`main`. +### End-to-end test in an empty folder + +After installing on a fresh machine — or any time you want to confirm both install paths resolve against the published release — run both checks in an empty directory. Each path exercises an independent half of the v0.8.0 surface ([ADR-0040](../adr/0040-migrate-npm-publication-to-npmjs-com.md) + [ADR-0043](../adr/0043-distribute-claude-plugin-bundle-from-orphan-dist-branch.md) + ADR-0044 — see [main](https://github.com/Luis85/agentic-workflow/blob/main/docs/adr/0044-restore-npmjs-trusted-publishing.md) until the develop backmerge lands). + +**1. CLI install (npm package).** + +```bash +mkdir specorator-test && cd specorator-test +npm install -g specorator +specorator --version # → "specorator v0.8.0" (or current) +specorator init --dry-run # → install report, no files written +specorator init # → seeds project shell; existing files skipped +``` + +Sanity-check that the published package carries a sigstore provenance attestation: + +```bash +npm view specorator dist.attestations +# { url: '.../-/npm/v1/attestations/specorator@', +# provenance: { predicateType: 'https://slsa.dev/provenance/v1' } } +``` + +**2. Claude Code plugin install (marketplace + orphan dist branch).** + +Open Claude Code in the same empty folder, then in the session: + +```text +/plugin marketplace add Luis85/agentic-workflow +/plugin install specorator@specorator-marketplace +/reload-plugins +/specorator:welcome +``` + +This is the end-to-end test for the orphan `dist/claude-plugin` branch. Claude Code reads `.claude-plugin/marketplace.json` from `main`, sees the `git-subdir` source pinned to `dist/claude-plugin`, sparse-clones that branch, and loads `claude-plugin/specorator/` from the CI-built tree. A green `/specorator:welcome` confirms the orphan-branch distribution is functional. + +If you've installed Specorator on this machine before, run `/plugin marketplace update` first so Claude Code re-resolves the marketplace source. + ## Plugin vs project files The plugin makes Specorator's reusable Claude layer available. It does not automatically copy project-local workflow files into the folder you opened during installation, and Claude Code does not currently expose a documented plugin post-install hook for running project setup automatically.