Skip to content

Commit e39c8e9

Browse files
committed
move from changesets to bumpy
1 parent 3b6b5cd commit e39c8e9

11 files changed

Lines changed: 102 additions & 153 deletions

File tree

.bumpy/README.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
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

.bumpy/_config.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"$schema": "../node_modules/@varlock/bumpy/config-schema.json",
3+
"baseBranch": "main",
4+
"changelog": [
5+
"github",
6+
{
7+
"internalAuthors": [
8+
"theoephraim"
9+
]
10+
}
11+
]
12+
}

.changeset/README.md

Lines changed: 0 additions & 8 deletions
This file was deleted.

.changeset/config.json

Lines changed: 0 additions & 11 deletions
This file was deleted.

.claude/skills/work-on/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: work-on
3-
description: Work on an issue or PR - implement changes, add tests, update docs, lint, add changesets, and create a PR
3+
description: Work on an issue or PR - implement changes, add tests, update docs, lint, add bump file, and create a PR
44
---
55

66
You are given an issue or external PR to implement. The input may be a URL, pasted issue text, or pasted PR diff/description.

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ jobs:
3232
- name: Lint
3333
run: bun run lint --format junit -o reports/junit/js-lint-results.xml
3434

35+
- run: bunx @varlock/bumpy ci check
36+
env:
37+
GH_TOKEN: ${{ github.token }}
38+
3539
- name: Test
3640
run: bun run test
3741
env:

.github/workflows/release.yml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,7 @@ jobs:
3838
run: bun run build
3939

4040
- name: Create Release PR or Publish
41-
uses: changesets/action@v1
42-
with:
43-
version: bunx changeset version
44-
publish: bunx changeset publish
45-
title: "[Changesets] Versioned release"
46-
commit: "[Changesets] Create versioned package(s) for publishing"
41+
run: bunx @varlock/bumpy ci release
4742
env:
48-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49-
NPM_CONFIG_PROVENANCE: true
43+
GH_TOKEN: ${{ github.token }}
44+
BUMPY_GH_TOKEN: ${{ secrets.BUMPY_GH_TOKEN }}

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
{
22
"editor.formatOnSave": true,
3+
"files.associations": {
4+
"**/.bumpy/_config.json": "jsonc",
5+
},
36
"[typescript]": {
47
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
58
},

CLAUDE.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ Goal of the project is to provide a simplified, more ergonomic interface compare
1111
- Tested with `vitest`
1212
- Linted with `eslint`
1313
- Uses `bun` as package manager
14-
- Versioning/releases managed with `changesets`
14+
- Env vars (for testing) managed with `varlock`
15+
- Versioning/releases managed with `@varlock/bumpy`
1516

1617
## Common Commands
1718
- `bun test` — run tests (vitest in watch mode)

0 commit comments

Comments
 (0)