Releasing
SkillDev toolsUse when publishing @popkorn/* packages to npm — the changesets release flow, and why scripts/publish.ts exists and must not be simplified away.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Releasing skill
What this skill tells your AI
The instructions your AI receives, as published by ayarse/popkorn in .claude/skills/releasing-popkorn/SKILL.md and read by ahel’s review.
npm publishing is changesets + .github/workflows/release.yml: run bun changeset, merge to main, then merge the bot's "Version Packages" PR — that
merge publishes. Don't bun run release by hand.
scripts/publish.ts is a bun-specific shim. changesets shells out to npm publish for any non-pnpm repo, and npm applies neither publishConfig
field-overrides nor workspace:* resolution. So the script splices each
package's dist-pointing publishConfig onto its manifest AND rewrites
workspace:* deps → real versions before publishing, then git checkouts the
src-pointing dev manifests back (dev keeps main/types/exports on ./src so the
workspace runs build-free; only the published tarball points at ./dist).
Don't drop the workspace:* rewrite — without it the published tarballs are
uninstallable. The package set is derived from packages/*/package.json
minus private ones — never hand-list it; a hand-listed set is how
@popkorn/converters shipped 0.1.0–0.2.5 with raw workspace:* deps and
./src entry points (issue #12). Tests are bun:test, so switching to pnpm
(which would delete this shim) isn't worth it.
To check a tarball without publishing: bun scripts/publish.ts --dry-run <dir>
runs the same manifest transform, bun pm packs every publishable package into
<dir>, then restores the dev manifests.
Signals
- GitHub stars
- 23
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
releasing-popkorn- Source
- github.com/ayarse/popkorn