Bump to Alpha Version and Update Dependencies
After a release, this command updates the project to the next alpha version and updates all dependencies within semver-compatible ranges.
Arguments
$ARGUMENTS specifies the new alpha version (e.g., 26.1.0-alpha.0).
If Arguments Not Provided
If no version is specified, automatically determine the next version options:
Read current version from root
package.jsonParse the version: Extract
MAJOR.MINOR.PATCH(ignore any existing prerelease suffix)Generate three options for the user to choose from:
- Patch bump:
MAJOR.MINOR.(PATCH+1)-alpha.0(e.g.,26.1.1-alpha.0) - Minor bump:
MAJOR.(MINOR+1).0-alpha.0(e.g.,26.2.0-alpha.0) - Major bump:
(MAJOR+1).1.0-alpha.0(e.g.,27.1.0-alpha.0)
- Patch bump:
Use
AskUserQuestionto let the user select:
AskUserQuestion({
questions: [{
question: "Which version bump do you want for the next alpha release?",
header: "Version",
multiSelect: false,
options: [
{
label: "26.1.1-alpha.0 (Patch)",
description: "Patch version bump - for small fixes and updates"
},
{
label: "26.2.0-alpha.0 (Minor)",
description: "Minor version bump - for new features (Recommended)"
},
{
label: "27.1.0-alpha.0 (Major)",
description: "Major version bump - for breaking changes"
}
]
}]
})
Note: If the current version already has -alpha.N suffix, strip it before calculating the next versions.
Process
1. Validate Version Format
- Ensure the version follows semver format with alpha suffix:
X.Y.Z-alpha.N - Example valid formats:
26.1.0-alpha.0,26.2.0-alpha.1
2. Update Root package.json Version
- Update the
versionfield in the root/package.jsonto the new alpha version
3. Run make versiontag
- This command propagates the version to all related files:
version.jsonindex.htmlmanifest.jsonreact/package.jsonpackages/backend.ai-ui/package.jsonelectron-app/package.json
4. Update Dependencies
Update dependencies in the following package.json files within semver-compatible ranges:
/packages/backend.ai-ui/package.json/react/package.json
Important Rules:
- Read
pnpm-workspace.yamlfirst to check the following settings:minimumReleaseAge: Minimum age in minutes for package versions (e.g., 10080 = 7 days)minimumReleaseAgeExclude: List of packages exempt from the minimum age rule
- Respect these settings when updating dependencies
- Use
pnpm updatewith appropriate flags for semver-compatible updates
5. Install Updated Dependencies
Run pnpm install to update the lockfile with new dependency versions.
6. Verify Changes and Fix TypeScript Errors
After updating dependencies, verify everything works correctly:
- Run
pnpm installto ensure no errors in dependency resolution - Check all package.json files have the correct version
- Note any peer dependency warnings
- Run TypeScript type checking to detect any type errors caused by updated packages:
# Check TypeScript errors in react package
pnpm --prefix ./react run typecheck
# Check TypeScript errors in backend.ai-ui package
pnpm --prefix ./packages/backend.ai-ui run typecheck
# Or run tsc directly if typecheck script is not available
pnpm --prefix ./react exec tsc --noEmit
pnpm --prefix ./packages/backend.ai-ui exec tsc --noEmit
If TypeScript errors occur, fix them before proceeding:
- Review the error messages to identify which updated packages caused the issue
- Common fixes include:
- Updating type definitions (
@types/*packages) - Adjusting code to match new API signatures
- Adding type assertions where needed
- Updating type definitions (
- Fix all errors before completing the version bump
Run build to ensure everything compiles:
pnpm run build
Commands Reference
# Update root package.json version (use Edit tool)
# Propagate version to all files
make versiontag
# Update dependencies in workspace packages
pnpm update --recursive --latest --workspace
# Or update specific packages
cd react && pnpm update
cd packages/backend.ai-ui && pnpm update
# If engine constraints block: pnpm 12 removed `--ignore-engines`; use the
# `engineStrict` setting instead (per-invocation via `--config.engine-strict`).
pnpm update --config.engine-strict=false
# Install to update lockfile
pnpm install
Output Summary
After completion, provide a summary including:
- Version Update: Old version -> New version
- Files Updated: List of files modified by
make versiontag - Dependencies Updated: Summary of updated packages with version changes
- Peer Dependency Warnings: Any warnings encountered
- Next Steps: Suggest committing changes if everything looks good
Example Workflow
User: /bump-alpha-version 26.1.0-alpha.0
Claude:
1. Updates package.json version to 26.1.0-alpha.0
2. Runs make versiontag
3. Updates dependencies in react/ and packages/backend.ai-ui/
4. Runs pnpm install
5. Runs typecheck + build
6. Provides summary of all changes
Notes
- Always verify the current version before updating
- Check git status before running to ensure a clean working directory
- This command does NOT create a commit - let the user decide when to commit
- If there are uncommitted changes, warn the user first