Set up auto-release in your repository:
auto-release initInteractively configures projects, versioning strategies, and git platform.
Validate configuration, change files, and release groups:
auto-release checkValidations:
- Component version consistency
- Change file content
- Group name conflicts (group names cannot match project names)
- Similar group names (case-insensitive)
- Group name special characters
Use in CI to ensure everything is valid before merging.
Create a new change file:
# Interactive
auto-release record-change
# Non-interactive
auto-release record-change --project my-app --type minorList all projects managed by auto-release with their current versions, grouped by release_group:
auto-release listOutput example:
found 5 projects in 3 groups:
Group: frontend (2 projects)
web-app (1.2.3)
./apps/web/package.json
mobile-app (2.0.1)
./apps/mobile/package.json
Group: api-service (1 project)
api-service (0.5.0)
./services/api/Cargo.toml
Create or update release PRs based on change files:
# Preview changes
auto-release generate-release-pr --dry-run
# Create/update PRs
auto-release generate-release-prProjects are grouped by release_group in the configuration. Projects in the same group are released together in a single PR.
PR Structure:
- Branch:
release/<group-name>(e.g.,release/frontend) - Title:
release: project-a@1.0.0, project-b@2.0.0(lists all projects with versions) - Body: Contains sections for each project's changelog
Create git tags and releases for version changes:
# Preview what would be tagged
auto-release tag-release-commit --dry-run
# Create tags and releases
auto-release tag-release-commitCompares HEAD with HEAD^1 to detect version changes. Creates tags in format project-name@version.
Create a manual release using existing change files:
auto-release manual-releaseUseful for local testing or emergency releases.