the sunniest version bumping tool
A git repo with a remote
beachball [command] [options]
change (default)
a tool to help create change files in the change/ folder
checks whether a change file is needed for this branch
bumps versions as well as generating changelogs
bumps, publishes to npm registry, and pushes changelogs back into the target branch
synchronizes published versions of packages from a registry, makes local package.json changes to match what is published
Some of the most common options are summarized below. For all options, see the pages for CLI options and config file options.
Explicit configuration file to use instead of the configuration automatically detected by cosmicconfig.
registry, defaults to https://registry.npmjs.org
- for the
publishcommand: dist-tag for npm publishes - for the
synccommand: will use specified tag to set the version
target branch from remote (default: as configured in git config init.defaultBranch)
- for the
publishcommand: message for the checkin (default: "applying package updates") - for the
changecommand: change file comment for all changed packages
for the change command: change type for all changed packages
for the change command: specific package(s) to create a change file for
skip pushing changes back to git remote origin
skip publishing to the npm registry
show help message
skips the prompts for publish
# check for change files
beachball check
# interactively create change files
beachball change
# non-interactively create change files
beachball change --type patch --message "awesome changes"
# publish changes
beachball publish -r http://localhost:4873 -t betaIn large monorepos, the process of fetching versions for sync or before publishing can be time-consuming due to the high number of packages. To optimize performance, you can override the concurrency for fetching from the registry by setting options.npmReadConcurrency (default: 5). You can also increase concurrency for hook calls and publish operations via options.concurrency (default: 1; respects topological order).
Beachball does not have a public API beyond the provided options. Usage of private APIs is not supported and may break at any time.
If you need to customize something beyond what's currently supported in the options, please open a feature request or talk with the maintainers.
Normally, Beachball uses an interactive CLI prompt for generating change files. Since this doesn't work for AI agents, we have a change file skill with manual instructions.