Publish seiro and create-seiro packages to npm following the ordered release runbook. Use when the user wants to publish or release a new version.
Publish seiro and create-seiro packages to npm. Both packages MUST have the same version number.
Before starting, verify ALL of the following. Do NOT proceed if any check fails.
Tests pass (from repo root):
bun run test # runs create-seiro tests
bun run test:example # runs example tests (requires postgres via docker)
If tests fail, STOP. Do not publish.
No uncommitted changes: git status shows clean working tree
On main branch: git branch --show-current returns main
CHANGELOG.md is up to date: packages/seiro/CHANGELOG.md has an entry for the new version with all changes documented
Execute these steps IN ORDER. Do not skip steps. Wait for npm to confirm each publish before proceeding.
npm view seiro version
npm view create-seiro version
Both should match. Bump to next patch version (e.g., 0.1.5 → 0.1.6).
# Edit packages/seiro/CHANGELOG.md
# - Change "[X.Y.Z] - Unreleased" to "[X.Y.Z] - YYYY-MM-DD" (today's date)
# - Add new "[X.Y.Z+1] - Unreleased" section at top for future changes
# Edit packages/seiro/package.json - set new version
# Then:
git add packages/seiro/package.json packages/seiro/CHANGELOG.md
git commit -m "Bump [email protected]"
git tag [email protected]
git push origin main --tags
# Poll until version appears (may take 30+ seconds)
npm view seiro version
Do NOT proceed until the new version is confirmed on npm.
# Edit template/package.json - set "seiro": "^X.Y.Z"
rm -rf packages/create-seiro/template
cp -r template packages/create-seiro/template
# Edit packages/create-seiro/package.json - set same version as seiro
# Then:
git add -A
git commit -m "Bump [email protected] with seiro@^X.Y.Z dependency"
git tag [email protected]
git push origin main --tags
npm view create-seiro version
bun pm cache rm
# Test the published package
rm -rf /tmp/test-publish
bunx [email protected] /tmp/test-publish
grep '"seiro"' /tmp/test-publish/package.json
# Should show: "seiro": "^X.Y.Z"