Skip to content

feat(release): add releaseType and yes options for non-interactive release - #51

Merged
haoziqaq merged 1 commit into
mainfrom
feat/release-type-arg
Oct 16, 2026
Merged

haoziqaq merged 1 commit into
mainfrom
feat/release-type-arg

Conversation

@haoziqaq

Copy link
Copy Markdown
Member

Summary

vr release is interactive only, which blocks CI jobs and AI agents that have no TTY. This adds two options to release:

  • --release-type <type> (releaseType in the Node API): one of patch, minor, major, prepatch, preminor, premajor. Skips the release type prompt and the version confirmation. An invalid value throws and exits with code 1.
  • -y, --yes (yes): skips the git refs and npm registry confirmations. The refs, registry and version change are still printed with logger.info.

They can be used separately: --release-type alone still asks for the refs/registry confirmations, and --yes alone still asks for the release type.

pnpm exec vr release --release-type patch --yes

Both READMEs document the new flags.

Test plan

  • pnpm build, pnpm type-check
  • vp test run: 135 passed. New cases cover the flag passthrough, patch/minor/major with no prompts, releaseType without yes, and an invalid type
  • Smoke test in a temp git repo with a bare remote and stdin closed: vr release --release-type minor -y --skip-npm-publish bumped 1.2.3 → 1.3.0, generated the changelog and pushed the commit and v1.3.0 tag; --release-type huge exited with code 1

🤖 Generated with Claude Code

…lease

`vr release --release-type patch --yes` skips the release type prompt and
the refs/registry confirmations, so CI and AI agents can release without a TTY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@haoziqaq
haoziqaq merged commit 09ed087 into main Oct 16, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant