changesets
Assists with managing versioning and changelogs in JavaScript/TypeScript monorepos using Changesets. Use when automating semantic versioning, generating changelogs from PRs, coordinating multi-package releases, or publishing to npm. Trigger words: changesets, versioning, changelog, npm publish, monorepo release, semver.
Usage
Getting Started
- Install the skill using the command above
- Open your AI coding agent (Claude Code, Codex, Gemini CLI, or Cursor)
- Reference the skill in your prompt
- The AI will use the skill's capabilities automatically
Example Prompts
- "Review the open pull requests and summarize what needs attention"
- "Generate a changelog from the last 20 commits on the main branch"
Documentation
Overview
Changesets is a versioning and changelog management tool for JavaScript/TypeScript monorepos. Developers add changeset files describing their changes, then CI consumes them to bump package versions, generate changelogs, and publish to npm with coordinated releases across interdependent packages.
Instructions
- When adding a change, run
npx changeset, select affected packages, choose the semver bump type (patch, minor, major), write a user-facing description, and commit the generated.changeset/xxx.mdfile with the PR. - When releasing versions, run
npx changeset versionto consume pending changesets, bumppackage.jsonversions, updateCHANGELOG.mdper package, and handle dependency bumps automatically. - When publishing, run
npx changeset publishto publish changed packages to npm, create git tags, and skip unchanged packages. - When automating with CI, use
changesets/actionin GitHub Actions to automatically create a "Version Packages" PR and publish on merge. - When coordinating packages, use
linkedfor packages that must share the same version (CLI + SDK) andfixedfor monorepo-wide versioning. - When testing pre-releases, use snapshot releases (
--snapshot preview) for CI testing or pre-release mode (changeset pre enter next) for-next.0versions.
Examples
Example 1: Set up automated releases for a monorepo
User request: "Configure Changesets for automated versioning and publishing in my Turborepo monorepo"
Actions:
- Install
@changesets/cliand runnpx changeset initto create.changeset/config.json - Configure
@changesets/changelog-githubfor PR links and author attribution - Add
changesets/actionto GitHub Actions for automatic "Version Packages" PR creation - Set up CI check that requires a changeset file on PRs affecting published packages
Output: A monorepo with automated versioning, changelog generation, and npm publishing triggered by merging the version PR.
Example 2: Coordinate a breaking change across multiple packages
User request: "Release a major version bump for our core package and patch bumps for all dependents"
Actions:
- Run
npx changesetand select the core package withmajorbump - Write a description of the breaking change for the changelog
- Run
npx changeset versionwhich bumps the core package and patches all dependents - Review the generated changelogs and version bumps, then merge
Output: A coordinated release with a major bump on the core package and automatic patch bumps on all dependent packages.
Guidelines
- Require changesets on every PR that affects published packages and enforce with a CI check.
- Write changeset descriptions for users, not developers: "Fixed button hover state" not "Refactored CSS modules."
- Use
linkedfor packages that must stay in sync, such as CLI and SDK pairs. - Use snapshot releases for testing PRs since they publish
0.0.0-timestampversions for CI testing. - Use
@changesets/changelog-githubfor open-source projects to include PR links and author attribution. - Keep
.changeset/config.jsonin the repo root as project configuration.
Information
- Version
- 1.0.0
- Author
- terminal-skills
- Category
- Development
- License
- Apache-2.0