|
| 1 | +# 🐸 Bumpy |
| 2 | + |
| 3 | +This directory is used by [bumpy](https://bumpy.varlock.dev) to manage versioning and changelogs. |
| 4 | + |
| 5 | +Bumpy is a modern versioning tool for JavaScript/TypeScript projects (monorepos and single packages). It uses **bump files** — small markdown files in this directory — to declare pending version changes. These files are consumed during the release process to compute version bumps, update changelogs, and publish packages. |
| 6 | + |
| 7 | +## How it works |
| 8 | + |
| 9 | +1. When you make a change that should trigger a release, create a bump file (typically one per PR) |
| 10 | +2. Bump files accumulate on your main branch until you're ready to release |
| 11 | +3. At release time, bumpy merges all pending bumps into a release plan, updates versions and changelogs, and publishes packages |
| 12 | + |
| 13 | +## Creating bump files |
| 14 | + |
| 15 | +### Interactive |
| 16 | + |
| 17 | +```bash |
| 18 | +bunx bumpy add |
| 19 | +``` |
| 20 | + |
| 21 | +### Non-interactive (useful for AI-assisted development) |
| 22 | + |
| 23 | +```bash |
| 24 | +bunx bumpy add --packages "package-name:minor,other-package:patch" --message "Description of changes" --name "my-change" |
| 25 | +``` |
| 26 | + |
| 27 | +### By hand |
| 28 | + |
| 29 | +Create a `.md` file in this directory with YAML frontmatter mapping package names to bump levels (`major`, `minor`, `patch`, or `none`), and a markdown body for the changelog entry: |
| 30 | + |
| 31 | +```markdown |
| 32 | +--- |
| 33 | +'package-name': minor |
| 34 | +--- |
| 35 | + |
| 36 | +Added a new feature. |
| 37 | +``` |
| 38 | + |
| 39 | +### From conventional commits |
| 40 | + |
| 41 | +```bash |
| 42 | +bunx bumpy generate |
| 43 | +``` |
| 44 | + |
| 45 | +### Empty bump files |
| 46 | + |
| 47 | +For PRs that intentionally don't need a release (docs, CI, etc.): |
| 48 | + |
| 49 | +```bash |
| 50 | +bunx bumpy add --empty --name "docs-update" |
| 51 | +``` |
| 52 | + |
| 53 | +## Keeping bump files up to date |
| 54 | + |
| 55 | +As a PR evolves, make sure its bump file stays in sync. If the scope of changes grows (e.g., a patch becomes a new feature), update the bump level and description to match. Reviewers and AI assistants should treat the bump file as part of the PR — just like tests and docs. |
| 56 | + |
| 57 | +## Files in this directory |
| 58 | + |
| 59 | +- `_config.json` — bumpy configuration |
| 60 | +- `README.md` — this file |
| 61 | +- `*.md` (other than README.md) — pending bump files |
| 62 | + |
| 63 | +📖 Full documentation: https://bumpy.varlock.dev |
0 commit comments