Release & Publishing Guide
Package: bigpowers on npm
Quick Start
Section titled “Quick Start”1. Setup (one-time)
Section titled “1. Setup (one-time)”# Add NPM_TOKEN to GitHub Secrets# → GitHub repo → Settings → Secrets and variables → Actions# → New secret: NPM_TOKEN (from npmjs.org → Access Tokens)
# Commit setupgit add .github/ .releaserc.json .gitmessage package.json package-lock.jsongit commit -m "chore: add semantic-release automation"git push origin main2. Making Releases
Section titled “2. Making Releases”Just commit with conventional messages:
git commit -m "feat(new-skill): add orchestrate-project skill"git commit -m "fix(sync-skills): handle missing directories"git push origin mainAutomatically:
- ✅ Analyzes commits
- ✅ Bumps version (semver)
- ✅ Updates CHANGELOG.md
- ✅ Creates git tag (v1.2.3)
- ✅ Publishes to npm
- ✅ Creates GitHub Release
3. Check Release Status
Section titled “3. Check Release Status”# View Actions# GitHub → Actions → Release workflow
# View published versionnpm view bigpowers
# View releases# GitHub → ReleasesPer-Project Semver Convention (v2.0.0)
Section titled “Per-Project Semver Convention (v2.0.0)”When using bigpowers to build a project (not the bigpowers package itself), the recommended semver lifecycle is:
| Stage | Version | How |
|---|---|---|
| Pre-delivery | 0.0.0-β |
Initial state after seed-conventions |
Each feat: story lands |
0.1.0, 0.2.0, … |
semantic-release minor bump |
| Developer declares MVP | 1.0.0 |
Allow the 1.0.0 tag in release config |
| Post-MVP features | 1.1.0, 1.2.0, … |
Normal semver from Conventional Commits |
This keeps all pre-MVP work in the
0.x.xrange, making the1.0.0tag a meaningful project milestone rather than an arbitrary number.
Commit Message Format
Section titled “Commit Message Format”Required for automatic releases:
feat(scope): description # Minor version bump (0.1.0 → 0.2.0 or 1.0.0 → 1.1.0)fix(scope): description # Patch version bump (1.0.0 → 1.0.1)docs: description # No version bumpExamples:
feat(skills): add new craft-skill commandfix(sync): handle edge case in directory creationdocs: update README with examplesfeat(develop-tdd)!: redesign test structure # Major bump (BREAKING)See .github/CONVENTIONAL-COMMITS.md for full format.
Manual Release (Local)
Section titled “Manual Release (Local)”For full semantic-release (GitHub + npm + changelog):
export GITHUB_TOKEN=$(gh auth token)export NPM_TOKEN=[from npmjs.org]
npm run releaseTo publish the current package.json version to npm only:
npm publishVersion History
Section titled “Version History”All releases in:
CHANGELOG.md— generated from commits- GitHub → Releases — GitHub release page
npm view bigpowers versions— all npm versions
Troubleshooting
Section titled “Troubleshooting”No release created after push? → Commits may not follow conventional format → Check Actions log: GitHub → Actions → Release workflow
“ENOAUTH” error? → Verify NPM_TOKEN in GitHub Secrets
Want to skip release for a commit?
→ Add [skip ci] in commit message:
chore: update docs [skip ci]Architecture
Section titled “Architecture”.releaserc.json— configuration.github/workflows/publish.yml— GitHub Actions workflow.gitmessage— commit template (optional)package.json— version source of truthCHANGELOG.md— auto-generated release notes
See .github/SEMANTIC-RELEASE.md for detailed setup.
v3.0 Launch Note — Semantic Bridge
Section titled “v3.0 Launch Note — Semantic Bridge”The v3.0 “Semantic Bridge” release ships the public receipts page as its
centerpiece: a live evidence dashboard at /receipts that renders bigpowers’
own quality metrics — each with provenance and freshness. Every section degrades
to “not yet measured” — this page never fabricates a number.
See the receipts page for live data.