GitHub Release Operations • Since v2.0.2

Ship consistent GitHub releases with one CLI.

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, configurable release notes grouping, strategy-based tag generation, resilient Slack retries, dedicated hotfix release support, GitHub status check gating before release creation, and an improved Slack newsletter format for release notes.

$ 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

Everything starts from seven explicit commands

release preview

Generates release name, tag, and changelog without mutating GitHub state.

Best for pull-request checks and CI policy gates.

release create

Creates a GitHub release using generated or explicit changelog content.

Supports --draft, --publish, and --no-prompt.

doctor

Verifies token/config/network prerequisites before release operations.

Use --format json for machine-readable diagnostics.

config init

Creates a project config template (yaba.config.json) for shared defaults.

Use --force to overwrite existing config.

config validate

Validates resolved configuration schema before release operations.

Great for CI guardrails with --format json.

release list

Browses the latest GitHub releases for a repository interactively or as JSON output.

Use --limit to control how many releases are fetched (default 5, 0 = all).

release hotfix

Creates a hotfix release using the dedicated hotfix_prod_global_YYYYMMDD.HHmm tag format.

Inherits all release create options with the tag pattern enforced automatically.

Capabilities

Designed for maintainers and CI pipelines

Target-based releases

Generate and create releases from an explicit branch, tag, or commit SHA via --target.

Release safety controls

Use --allow-empty, --fail-on-empty, and --max-commits to enforce policy.

Customizable release notes

GitHub notes grouped by PR labels with customizable label-to-section mappings via labelBuckets config. Slack uses a human-readable newsletter format.

Tag strategy engine

Choose pattern, semver, or sha, plus conflict policy and max attempts.

Resilient Slack delivery

Publish retries transient webhook failures with exponential backoff (default 3 attempts).

Config + diagnostics tooling

Includes config validate and token-aware doctor output for fast issue triage.

Recent Updates

What changed after v2.3.0

GitHub status check gating

Before creating a release, yaba now verifies that the target commit has all required GitHub status checks passing. Prevents releasing from a broken or in-progress CI state.

Improved release notes grouping and Slack newsletter

Release notes grouping logic and the Slack newsletter format have been improved for clearer, more readable announcements across both GitHub releases and Slack notifications.

Quickstart

Get from install to release preview in minutes

  1. Install

    npm i -g yaba-release-cli

  2. Set credentials

    export YABA_GITHUB_ACCESS_TOKEN=your_token

  3. Validate environment

    yaba doctor (includes token type + repo access diagnostics)

  4. Validate config

    yaba config validate --format json

  5. Preview release

    yaba release preview --repo your-repo --target main

Automation Ready

Built for release pipelines, not just manual runs

Example CI-safe invocation

yaba release preview \
  --repo my-repo \
  --owner my-org \
  --format json

Release pipeline contract

- 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

Environment variables

YABA_GITHUB_ACCESS_TOKEN   # required
YABA_GITHUB_REPO_OWNER    # optional
YABA_SLACK_HOOK_URL       # optional

Start Releasing

Use Yaba when release quality and consistency matter.