changeset ファイル生成
ルール
changeset コマンド(npx changeset など)は使わない。インタラクティブモードで起動するため、エージェントが操作を進められない。
代わりに、.changeset/ ディレクトリに直接ファイルを作成する。
フォーマット
ファイルパス: .changeset/<ファイル名>.md
ファイル名は happy-bears のような形容詞-名詞の組み合わせなど、他の changeset ファイルと被らない任意の名前にする。
---
"<パッケージ名>": <major|minor|patch>
---
<説明>
パッケージ名
プロジェクトの package.json を確認してパッケージ名を特定する。モノレポの場合は変更対象のパッケージを特定する。
bump type
| 種別 | 目安 |
| ------- | -------------------------------------- |
| major | 破壊的変更 |
| minor | 新機能の追加、後方互換性のある機能変更 |
| patch | バグ修正 |
バージョンが 0.x.y の場合、破壊的変更は major ではなく minor として扱う。
説明
内容
- リリースノートに掲載することを意識する
- ユーザー視点で何が変わったのか分かりやすく書く
- 変更の主題を 1 センテンスで書く
- 主題から逸れる補足情報は書かない(例: 主題が機能追加なら、付随するオプション名などは書かない。主題がオプション追加ならオプション名を書くのは当然 OK)
文体
- 辞書形か体言止めで書く(
Add、「追加する」、「追加」)
例
機能追加(minor)
NG — 過去形、補足情報が多い
---
"my-package": minor
---
--format オプションと --output オプションを追加した
OK
---
"my-package": minor
---
CSV エクスポート機能を追加する
バグ修正(patch)
NG — 実装視点、過去形
---
"my-package": patch
---
リストが空の場合の null チェックを追加した
OK
---
"my-package": patch
---
空のリストを渡したときにクラッシュする問題を修正する
破壊的変更(major)
NG — 過去形、補足情報が多い
---
"my-package": major
---
createUser 関数のシグネチャを変更しました。第2引数以降を options オブジェクトにまとめました
OK
---
"my-package": major
---
`createUser` の引数を options オブジェクト形式に変更する