| name | personal-create-changeset |
| description | changeset ファイルを生成します。ユーザーが changeset の作成を求めたときや、エージェントが changeset を作成するときに必ず使用してください。 |
| allowed-tools | Bash(fd:*), Bash(cat:*), Bash(git diff:*) |
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 オブジェクト形式に変更する