Alpha Publishing
Jess uses a guided alpha release flow so publishing is predictable, repeatable, and low-stress.
Publish scope
The current alpha publish set is controlled by:
scripts/release/alpha-allowlist.json
Packages not in the allowlist are intentionally excluded (for example, packages with private runtime dependencies).
Branch/tag guardrails
alphanpm tag publishes are only allowed from branchalpha.- non-alpha npm tags (future stable releases) are only allowed from branch
main. - These rules are enforced in the publish script, not just in docs.
Friendly one-command flow
From repo root:
pnpm run release:alpha:dry-run
If dry-run is healthy and you are on branch alpha:
pnpm run release:alpha
What the orchestrator does
release:alpha runs:
- Branch + working tree safety checks
- Baseline verification and publish-set validation
- Lockstep versioning (
changeset version) - Release commit + annotated git tag
- Push branch and tag
- Publish allowlisted packages to npm tag
alpha - npm smoke checks for
@alphainstalls
Manual commands (advanced)
- Preflight gate only:
pnpm run release:alpha:check
- Version only:
pnpm run release:alpha:version
- Publish only:
pnpm run release:alpha:publish
CI backup path
If you want Actions to publish instead of local CLI, run:
- Workflow:
.github/workflows/publish-alpha.yml - Trigger: manual
workflow_dispatchonly
The recommended default remains pnpm run release:alpha from CLI.
Recovery strategy
- If one package fails during publish, fix root cause and rerun
release:alpha:publish. - Avoid unpublish unless absolutely necessary and allowed by npm policy.
- Prefer releasing a new
-alpha.N+1with fixes.