playbook/outfitter-agents/.claude/rules/changesets.md

1.7 KiB

Changesets

This repo uses changesets for version management. Changesets are created manually when you want to bump plugin versions.

When to Create a Changeset

Create a changeset when your PR includes changes that plugin consumers should know about:

Change Type Changeset? Example
New feature Yes (minor) Add new skill, agent, command
Bug fix Yes (patch) Fix skill behavior
Breaking change Yes (major) Rename skill, change API
Infrastructure No CI workflows, scripts
Documentation Usually no README updates
Tooling shims No package.json for tooling

Creating a Changeset

bun changeset

Interactive prompts will ask:

  1. Which packages to include (select affected plugins)
  2. Bump type (major/minor/patch)
  3. Summary of changes

This creates .changeset/{random-name}.md.

Manual Changeset Format

---
"outfitter": minor
"gt": patch
---

Add pathfinding skill and fix gt stack detection

CI Behavior

The changeset check is advisory, not blocking. It warns when plugin files change without a changeset but doesn't fail the build. This lets you merge infrastructure PRs without ceremony.

Release Flow

  1. PRs with changesets merge to main
  2. Changesets action creates a version PR with descriptive title (e.g., "chore: release outfitter@1.4.0")
  3. The release:publish label is added and auto-merge is enabled
  4. Once CI passes, the PR auto-merges (squash)
  5. Tags like outfitter@1.2.0 are created for each bumped plugin

Prerequisites: Repository must have "Allow auto-merge" enabled in Settings → General. Branch protection rules with required status checks ensure CI passes before merge.