Skip to content

Migration Guide ​

Moving to bonvoy from another release tool? Here's how.

From Changesets ​

What Changes ​

Changesetsbonvoy
npx changeset to create change fileConventional commits (no files needed)
npx changeset version to bumpnpx bonvoy shipit does everything
npx changeset publish to publishIncluded in shipit
.changeset/ directory requiredNo change files by default
PR workflow mandatoryDirect release or PR — your choice

Steps ​

  1. Install bonvoy:

    bash
    npm install -D bonvoy
    npm uninstall @changesets/cli @changesets/changelog-github
  2. Remove changeset config:

    bash
    rm -rf .changeset
  3. Update CI workflow — replace changeset commands with:

    bash
    npx bonvoy shipit
  4. Start using conventional commits:

    bash
    git commit -m "feat: add new feature"   # instead of creating a changeset file

Want to Keep Change Files? ​

Install @bonvoy/plugin-changeset — it reads .changeset/*.md files in the same format:

bash
npm install -D @bonvoy/plugin-changeset

bonvoy reads both .changeset/ and .bonvoy/ directories.

From semantic-release ​

What Changes ​

semantic-releasebonvoy
Fully automatic on every pushYou decide when to release
Complex plugin configSensible defaults, minimal config
.releaserc with plugin chainsbonvoy.config.js (optional)
No monorepo supportMonorepo-native

Steps ​

  1. Install bonvoy:

    bash
    npm install -D bonvoy
    npm uninstall semantic-release @semantic-release/*
  2. Remove semantic-release config:

    bash
    rm .releaserc .releaserc.json .releaserc.yml
  3. Update CI — replace npx semantic-release with:

    bash
    npx bonvoy shipit

Your conventional commits work the same way. No changes to your commit workflow.

From release-it ​

What Changes ​

release-itbonvoy
Interactive promptsNon-interactive (CI-friendly)
No monorepo supportMonorepo-native
.release-it.json configbonvoy.config.js (optional)
Manual version selectionAutomatic from commits or forced

Steps ​

  1. Install bonvoy:

    bash
    npm install -D bonvoy
    npm uninstall release-it @release-it/*
  2. Remove release-it config:

    bash
    rm .release-it.json .release-it.js
  3. Update CI and scripts:

    bash
    npx bonvoy shipit          # automatic bump
    npx bonvoy shipit minor    # force minor (like release-it prompt)

From release-please ​

What Changes ​

release-pleasebonvoy
PR-only workflowDirect or PR — your choice
GitHub App or ActionSimple CLI
release-please-config.jsonbonvoy.config.js (optional)
Complex manifest configZero config for common cases

Steps ​

  1. Install bonvoy:

    bash
    npm install -D bonvoy
  2. Remove release-please config:

    bash
    rm release-please-config.json .release-please-manifest.json
  3. Remove the release-please GitHub Action and replace with:

    yaml
    - run: npx bonvoy shipit
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

If you want to keep the PR workflow:

javascript
// bonvoy.config.js
export default {
  workflow: 'pr',
};

Released under the MIT License.