{"_id":"@bluestep-systems/bspecs","_rev":"8-40df92427b9493be383ba510bd8745fb","name":"@bluestep-systems/bspecs","dist-tags":{"latest":"0.15.0"},"versions":{"0.10.0":{"name":"@bluestep-systems/bspecs","version":"0.10.0","_id":"@bluestep-systems/bspecs@0.10.0","maintainers":[{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},{"name":"bblack-bluestep","email":"bblack@bluestep.net"}],"homepage":"https://github.com/Bluestep-Systems/bspecs#readme","bugs":{"url":"https://github.com/Bluestep-Systems/bspecs/issues"},"bin":{"bspecs":"cli.js"},"dist":{"shasum":"cb63623bc67c31bc6c6257a5dcd1d2e2baac4cb8","tarball":"https://registry.npmjs.org/@bluestep-systems/bspecs/-/bspecs-0.10.0.tgz","fileCount":83,"integrity":"sha512-xxGwCqD6oWrK9DX66xp6J0AYPSzXGEuYtQJtmnIWoeMgrHVg4wJxsYPvVg6jWOSNb7nY/+inlPcEvzA8kklTsg==","signatures":[{"sig":"MEQCIHJ/I+5TB6ix5jf4wZQ5piisMdFUVczCCCbOBHDjgTwzAiA2TgBggMDeRNsif+N5fg1EXS/UhZp0RMooBwHAuleJJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bluestep-systems%2fbspecs@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277638},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"bfeae0b2371d20cf6f2dd8fb73dd3067c2d787da","scripts":{"start":"node cli.js"},"_npmUser":{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},"repository":{"url":"git+https://github.com/Bluestep-Systems/bspecs.git","type":"git"},"_npmVersion":"10.9.8","description":"Spec-driven BlueStep development with AI agents — scaffolder and project conventions for Claude Code","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@clack/prompts":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bspecs_0.10.0_1782309437840_0.47550444386621593","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@bluestep-systems/bspecs","version":"0.11.0","_id":"@bluestep-systems/bspecs@0.11.0","maintainers":[{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},{"name":"bblack-bluestep","email":"bblack@bluestep.net"}],"homepage":"https://github.com/Bluestep-Systems/bspecs#readme","bugs":{"url":"https://github.com/Bluestep-Systems/bspecs/issues"},"bin":{"bspecs":"cli.js"},"dist":{"shasum":"c4788fe64ab4cddccc6a3550caa658986cff81ce","tarball":"https://registry.npmjs.org/@bluestep-systems/bspecs/-/bspecs-0.11.0.tgz","fileCount":83,"integrity":"sha512-9Z/uzqXAeaF/d+pY1z+cvqsdODAxhsiy1tWoSOuFmr3+VJVH2FqMEJqJ3s6ZUg6qwYeutifWXiq3fvTmQfFvuA==","signatures":[{"sig":"MEYCIQCoYlxNcnZu8cTatjKJJnyfIXu3Yylc25XXrmpIr+/4QwIhAJj4GcpJZ2MfOTf/QKQocKpDzkl+QJtudDE9AOAmBCD5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bluestep-systems%2fbspecs@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":280645},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"28c31324ed4a46343141a18929a7c7f6e3ad7ccc","scripts":{"start":"node cli.js"},"_npmUser":{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},"repository":{"url":"git+https://github.com/Bluestep-Systems/bspecs.git","type":"git"},"_npmVersion":"10.9.8","description":"Spec-driven BlueStep development with AI agents — scaffolder and project conventions for Claude Code","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@clack/prompts":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bspecs_0.11.0_1782323576874_0.05708633255030815","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@bluestep-systems/bspecs","version":"0.11.1","_id":"@bluestep-systems/bspecs@0.11.1","maintainers":[{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},{"name":"bblack-bluestep","email":"bblack@bluestep.net"}],"homepage":"https://github.com/Bluestep-Systems/bspecs#readme","bugs":{"url":"https://github.com/Bluestep-Systems/bspecs/issues"},"bin":{"bspecs":"cli.js"},"dist":{"shasum":"094f529ea13863d13d5c4554b34bc208d96e1270","tarball":"https://registry.npmjs.org/@bluestep-systems/bspecs/-/bspecs-0.11.1.tgz","fileCount":83,"integrity":"sha512-62ktscP72f7uJ7hlV/6Dcg/OJUm8pDoNIlo5NV2ptBolXZoFw8mhXjxtb31lgGHDWb99hBMYUqZtmZBifr/iyQ==","signatures":[{"sig":"MEQCIEm0oZLm/vUBeEZsKtUcNzMZglzcpxSwnlHa6Q4hk42cAiATPhyasmKBPbn2yBt4fuvSjdoQeTAkWeD4iuLb5/HuMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bluestep-systems%2fbspecs@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":280971},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"73303f41cd2e5a47ea27946d9530d79ad410c8d0","scripts":{"start":"node cli.js"},"_npmUser":{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},"repository":{"url":"git+https://github.com/Bluestep-Systems/bspecs.git","type":"git"},"_npmVersion":"10.9.8","description":"Spec-driven BlueStep development with AI agents — scaffolder and project conventions for Claude Code","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@clack/prompts":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bspecs_0.11.1_1782324693103_0.5646589453109252","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@bluestep-systems/bspecs","version":"0.12.0","_id":"@bluestep-systems/bspecs@0.12.0","maintainers":[{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},{"name":"bblack-bluestep","email":"bblack@bluestep.net"},{"name":"brikelley","email":"bkelley@bluestep.net"}],"homepage":"https://github.com/Bluestep-Systems/bspecs#readme","bugs":{"url":"https://github.com/Bluestep-Systems/bspecs/issues"},"bin":{"bspecs":"cli.js"},"dist":{"shasum":"95ae9b0a3d2d763e0069ad5e5a5054155f7e743d","tarball":"https://registry.npmjs.org/@bluestep-systems/bspecs/-/bspecs-0.12.0.tgz","fileCount":83,"integrity":"sha512-2t0piZGbKeHX6pTI6x6iR56lWQXikxmOPyntyflyF0X6MjuUnDXVkH6BdBJ9mHcR+MmZ8B/ZnLwGAjKKXATLSQ==","signatures":[{"sig":"MEUCIQCi6rfrgLuucml15J2X53NUkkEPXRhveADMgUyBVd0ImAIgV8GFKFKbS2rTFUaPtyzwU9SP8PJjzQruxnClqLW6/G8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bluestep-systems%2fbspecs@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":289061},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"de5cce69211e29df95da52568d571bacbb96fa2e","scripts":{"start":"node cli.js"},"_npmUser":{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},"repository":{"url":"git+https://github.com/Bluestep-Systems/bspecs.git","type":"git"},"_npmVersion":"10.9.8","description":"Spec-driven BlueStep development with AI agents — scaffolder and project conventions for Claude Code","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@clack/prompts":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bspecs_0.12.0_1782398389181_0.1031262451112227","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@bluestep-systems/bspecs","version":"0.13.0","_id":"@bluestep-systems/bspecs@0.13.0","maintainers":[{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},{"name":"bblack-bluestep","email":"bblack@bluestep.net"},{"name":"brikelley","email":"bkelley@bluestep.net"}],"homepage":"https://github.com/Bluestep-Systems/bspecs#readme","bugs":{"url":"https://github.com/Bluestep-Systems/bspecs/issues"},"bin":{"bspecs":"cli.js"},"dist":{"shasum":"8087535ffe25e663d3f0f2e78d8b8c53e0190011","tarball":"https://registry.npmjs.org/@bluestep-systems/bspecs/-/bspecs-0.13.0.tgz","fileCount":79,"integrity":"sha512-1jGrG8ePX/PysgyMiOnZg42nHWFEhdgguFDxDaS+OJo8QMhf0y4XbT38LoU129IHOKx/4VVJ3p6Otz3rC9FLfA==","signatures":[{"sig":"MEUCIQCh1izwrTFOIWYzcoojKD9vAGh0J3x2CZIrnHDoi3DlbAIgDl/lIXkBo38wp9xNJZtvyRtZkF1zmqLd+Cev5r/9ECk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bluestep-systems%2fbspecs@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":279911},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"6c5d0c9c8b3bc28a92297df85d9c94520e18f7c9","scripts":{"start":"node cli.js"},"_npmUser":{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},"repository":{"url":"git+https://github.com/Bluestep-Systems/bspecs.git","type":"git"},"_npmVersion":"10.9.8","description":"Spec-driven BlueStep development with AI agents — scaffolder and project conventions for Claude Code","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@clack/prompts":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bspecs_0.13.0_1782409971307_0.1466516754602818","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@bluestep-systems/bspecs","version":"0.14.0","_id":"@bluestep-systems/bspecs@0.14.0","maintainers":[{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},{"name":"bblack-bluestep","email":"bblack@bluestep.net"},{"name":"brikelley","email":"bkelley@bluestep.net"}],"homepage":"https://github.com/Bluestep-Systems/bspecs#readme","bugs":{"url":"https://github.com/Bluestep-Systems/bspecs/issues"},"bin":{"bspecs":"cli.js"},"dist":{"shasum":"34ce9c587abe875766184e94cb608e9addb5a5e2","tarball":"https://registry.npmjs.org/@bluestep-systems/bspecs/-/bspecs-0.14.0.tgz","fileCount":81,"integrity":"sha512-l/1OYDHcFTadtubHxjQctg+xq0CTjnEIEDx/R5HMSQFeP6IWcYgtSbQb9JO/EEKXErI3bGIIAIN2lxHFrz4H7g==","signatures":[{"sig":"MEUCIQDCL2SZQTZIrey4FT3UrWJ5fM4Qxka4rsCRt8SAFnLBJQIgYNkwqXydoVEjT2Aq2WER75Pv/OvK3RTOArYs7eaEJcc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bluestep-systems%2fbspecs@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":285656},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"af7deea1361087809e8e04797f1c1bed9e71cc60","scripts":{"start":"node cli.js"},"_npmUser":{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},"repository":{"url":"git+https://github.com/Bluestep-Systems/bspecs.git","type":"git"},"_npmVersion":"10.9.8","description":"Spec-driven BlueStep development with AI agents — scaffolder and project conventions for Claude Code","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@clack/prompts":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bspecs_0.14.0_1782475613096_0.7520073926837081","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@bluestep-systems/bspecs","version":"0.15.0","description":"Spec-driven BlueStep development with AI agents — scaffolder and project conventions for Claude Code","type":"module","bin":{"bspecs":"cli.js"},"scripts":{"start":"node cli.js"},"dependencies":{"@clack/prompts":"^0.9.0"},"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/Bluestep-Systems/bspecs.git"},"_id":"@bluestep-systems/bspecs@0.15.0","gitHead":"fa5373ad494d7624259eb891d7edef3f8ca0c89a","bugs":{"url":"https://github.com/Bluestep-Systems/bspecs/issues"},"homepage":"https://github.com/Bluestep-Systems/bspecs#readme","_nodeVersion":"22.23.0","_npmVersion":"10.9.8","dist":{"integrity":"sha512-qvJccilE1QB57Zx36GVMa7rSmEmDaczDaYQPwimsqcYjqw3UtJIoBXcW9cQUUMB36OZF/Vbv73PDtSar3SBpLA==","shasum":"3b0dd0f37d8ba05b1138a50dfbdd4c1c42cce01a","tarball":"https://registry.npmjs.org/@bluestep-systems/bspecs/-/bspecs-0.15.0.tgz","fileCount":82,"unpackedSize":292773,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bluestep-systems%2fbspecs@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAD36tfuT6uhEFwSriJL9MJMNdObd0IBFatZgjSIcCarAiAKcIeLbTJyNe0xcwW+aGb88JPVojBTx1E1F+HJRUTh0g=="}]},"_npmUser":{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},"directories":{},"maintainers":[{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},{"name":"bblack-bluestep","email":"bblack@bluestep.net"},{"name":"brikelley","email":"bkelley@bluestep.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bspecs_0.15.0_1782505035420_0.731447135695195"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-24T13:57:17.563Z","modified":"2026-06-26T20:17:15.934Z","0.10.0":"2026-06-24T13:57:18.092Z","0.11.0":"2026-06-24T17:52:57.016Z","0.11.1":"2026-06-24T18:11:33.285Z","0.12.0":"2026-06-25T14:39:49.316Z","0.13.0":"2026-06-25T17:52:51.465Z","0.14.0":"2026-06-26T12:06:53.303Z","0.15.0":"2026-06-26T20:17:15.610Z"},"bugs":{"url":"https://github.com/Bluestep-Systems/bspecs/issues"},"homepage":"https://github.com/Bluestep-Systems/bspecs#readme","repository":{"type":"git","url":"git+https://github.com/Bluestep-Systems/bspecs.git"},"description":"Spec-driven BlueStep development with AI agents — scaffolder and project conventions for Claude Code","maintainers":[{"name":"fernandochaza-bs","email":"fchazarreta@bluestep.net"},{"name":"bblack-bluestep","email":"bblack@bluestep.net"},{"name":"brikelley","email":"bkelley@bluestep.net"}],"readme":"# @bluestep-systems/bspecs\n\nCLI for scaffolding BlueStep projects with spec-driven development conventions for Claude Code.\n\n## What it does\n\n`bspecs` generates a project directory ready to use with:\n\n- Claude Code skills (`/spec-create`, `/spec-execute`, `/b6p-pull`, `/b6p-push`, and more)\n- BlueStep subagents — `b6p-task-implementer` (isolated task execution; `/spec-execute` delegates to it), `b6p-commenter` (component README), `b6p-code-review` (report-only review)\n- Automatic hooks (prettier on save, generated-file blocking, `b6p` integration)\n- Instructions for Claude Code (the template tree is the single source of truth)\n- Spec templates (`requirements.md`, `design.md`, `tasks.md`)\n- The `b6p` CLI wired into each project as a devDependency, invoked via `npx b6p` (no global install or shell/PATH detection)\n\n## Installation\n\n`bspecs` and the `b6p` CLI it depends on are published to the **public npm registry**, so there is no\ntoken or `~/.npmrc` setup — install in one command:\n\n```sh\nnpm install -g @bluestep-systems/bspecs\n```\n\nThis installs the `bspecs` command. The `b6p` CLI is wired into each scaffolded project as a\ndevDependency and invoked via `npx b6p` — the scaffolder installs it for you (re-run `npm install` in\nthe project if you were offline).\n\n### Set your platform credentials (required, once per machine)\n\nThe npm install needs no token, but the `/b6p-pull`, `/b6p-push`, and `/b6p-audit` skills will not\nwork until you set your BlueStep platform credentials:\n\n```sh\nnpx -p @bluestep-systems/b6p-cli b6p auth set\n```\n\nRun this **once per machine** — credentials are stored globally in `~/.b6p`, not per project. This is\nunrelated to the npm registry. (The `-p` form is required because `b6p` is a project-local\ndevDependency; bare `npx b6p` resolves only inside a scaffolded project, where `npx b6p …` works.)\n\n## Usage\n\n### Scaffold a new project\n\nFrom the parent directory where you want to create the project:\n\n```sh\nbspecs new\n```\n\nThe interactive wizard asks for the project name, client, and an optional description. When done, it generates the project directory with the full structure and (unless you opt out) runs `git init`.\n\n### Add the tooling to an existing project\n\nAlready have a project and just want the Claude Code tooling? From inside that project's directory:\n\n```sh\nbspecs init\n```\n\n`bspecs init` installs the full tooling tree **in place** and is strictly non-destructive: any file that already exists is left untouched. The one exception is `package.json` — the `@bluestep-systems/b6p-cli` devDependency (and the `b6p` script) are merged in, preserving everything else. It then writes the `bspecs.lock` so `bspecs sync` works going forward. At the end it prints a report of every file it skipped because the name already existed; to install the `bspecs` version of any of them, rename or move your local copy and run `bspecs init` again. The client-name prompt is optional — press Enter to default to `BlueStep Client`. (No `git init` — an existing project owns its own VCS.)\n\n### Keep a project up to date\n\nWhen a new version of `bspecs` is published with improvements to skills, hooks, or instructions, update your global install and sync the project:\n\n```sh\nnpm update -g @bluestep-systems/bspecs\ncd my-project\nbspecs sync\n```\n\n`bspecs sync` compares each infrastructure file against the state it was in when scaffolded. Files you have not modified locally are updated; files you have edited are left untouched with a warning. If you believe your local changes would be useful across all BlueStep projects, open an issue in this repo so they can be incorporated into the scaffolder.\n\nProjects scaffolded with `bspecs 0.5.0` or later run `bspecs sync` automatically every time Claude Code opens the workspace — no manual action needed.\n\n## Prerequisites\n\n- **Node.js 18+**\n- **`b6p` CLI** — required for the `/b6p-pull`, `/b6p-push`, and `/b6p-audit` skills. Scaffolded\n  projects declare it as a devDependency (`@bluestep-systems/b6p-cli`, resolved from public npm with\n  no token); the scaffolder runs `npm install` for you (re-run it by hand if that failed) and the\n  skills invoke it via `npx b6p` — no global install, no shell/PATH detection. Set your platform\n  credentials once per machine with `npx b6p auth set` (see Installation).\n- **prettier** — required for the auto-format hook. `bspecs` warns if it is not found.\n\n## Generated structure\n\n```\nmy-project/\n├── CLAUDE.md                          ← project instructions for Claude\n├── README.md                          ← project documentation\n├── .prettierrc\n├── .gitignore\n├── package.json                      ← declares the b6p-cli devDependency\n└── .claude/\n    ├── bspecs.lock                    ← lock file for bspecs sync\n    ├── settings.json                  ← Claude Code permissions and hooks\n    ├── hooks/                         ← 3 scripts executed by Claude Code\n    ├── skills/                        ← 9 skills (/spec-create, /b6p-pull, /bspecs-feedback, etc.)\n    ├── agents/                        ← 3 BlueStep subagents (implementer, commenter, reviewer)\n    ├── instructions/                  ← development rules for Claude\n    ├── spec-templates/                ← spec file templates\n    └── templates/                     ← component scaffolding templates\n```\n\n## Proposing changes\n\n### Global changes (improvements for all projects)\n\nIf you find something that should be improved in the skills, hooks, instructions, or templates — something useful across all BlueStep projects — open an issue or PR in this repo. Once merged and published as a new version, `bspecs sync` propagates the change to all existing projects automatically.\n\n### Local changes (specific to your project)\n\nIf you need to adjust something only for your project (an extra permission in `settings.json`, a custom skill, changes to your `CLAUDE.md`), edit it directly in your repo. `bspecs sync` detects that those files were locally modified and leaves them untouched on future syncs.\n\n## Publishing\n\nThe package is published to the **public npm registry** under the `@bluestep-systems` organization\n(`access: public`). Only `cli.js`, `src/`, and `templates/` are included in the published package.\n\nReleases are automated by GitHub Actions — there is no manual `npm publish`:\n\n1. Bump `version` in `package.json` and commit.\n2. Tag the commit `vX.Y.Z` (matching the new version) and push the tag.\n3. `.github/workflows/publish.yml` fires on the tag, verifies the tag matches `package.json`, runs the\n   smoke checks, and publishes with `npm publish --provenance --access public`.\n\nPublishing needs the `NPM_TOKEN` repo secret (an npm automation token with publish rights to\n`@bluestep-systems`); the version guard fails the run early if the tag and `package.json` disagree.\n`.github/workflows/ci.yml` runs the same smoke checks on every pull request and push to the default\nbranch.\n","readmeFilename":"README.md"}