OSS探訪

変更ごとにSemVerの更新種別と変更履歴を記録し、monorepoのversion更新・package公開を一貫して管理する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
12,466
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/09/27
ページ内ナビ

概要

Changesetsはpackageのversionとchangelogを管理するCLIとworkflowです。contributorが変更内容、対象package、SemVerのbump typeをMarkdownのchangeset fileへ記録し、release時にそれらをまとめてversionとchangelogへ反映します。monorepoではpackage間の依存関係も考慮します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

変更時点で対象packageとSemVer bumpを記録する

changeset fileはYAML frontmatterにpackage名とpatch/minor/major等のbump type、本文にchangelogへ載せるsummaryを保持します。変更の意図をPRと一緒にversion管理できます。

出典:[2]

monorepo内の関連packageをまとめてversion更新する

Changesetsはmonorepoを主対象として設計され、相互依存するpackageのversion関係を保ちながら複数packageの変更をrelease planへまとめます。single-package repositoryでも同じworkflowを利用できます。

出典:[1][2]

versionとchangelog更新からpublishまで同じCLIで進める

changeset versionは蓄積したchangesetを消費してpackage versionとchangelogを更新し、changeset publishは更新済みpackageを公開してtagを作成します。

出典:[3]

向いている用途

複数packageを独立versionで公開するmonorepoに向く

library群やdesign systemなど、packageごとにrelease timingとSemVer bumpが異なるrepositoryで、変更者とrelease担当者の判断を分離したい場合に適します。

出典:[1][2]

導入前の確認

release不要の変更までchangeset必須にしない

公式guideは、releaseやchangelogに関係しない変更にはchangesetが不要であり、changesetがないことを一律にblocking conditionへしないよう案内しています。

出典:[2]

publish credentialとtag pushをCIで安全に扱う

publish時にはregistryへの権限が必要で、公式guideはaccess tokenの漏洩防止とtrusted publishingを推奨しています。作成されたGit tagをremoteへpushする工程もrelease flowへ含めます。

出典:[3]

CLI 3.0.3のNode・package manager要件を確認する

3.0.3はNode ^22.11 || ^24 || >=26を要求し、npm 10.9以上、pnpm 10以上、Yarn 4.5.2以上をsupport対象としています。CI runtimeを先に合わせてからv3へ更新します。

出典:[2][4][5]

参考にした公式資料

  1. [1]Changesets CLI 3.0.3 README(2026-10-03)
  2. [2]Changesets 3.0.3 getting started(2026-10-03)
  3. [3]Changesets 3.0.3 versioning and publishing(2026-10-03)
  4. [4]@changesets/cli 3.0.3 package metadata(2026-10-03)
  5. [5]@changesets/cli 3.0.3 release(2026-10-03)
  6. [6]Changesets MIT license(2026-10-03)
編集部からの補足

release判断をPR作成者の文脈が残っている時点で記録できるのが強みです。changesetを必須チェックにし過ぎるとrelease不要の変更まで負担になるため、documentやtestだけの変更をどう扱うかをteam ruleとして決めてください。

3ステップで試す

  1. 1

    Changesets CLI 3.0.3をdevelopment dependencyへ追加する

    Node ^22.11 || ^24 || >=26とnpm 10.9以上の既存package projectでversionを固定して導入します。

    npm install --save-dev @changesets/cli@3.0.3
  2. 2

    .changeset設定を初期化する

    repositoryに.changeset directoryとconfigを作成し、version/changelog管理を開始します。

    npx changeset init
  3. 3

    変更内容とSemVer bumpをchangesetへ記録する

    対象package、patch/minor/major、changelog用summaryを対話形式で入力し、生成されたMarkdown fileを変更と一緒にcommitします。

    npx changeset
公式READMEで確認

成長

成長の推移 · 直近30日

12,466 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
18
Open PR
76

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る
Stars
12,466
Forks
840
Watchers
45
Open Issues
194
Contributors
198
所有者種別
Organization
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/09/27

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?