# Bump Version

Use when bumping the Wayland version: update package.json, run checks, branch, commit...

- Repository: https://github.com/FerroxLabs/wayland (616 stars)
- Category: Git and review
- License: AGPL-3.0
- Last updated: 2026-10-31
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add FerroxLabs/wayland --skill bump-version -g -a claude-code -y`
Codex: `npx skills add FerroxLabs/wayland --skill bump-version -g -a codex -y`
Cursor: `npx skills add FerroxLabs/wayland --skill bump-version -g -a cursor -y`
Gemini CLI: `npx skills add FerroxLabs/wayland --skill bump-version -g -a gemini-cli -y`

## Description

Use when bumping the Wayland version: update package.json, run checks, branch, commit, push, create PR, wait for merge, tag release.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Bump Version

Automate the Wayland version bump workflow: update version → quality checks → branch → commit → push → PR → tag.

**Usage:** `/bump-version [version]`

- `/bump-version 1.8.17` - bump to specified version
- `/bump-version` - auto-increment patch (e.g. `1.8.16` → `1.8.17`)

## Workflow

### Step 1: Pre-flight Checks

```bash
git branch --show-current
git status --short
```

- **Not on `main`** → Stop: "Please switch to main before running bump-version."
- **Dirty working tree** → Stop: "There are uncommitted changes. Please commit or stash them first."

### Step 2: Pull Latest

```bash
git pull --rebase origin main
```

Fails → Stop: "Failed to pull latest code. Please resolve conflicts or network issues first."

### Step 3: Determine Target Version

Read `package.json` → extract `version` field.

- **Argument provided** → use as-is
- **No argument** → parse `major.minor.patch`, increment `patch` by 1

Display: "Bumping version: {current} → {target}"

### Step 4: Update package.json

Use Edit tool to replace:

- old: `"version": "{current}"`
- new: `"version": "{target}"`

### Step 5: Quality Checks

```bash
bun run lint
bun run format
bunx tsc --noEmit
```

- **lint fails** → Stop: "Lint errors found. Please fix them before bumping the version."
- **format** → Auto-fixes silently.
- **tsc fails** → Stop: "TypeScript errors found. Please fix them before bumping the version."

### Step 6: Run Tests

```bash
bunx vitest run
```

Fails → Stop: "Tests failed. Please fix failing tests before bumping the version."

### Step 7: Branch, Commit, Push

```bash
git checkout -b chore/bump-version-{target}
git add -A
git commit -m "chore: bump version to {target}"
git push -u origin chore/bump-version-{target}
```

### Step 8: Create PR

```bash
gh pr create --base main \
  --title "chore: bump version to {target}" \
  --body "Bump version to {target}"
```

Display PR URL. Then pause:

The rest: https://github.com/FerroxLabs/wayland/blob/HEAD/.claude/skills/bump-version/SKILL.md
