@eventmodelers/cli 1.0.36 → 1.0.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/shared/skills/learn-eventmodelers-api/SKILL.md +22 -13
- package/stacks/modeling-kit/templates/.claude/skills/add-next-slice/SKILL.md +2 -23
- package/stacks/modeling-kit/templates/.claude/skills/add-next-slice/references/api-fallback.md +11 -0
- package/stacks/modeling-kit/templates/.claude/skills/analyze-existing-model/SKILL.md +6 -57
- package/stacks/modeling-kit/templates/.claude/skills/analyze-existing-model/references/api-fallback.md +68 -0
- package/stacks/modeling-kit/templates/.claude/skills/attributes/SKILL.md +4 -61
- package/stacks/modeling-kit/templates/.claude/skills/attributes/references/api-fallback.md +39 -0
- package/stacks/modeling-kit/templates/.claude/skills/discover-storyboard/SKILL.md +9 -53
- package/stacks/modeling-kit/templates/.claude/skills/discover-storyboard/references/api-fallback.md +63 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-applying-conways-law/SKILL.md +12 -380
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-applying-conways-law/references/examples.md +329 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-brainstorming-events/SKILL.md +45 -290
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-brainstorming-events/references/api-fallback.md +97 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-brainstorming-events/references/examples.md +35 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-checking-completeness/SKILL.md +15 -410
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-checking-completeness/references/api-fallback.md +22 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-checking-completeness/references/examples.md +397 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-core-rules/SKILL.md +182 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-automation-chains/SKILL.md +148 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-automation-chains/references/api-fallback.md +21 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-event-models/SKILL.md +48 -448
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-event-models/references/examples.md +167 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-elaborating-scenarios/SKILL.md +31 -380
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-elaborating-scenarios/references/api-fallback.md +31 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-elaborating-scenarios/references/examples.md +216 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-inputs/SKILL.md +33 -393
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-inputs/references/api-fallback.md +79 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-inputs/references/examples.md +282 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-outputs/SKILL.md +54 -454
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-outputs/references/api-fallback.md +67 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-outputs/references/examples.md +273 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-interview-protocol/SKILL.md +31 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/SKILL.md +37 -184
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/references/domain-patterns.md +58 -99
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/references/patterns.md +82 -163
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-orchestrating-event-modeling/SKILL.md +86 -78
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-orchestrating-event-modeling/references/api-fallback.md +51 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-plotting-events/SKILL.md +5 -5
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-plotting-events/references/api-fallback.md +10 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/SKILL.md +22 -51
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/references/api-fallback.md +41 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/references/examples.md +12 -9
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/references/patterns.md +1 -10
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-storyboarding-events/SKILL.md +29 -382
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-storyboarding-events/references/api-fallback.md +77 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-storyboarding-events/references/examples.md +271 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-translating-external-events/SKILL.md +12 -349
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-translating-external-events/references/examples.md +306 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models/SKILL.md +69 -107
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models/references/api-fallback.md +14 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models-checklist/SKILL.md +75 -160
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models-checklist/references/api-fallback.md +14 -0
- package/stacks/modeling-kit/templates/.claude/skills/examples/SKILL.md +3 -110
- package/stacks/modeling-kit/templates/.claude/skills/examples/references/api-fallback.md +118 -0
- package/stacks/modeling-kit/templates/.claude/skills/handle-comment/SKILL.md +5 -25
- package/stacks/modeling-kit/templates/.claude/skills/handle-comment/references/api-fallback.md +35 -0
- package/stacks/modeling-kit/templates/.claude/skills/html-screen/SKILL.md +9 -44
- package/stacks/modeling-kit/templates/.claude/skills/html-screen/references/api-fallback.md +51 -0
- package/stacks/modeling-kit/templates/.claude/skills/place-element/SKILL.md +34 -180
- package/stacks/modeling-kit/templates/.claude/skills/place-element/references/api-fallback.md +203 -0
- package/stacks/modeling-kit/templates/.claude/skills/storyboard/SKILL.md +14 -81
- package/stacks/modeling-kit/templates/.claude/skills/storyboard/references/api-fallback.md +74 -0
- package/stacks/modeling-kit/templates/.claude/skills/storyboard-screen/SKILL.md +4 -45
- package/stacks/modeling-kit/templates/.claude/skills/storyboard-screen/references/api-fallback.md +44 -0
- package/stacks/modeling-kit/templates/.claude/skills/timeline/SKILL.md +19 -88
- package/stacks/modeling-kit/templates/.claude/skills/timeline/references/api-fallback.md +91 -0
- package/stacks/modeling-kit/templates/.claude/skills/update-prompt-status/SKILL.md +1 -9
- package/stacks/modeling-kit/templates/.claude/skills/update-prompt-status/references/api-fallback.md +14 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-integrating-legacy-systems/SKILL.md +0 -674
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/references/snapshotting.md +0 -204
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Designing Event Models — Worked Examples
|
|
2
|
+
|
|
3
|
+
These are conceptual worked examples (Order domain) illustrating the event-model design reasoning this skill applies — useful for understanding the reasoning, but the actual instructions to follow live in the numbered Workflow sections of the main SKILL.md.
|
|
4
|
+
|
|
5
|
+
## 1. Design Events — worked example
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
Entity: Order (order-123)
|
|
9
|
+
|
|
10
|
+
Events (chronological):
|
|
11
|
+
1. OrderCreated
|
|
12
|
+
Triggered by: CreateOrder command
|
|
13
|
+
Data: customerId, items[], total, shippingAddress, createdAt
|
|
14
|
+
(from command: customerId, items[], shippingAddress)
|
|
15
|
+
(implicit: total calculated from items)
|
|
16
|
+
|
|
17
|
+
2. OrderConfirmed
|
|
18
|
+
Triggered by: ConfirmOrder command
|
|
19
|
+
Data: paymentId, confirmedAt
|
|
20
|
+
(from command: paymentId)
|
|
21
|
+
(implicit: orderId, previous status verified)
|
|
22
|
+
|
|
23
|
+
3. OrderShipped
|
|
24
|
+
Triggered by: ShipOrder command
|
|
25
|
+
Data: shipmentId, shippedAt
|
|
26
|
+
(from command: shipmentId)
|
|
27
|
+
(implicit: orderId, confirmed status verified)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 2. Design Commands — worked example
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
Command: ConfirmOrder
|
|
34
|
+
Source: UI or Processor (only these can issue)
|
|
35
|
+
Input: orderId, paymentId
|
|
36
|
+
|
|
37
|
+
Preconditions:
|
|
38
|
+
- order status is 'Draft' (reject: already confirmed)
|
|
39
|
+
- paymentId is valid (reject: invalid payment)
|
|
40
|
+
|
|
41
|
+
Outcomes:
|
|
42
|
+
Success: OrderConfirmed event
|
|
43
|
+
Data: paymentId, confirmedAt
|
|
44
|
+
Implicit: orderId, previous status
|
|
45
|
+
Rejection: error returned, no event created
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## 3. Design Read Models — worked example
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
ReadModel: OrderSummaryView
|
|
52
|
+
Purpose: UI displays customer order list, Processor checks order status
|
|
53
|
+
|
|
54
|
+
Subscribed to events:
|
|
55
|
+
- OrderCreated
|
|
56
|
+
- OrderConfirmed
|
|
57
|
+
- OrderShipped
|
|
58
|
+
- OrderCancelled
|
|
59
|
+
|
|
60
|
+
Data (optimized for queries):
|
|
61
|
+
{
|
|
62
|
+
orderId: string
|
|
63
|
+
customerId: string
|
|
64
|
+
total: number
|
|
65
|
+
status: string
|
|
66
|
+
createdAt: Date
|
|
67
|
+
confirmedAt?: Date
|
|
68
|
+
shippedAt?: Date
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
Update from events:
|
|
72
|
+
- OrderCreated → Insert row (id, customer, total, status='Draft')
|
|
73
|
+
- OrderConfirmed → Update status='Confirmed', set confirmedAt
|
|
74
|
+
- OrderShipped → Update status='Shipped', set shippedAt
|
|
75
|
+
- OrderCancelled → Update status='Cancelled'
|
|
76
|
+
|
|
77
|
+
Consumed by:
|
|
78
|
+
- UI: displays list of orders
|
|
79
|
+
- Processor: checks if order can be shipped
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## 4. Document Event Causality — worked example
|
|
83
|
+
|
|
84
|
+
```text
|
|
85
|
+
Command Flow:
|
|
86
|
+
CreateOrder command
|
|
87
|
+
→ OrderCreated event
|
|
88
|
+
↓ (may trigger downstream action)
|
|
89
|
+
ConfirmOrder command (depends on OrderCreated having happened)
|
|
90
|
+
→ OrderConfirmed event
|
|
91
|
+
↓ (may trigger downstream action)
|
|
92
|
+
ShipOrder command (depends on OrderCreated + OrderConfirmed having happened)
|
|
93
|
+
→ OrderShipped event
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## 5. Document State Transitions — worked example
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
Order State Transitions:
|
|
100
|
+
|
|
101
|
+
Initial state: (no order yet)
|
|
102
|
+
↓
|
|
103
|
+
CreateOrder → OrderCreated
|
|
104
|
+
↓
|
|
105
|
+
State: Draft
|
|
106
|
+
|
|
107
|
+
Draft state:
|
|
108
|
+
→ ConfirmOrder → OrderConfirmed → State: Confirmed
|
|
109
|
+
→ CancelOrder → OrderCancelled → State: Cancelled
|
|
110
|
+
|
|
111
|
+
Confirmed state:
|
|
112
|
+
→ ShipOrder → OrderShipped → State: Shipped
|
|
113
|
+
→ CancelOrder (rejected - already confirmed)
|
|
114
|
+
|
|
115
|
+
Shipped state:
|
|
116
|
+
→ No more transitions allowed
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Output Format — full worked example
|
|
120
|
+
|
|
121
|
+
```markdown
|
|
122
|
+
# Event Model: [Domain]
|
|
123
|
+
|
|
124
|
+
## Events
|
|
125
|
+
|
|
126
|
+
### Entity: Order
|
|
127
|
+
|
|
128
|
+
**Identity**: orderId
|
|
129
|
+
|
|
130
|
+
**Events**:
|
|
131
|
+
- OrderCreated: Initial event creating the order
|
|
132
|
+
Data: customerId, items[], total, shippingAddress
|
|
133
|
+
|
|
134
|
+
- OrderConfirmed: Payment confirmed
|
|
135
|
+
Data: paymentId, confirmedAt
|
|
136
|
+
|
|
137
|
+
- OrderShipped: Order shipped
|
|
138
|
+
Data: shipmentId, shippedAt
|
|
139
|
+
|
|
140
|
+
- OrderCancelled: Order cancelled
|
|
141
|
+
Data: cancelledAt, reason
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Commands
|
|
146
|
+
|
|
147
|
+
### Command: CreateOrder
|
|
148
|
+
- Input: customerId, items[], shippingAddress
|
|
149
|
+
- Preconditions: Items valid, customerId exists
|
|
150
|
+
- Events produced: OrderCreated
|
|
151
|
+
- Possible outcomes: Success (OrderCreated) or validation error
|
|
152
|
+
|
|
153
|
+
### Command: ConfirmOrder
|
|
154
|
+
- Input: orderId, paymentId
|
|
155
|
+
- Preconditions: Order in Draft status, payment validated
|
|
156
|
+
- Events produced: OrderConfirmed
|
|
157
|
+
- Possible outcomes: Success or "Already confirmed" error
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Read Models (Optional)
|
|
162
|
+
|
|
163
|
+
### ReadModel: OrderSummaryView
|
|
164
|
+
- Purpose: Quick lookup of order status
|
|
165
|
+
- Events: OrderCreated, OrderConfirmed, OrderShipped, OrderCancelled
|
|
166
|
+
- Queries served: GetOrder(orderId), ListOrdersByCustomer(customerId)
|
|
167
|
+
```
|