bun-publish

v2026.09.24

Bun publish to npm. Use when the user wants to release to npm, preview with --dry-run, publish a scoped package with --access public, or enable --provenance signing.

GitHub
Install command
npx skhub add laurigates/bun-publish
Markdown
SKILL.md

/bun:publish

Publish package to npm registry after building with Bun.

When to Use This Skill

Use this skill when...Use bun-publishing instead when...
Executing a single npm publish action with the right flagsLooking up broader npm publishing workflow guidance and conventions
Previewing a publish with --dry-run before releasingConfiguring publishConfig, scoped-package access, or provenance setup
Releasing a scoped package with --access publicUse bun-build when you need to produce build artifacts before publishing
Enabling supply-chain --provenance signing on a releaseUse bun-lockfile-update when bumping dependencies before a release

Parameters

  • --dry-run: Preview publish without executing
  • --access: Access level (public or restricted)
  • --provenance: Enable supply chain provenance signing

Context

Detect package configuration:

cat package.json | jq '{name, version, publishConfig, bin, files, scripts: {prepublishOnly: .scripts.prepublishOnly}}'

Execution

Pre-publish Validation

# Type check
bun run tsc --noEmit 2>&1 | head -20

# Build
bun run build

# Verify tarball contents
npm pack --dry-run

Publish

Dry run (default for first attempt):

npm publish --dry-run {{ "--access " + ACCESS if ACCESS }}

Actual publish:

# Standard package
npm publish {{ "--access " + ACCESS if ACCESS }} {{ "--provenance" if PROVENANCE }}

# Scoped package (auto-detect from name starting with @)
npm publish --access public {{ "--provenance" if PROVENANCE }}

Scoped Package Detection

If package.json name starts with @:

  • Automatically add --access public unless explicitly restricted
  • Warn if publishConfig.access is not set in package.json

Post-publish

  1. Display published version: npm view <package> version
  2. Show installation command: npm install <package>
  3. Link to npm package page

Error Handling

402 Payment Required:

  • Scoped packages require --access public for public registry
  • Add publishConfig.access: "public" to package.json

Missing authentication:

  • Run npm login to authenticate
  • Or set NPM_TOKEN environment variable
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

typescript-plugin/skills/bun-publish

Default branch

main

Latest commit

1668324

Tree SHA

b2d4cc3