release preview
Generates release name, tag, and changelog without mutating GitHub state.
GitHub Release Operations • Since v2.0.2
Yaba helps teams prepare changelogs, preview release payloads, create GitHub releases, and wire Slack notifications into repeatable release workflows. Recent upgrades add target-based release generation, release safety controls, config validation, channel-specific release notes, strategy-based tag generation, and resilient Slack retries.
$ npm i -g yaba-release-cli
$ yaba doctor
$ yaba release preview --repo my-repo --target release/2.1 --format json
$ yaba release create --repo my-repo --tag-strategy semver --publish --no-prompt
Core Commands
release previewGenerates release name, tag, and changelog without mutating GitHub state.
release createCreates a GitHub release using generated or explicit changelog content.
doctorVerifies token/config/network prerequisites before release operations.
config initCreates a project config template (yaba.config.json) for shared defaults.
config validateValidates resolved configuration schema before release operations.
Capabilities
Generate and create releases from an explicit branch, tag, or commit SHA via --target.
Use --allow-empty, --fail-on-empty, and --max-commits to enforce policy.
GitHub notes can be PR-label grouped, while Slack uses a human-readable newsletter format.
Choose pattern, semver, or sha, plus conflict policy and max attempts.
Publish retries transient webhook failures with exponential backoff (default 3 attempts).
Includes config validate and token-aware doctor output for fast issue triage.
Recent Updates
Added target commitish support and release safety guardrails for empty or oversized changelogs.
Introduced provider-based notification abstraction and improved publish flow reliability.
Added config validate and stronger schema checks for runtime configuration quality.
Added label-grouped GitHub notes with fallback and a dedicated Slack newsletter-style template.
Added strategy-based tags (pattern, semver, sha) with conflict handling.
Expanded integration coverage and refreshed architecture/development documentation for maintainability.
Quickstart
npm i -g yaba-release-cli
export YABA_GITHUB_ACCESS_TOKEN=your_token
yaba doctor (includes token type + repo access diagnostics)
yaba config validate --format json
yaba release preview --repo your-repo --target main
Automation Ready
yaba release preview \
--repo my-repo \
--owner my-org \
--format json
- run npm ci and npm test
- run yaba config validate --format json
- enforce release safety policy
- use semver/sha/pattern tag strategy intentionally
- fail early on validation mismatch
YABA_GITHUB_ACCESS_TOKEN # required
YABA_GITHUB_REPO_OWNER # optional
YABA_SLACK_HOOK_URL # optional
Start Releasing