# event-storming > Event Stormingでイベント(動詞の過去形)を中心に、コマンド・集約・リードモデルを抽出/命名/レビューする作業に使う - Author: Junichi Kato - Repository: j5ik2o/cqrs-es-spec-kit-js - Version: 20260111154934 - Stars: 3 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/j5ik2o/cqrs-es-spec-kit-js - Web: https://mule.run/skillshub/@@j5ik2o/cqrs-es-spec-kit-js~event-storming:20260111154934 --- --- name: event-storming description: Event Stormingでイベント(動詞の過去形)を中心に、コマンド・集約・リードモデルを抽出/命名/レビューする作業に使う metadata: short-description: Event Storming支援 --- # Event Storming ## 使う場面 - 要件や仕様にイベントの説明が不足している - イベント名の命名やイベント/リソースの区別に迷う - Event Storming成果物(イベント/コマンド/集約/リードモデル)を整理・追記したい ## ルール(要点) - イベントはドメインの重要な出来事で、動詞の過去形で表現する - イベントはビジネスの重要な振る舞いを表すため、イベント中心に整理する - 原則として **1コマンドに対して1イベント** とし、1コマンドで複数イベントを生成しない - コマンド名の動詞とイベント名の動詞は対応させる(例: `AddCartItem` → `CartItemAdded`) - 動詞が異なる場合は別イベントとみなし、混同しない(例: `AppendCartItem` に `CartItemAdded` を割り当てない) - 関係の表現は「R(, )」で整理する 詳細は `references/event-storming-notes.md` を参照する。 ## 手順(簡潔) 1. 重要な出来事を列挙し、イベント名を過去形で確定する 2. 各イベントに対応するコマンドを逆算して決める 3. イベントを受け取る集約を決め、境界を調整する 4. クエリで必要なリードモデルを定義する 5. R(Event, Resource) / R(Event, Event) / R(Resource, Resource) を整理する 6. イベント/リソースの区別が曖昧なら判定ルールを適用する ## 出力テンプレート ``` ## Event Storming の前提モデル ### イベント - ... ### コマンド - ... ### 集約 - ... ### リードモデル - ... ```