creating-changesets について
プロジェクトのリリース規約に沿って Changesets を作成するスキルです。メンテナーがパッケージのバージョン更新を選び、リリースノートを記述して、Changesets のリリースフローに備えられます。
主な機能
- 01patch、minor、major の更新ガイド
- 02対話式と手動での Changeset 作成
- 03Markdown 形式の例
- 04リリース手順とステータス確認
- 05よくあるミスとシナリオの説明
活用シーン
- 01完了した機能や修正の記録
- 02プルリクエスト前の変更準備
- 03破壊的変更の記録
- 04保留中のバージョン更新の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ saleor/ configurator --skill creating-changesetsインストール後、Claude Code で/creating-changesetsを入力して読み込まれたか確認します。
同梱ファイルreferences/scenarios.md
詳細
チェンジセット & リリースマネージャー
概要
プロジェクトの規約に従ってチェンジセットの作成を自動化し、適切なバージョンアップと十分に文書化されたリリースノートを保証します。
使用するタイミング
- 機能や修正を完了した後
- PR を作成する前
- リリースを準備するとき
- 破壊的変更を文書化するとき
チェンジセットとは?
チェンジセットは .changeset/ ディレクトリ内の markdown ファイルで、以下を記述します。
- どのパッケージが影響を受けるか
- どのタイプのバージョンアップ(patch/minor/major)か
- 変更内容の説明
チェンジセットの種類
| 種類 | 使用するタイミング | バージョン変更 |
|---|---|---|
patch | バグ修正、ドキュメント、リファクタリング、依存関係の更新 | 1.0.0 → 1.0.1 |
minor | 新機能、破壊的でない機能強化 | 1.0.0 → 1.1.0 |
major | 破壊的変更、API の変更 | 1.0.0 → 2.0.0 |
判断ガイド
patch を使用する場合:
- 動作を変えないバグ修正
- ドキュメントの更新
- 内部リファクタリング(API 変更なし)
- 依存関係の更新(破壊的でないもの)
- パフォーマンスの改善
- コードスタイル/リンティングの修正
minor を使用する場合:
- 新機能
- 新しい CLI コマンド
- 新しい設定オプション
- 機能の強化
- 新しいエンティティタイプのサポート
- 破壊的でない API の追加
major を使用する場合:
- 破壊的な設定変更
- 削除された機能やコマンド
- 変更された CLI インターフェース
- 必要な移行手順
- Node.js バージョン要件の変更
チェンジセットの作成
対話式の方法
pnpm changeset
プロンプトに従ってください:
- 影響を受けるパッケージを選択(スペースで選択)
- 各パッケージのバンプタイプを選択
- 変更内容の概要を記述
手動の方法
.changeset/ に任意の名前でファイルを作成します:
---
"@saleor/configurator": minor
---
Add support for reference attributes with entityType field
- Attributes of type REFERENCE now require an entityType field
- Introspection properly captures entity type references
- Deploy correctly handles reference attribute creation
ファイル形式
---
"package-name": patch|minor|major
---
Short description of the change (shown in CHANGELOG)
Optional longer description with:
- Bullet points for details
- Code examples if needed
- Migration instructions for breaking changes
リリースワークフロー
1. チェンジセットの作成
pnpm changeset
git add .changeset/
git commit -m "chore: add changeset for feature"
2. PR とレビュー
- チェンジセットは PR の一部です
- レビュアーはバンプタイプの変更を提案できます
3. main へのマージ
- Changesets アクションが「Version Packages」PR を作成します
- この PR がバージョンと CHANGELOG を更新します
4. バージョン PR のマージ
- npm publish をトリガーします
- GitHub リリースを作成します
ステータスの確認
# See what changesets exist
npx changeset status
# Preview version bump
npx changeset version --dry-run
よくある間違い
| 間違い | 問題 | 修正方法 |
|---|---|---|
| 誤ったバンプタイプ | 予期しないバージョン | 上記の判断ガイドを確認する |
| 曖昧な説明 | 不十分な CHANGELOG | 変更内容を具体的に記述する |
| チェンジセットの欠落 | リリースノートがない | PR の前に必ず追加する |
| 複数のチェンジセット | 断片的なノート | 関連する変更をまとめる |
| コンテキストの欠如 | 理解しにくい | 何をだけでなくなぜを説明する |
よくあるシナリオ
以下を含むよくあるシナリオの詳細な例については:
- バグ修正、新機能、破壊的変更
- 複数の関連する変更
- 統合されたチェンジセット
- プレリリースバージョン
- 説明のベストプラクティス
シナリオ & 例 を参照してください
参考資料
{baseDir}/.changeset/config.json- チェンジセットの設定{baseDir}/CHANGELOG.md- 生成された変更履歴- Changesets ドキュメント: https://github.com/changesets/changesets
関連スキル
- CI/CD 自動化: リリースワークフローの統合については
managing-github-ciを参照してください - コミット前の検証: コミット前の品質ゲートについては
validating-pre-commitを参照してください
コメント
Markdown 対応