omgkit 2.12.0 → 2.15.0
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/README.md +97 -12
- package/package.json +2 -2
- package/plugin/agents/api-designer.md +5 -0
- package/plugin/agents/architect.md +8 -0
- package/plugin/agents/brainstormer.md +4 -0
- package/plugin/agents/cicd-manager.md +6 -0
- package/plugin/agents/code-reviewer.md +6 -0
- package/plugin/agents/copywriter.md +2 -0
- package/plugin/agents/data-engineer.md +255 -0
- package/plugin/agents/database-admin.md +10 -0
- package/plugin/agents/debugger.md +10 -0
- package/plugin/agents/devsecops.md +314 -0
- package/plugin/agents/docs-manager.md +4 -0
- package/plugin/agents/domain-decomposer.md +181 -0
- package/plugin/agents/embedded-systems.md +397 -0
- package/plugin/agents/fullstack-developer.md +12 -0
- package/plugin/agents/game-systems-designer.md +375 -0
- package/plugin/agents/git-manager.md +10 -0
- package/plugin/agents/journal-writer.md +2 -0
- package/plugin/agents/ml-engineer.md +284 -0
- package/plugin/agents/observability-engineer.md +353 -0
- package/plugin/agents/oracle.md +9 -0
- package/plugin/agents/performance-engineer.md +290 -0
- package/plugin/agents/pipeline-architect.md +6 -0
- package/plugin/agents/planner.md +12 -0
- package/plugin/agents/platform-engineer.md +325 -0
- package/plugin/agents/project-manager.md +3 -0
- package/plugin/agents/researcher.md +5 -0
- package/plugin/agents/scientific-computing.md +426 -0
- package/plugin/agents/scout.md +3 -0
- package/plugin/agents/security-auditor.md +7 -0
- package/plugin/agents/sprint-master.md +17 -0
- package/plugin/agents/tester.md +10 -0
- package/plugin/agents/ui-ux-designer.md +12 -0
- package/plugin/agents/vulnerability-scanner.md +6 -0
- package/plugin/commands/data/pipeline.md +47 -0
- package/plugin/commands/data/quality.md +49 -0
- package/plugin/commands/domain/analyze.md +34 -0
- package/plugin/commands/domain/map.md +41 -0
- package/plugin/commands/game/balance.md +56 -0
- package/plugin/commands/game/optimize.md +62 -0
- package/plugin/commands/iot/provision.md +58 -0
- package/plugin/commands/ml/evaluate.md +47 -0
- package/plugin/commands/ml/train.md +48 -0
- package/plugin/commands/perf/benchmark.md +54 -0
- package/plugin/commands/perf/profile.md +49 -0
- package/plugin/commands/platform/blueprint.md +56 -0
- package/plugin/commands/security/audit.md +54 -0
- package/plugin/commands/security/scan.md +55 -0
- package/plugin/commands/sre/dashboard.md +53 -0
- package/plugin/registry.yaml +711 -0
- package/plugin/skills/ai-ml/experiment-tracking/SKILL.md +338 -0
- package/plugin/skills/ai-ml/feature-stores/SKILL.md +340 -0
- package/plugin/skills/ai-ml/llm-ops/SKILL.md +454 -0
- package/plugin/skills/ai-ml/ml-pipelines/SKILL.md +390 -0
- package/plugin/skills/ai-ml/model-monitoring/SKILL.md +398 -0
- package/plugin/skills/ai-ml/model-serving/SKILL.md +386 -0
- package/plugin/skills/event-driven/cqrs-patterns/SKILL.md +348 -0
- package/plugin/skills/event-driven/event-sourcing/SKILL.md +334 -0
- package/plugin/skills/event-driven/kafka-deep/SKILL.md +252 -0
- package/plugin/skills/event-driven/saga-orchestration/SKILL.md +335 -0
- package/plugin/skills/event-driven/schema-registry/SKILL.md +328 -0
- package/plugin/skills/event-driven/stream-processing/SKILL.md +313 -0
- package/plugin/skills/game/game-audio/SKILL.md +446 -0
- package/plugin/skills/game/game-networking/SKILL.md +490 -0
- package/plugin/skills/game/godot-patterns/SKILL.md +413 -0
- package/plugin/skills/game/shader-programming/SKILL.md +492 -0
- package/plugin/skills/game/unity-patterns/SKILL.md +488 -0
- package/plugin/skills/iot/device-provisioning/SKILL.md +405 -0
- package/plugin/skills/iot/edge-computing/SKILL.md +369 -0
- package/plugin/skills/iot/industrial-protocols/SKILL.md +438 -0
- package/plugin/skills/iot/mqtt-deep/SKILL.md +418 -0
- package/plugin/skills/iot/ota-updates/SKILL.md +426 -0
- package/plugin/skills/microservices/api-gateway-patterns/SKILL.md +201 -0
- package/plugin/skills/microservices/circuit-breaker-patterns/SKILL.md +246 -0
- package/plugin/skills/microservices/contract-testing/SKILL.md +284 -0
- package/plugin/skills/microservices/distributed-tracing/SKILL.md +246 -0
- package/plugin/skills/microservices/service-discovery/SKILL.md +304 -0
- package/plugin/skills/microservices/service-mesh/SKILL.md +181 -0
- package/plugin/skills/mobile-advanced/mobile-ci-cd/SKILL.md +407 -0
- package/plugin/skills/mobile-advanced/mobile-security/SKILL.md +403 -0
- package/plugin/skills/mobile-advanced/offline-first/SKILL.md +473 -0
- package/plugin/skills/mobile-advanced/push-notifications/SKILL.md +494 -0
- package/plugin/skills/mobile-advanced/react-native-deep/SKILL.md +374 -0
- package/plugin/skills/simulation/numerical-methods/SKILL.md +434 -0
- package/plugin/skills/simulation/parallel-computing/SKILL.md +382 -0
- package/plugin/skills/simulation/physics-engines/SKILL.md +377 -0
- package/plugin/skills/simulation/validation-verification/SKILL.md +479 -0
- package/plugin/skills/simulation/visualization-scientific/SKILL.md +365 -0
- package/plugin/templates/autonomous/archetypes/event-driven-app.yaml +460 -0
- package/plugin/templates/autonomous/archetypes/microservices-app.yaml +431 -0
- package/plugin/templates/autonomous/state-schema.yaml +1 -1
- package/plugin/workflows/ai-engineering/agent-development.md +3 -3
- package/plugin/workflows/ai-engineering/fine-tuning.md +3 -3
- package/plugin/workflows/ai-engineering/model-evaluation.md +3 -3
- package/plugin/workflows/ai-engineering/prompt-engineering.md +2 -2
- package/plugin/workflows/ai-engineering/rag-development.md +4 -4
- package/plugin/workflows/ai-ml/data-pipeline.md +188 -0
- package/plugin/workflows/ai-ml/experiment-cycle.md +203 -0
- package/plugin/workflows/ai-ml/feature-engineering.md +208 -0
- package/plugin/workflows/ai-ml/model-deployment.md +199 -0
- package/plugin/workflows/ai-ml/monitoring-setup.md +227 -0
- package/plugin/workflows/api/api-design.md +1 -1
- package/plugin/workflows/api/api-testing.md +2 -2
- package/plugin/workflows/content/technical-docs.md +1 -1
- package/plugin/workflows/database/migration.md +1 -1
- package/plugin/workflows/database/optimization.md +1 -1
- package/plugin/workflows/database/schema-design.md +3 -3
- package/plugin/workflows/development/bug-fix.md +3 -3
- package/plugin/workflows/development/code-review.md +2 -1
- package/plugin/workflows/development/feature.md +3 -3
- package/plugin/workflows/development/refactor.md +2 -2
- package/plugin/workflows/event-driven/consumer-groups.md +190 -0
- package/plugin/workflows/event-driven/event-storming.md +172 -0
- package/plugin/workflows/event-driven/replay-testing.md +186 -0
- package/plugin/workflows/event-driven/saga-implementation.md +206 -0
- package/plugin/workflows/event-driven/schema-evolution.md +173 -0
- package/plugin/workflows/fullstack/authentication.md +4 -4
- package/plugin/workflows/fullstack/full-feature.md +4 -4
- package/plugin/workflows/game-dev/content-pipeline.md +218 -0
- package/plugin/workflows/game-dev/platform-submission.md +263 -0
- package/plugin/workflows/game-dev/playtesting.md +237 -0
- package/plugin/workflows/game-dev/prototype-to-production.md +205 -0
- package/plugin/workflows/microservices/contract-first.md +151 -0
- package/plugin/workflows/microservices/distributed-tracing.md +166 -0
- package/plugin/workflows/microservices/domain-decomposition.md +123 -0
- package/plugin/workflows/microservices/integration-testing.md +149 -0
- package/plugin/workflows/microservices/service-mesh-setup.md +153 -0
- package/plugin/workflows/microservices/service-scaffolding.md +151 -0
- package/plugin/workflows/omega/1000x-innovation.md +2 -2
- package/plugin/workflows/omega/100x-architecture.md +2 -2
- package/plugin/workflows/omega/10x-improvement.md +2 -2
- package/plugin/workflows/quality/performance-optimization.md +2 -2
- package/plugin/workflows/research/best-practices.md +1 -1
- package/plugin/workflows/research/technology-research.md +1 -1
- package/plugin/workflows/security/penetration-testing.md +3 -3
- package/plugin/workflows/security/security-audit.md +3 -3
- package/plugin/workflows/sprint/sprint-execution.md +2 -2
- package/plugin/workflows/sprint/sprint-retrospective.md +1 -1
- package/plugin/workflows/sprint/sprint-setup.md +1 -1
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
name: "Event-Driven Application"
|
|
2
|
+
id: event-driven-app
|
|
3
|
+
description: "Asynchronous system with message brokers, event sourcing, CQRS, and saga patterns"
|
|
4
|
+
estimated_duration: "6-14 weeks"
|
|
5
|
+
icon: "bolt"
|
|
6
|
+
|
|
7
|
+
# Default technology recommendations
|
|
8
|
+
defaults:
|
|
9
|
+
broker: kafka
|
|
10
|
+
language: typescript
|
|
11
|
+
framework: nestjs
|
|
12
|
+
event_store: kafka
|
|
13
|
+
read_database: postgresql
|
|
14
|
+
schema_registry: confluent
|
|
15
|
+
streaming: kafka_streams
|
|
16
|
+
|
|
17
|
+
# Alternative technology stacks
|
|
18
|
+
alternatives:
|
|
19
|
+
broker:
|
|
20
|
+
- id: kafka
|
|
21
|
+
name: "Apache Kafka"
|
|
22
|
+
description: "High-throughput distributed streaming"
|
|
23
|
+
- id: rabbitmq
|
|
24
|
+
name: "RabbitMQ"
|
|
25
|
+
description: "Feature-rich message broker"
|
|
26
|
+
- id: aws_sqs_sns
|
|
27
|
+
name: "AWS SQS/SNS"
|
|
28
|
+
description: "Managed messaging service"
|
|
29
|
+
- id: redis_streams
|
|
30
|
+
name: "Redis Streams"
|
|
31
|
+
description: "Lightweight, low-latency"
|
|
32
|
+
- id: azure_service_bus
|
|
33
|
+
name: "Azure Service Bus"
|
|
34
|
+
description: "Enterprise messaging"
|
|
35
|
+
|
|
36
|
+
language:
|
|
37
|
+
- id: typescript
|
|
38
|
+
name: "TypeScript/Node.js"
|
|
39
|
+
description: "Async-first, good Kafka libraries"
|
|
40
|
+
- id: java
|
|
41
|
+
name: "Java (Spring Cloud Stream)"
|
|
42
|
+
description: "Mature ecosystem, Kafka Streams"
|
|
43
|
+
- id: go
|
|
44
|
+
name: "Go"
|
|
45
|
+
description: "High performance consumers"
|
|
46
|
+
- id: python
|
|
47
|
+
name: "Python"
|
|
48
|
+
description: "Data processing, Faust library"
|
|
49
|
+
|
|
50
|
+
framework:
|
|
51
|
+
- id: nestjs
|
|
52
|
+
name: "NestJS"
|
|
53
|
+
description: "Built-in microservices transport"
|
|
54
|
+
- id: spring_cloud_stream
|
|
55
|
+
name: "Spring Cloud Stream"
|
|
56
|
+
description: "Declarative event binding"
|
|
57
|
+
- id: fastapi
|
|
58
|
+
name: "FastAPI"
|
|
59
|
+
description: "Async Python framework"
|
|
60
|
+
- id: axon
|
|
61
|
+
name: "Axon Framework"
|
|
62
|
+
description: "Event sourcing & CQRS framework"
|
|
63
|
+
|
|
64
|
+
event_store:
|
|
65
|
+
- id: kafka
|
|
66
|
+
name: "Kafka (as event store)"
|
|
67
|
+
description: "Log-based event storage"
|
|
68
|
+
- id: eventstoredb
|
|
69
|
+
name: "EventStoreDB"
|
|
70
|
+
description: "Purpose-built event store"
|
|
71
|
+
- id: postgres_eventide
|
|
72
|
+
name: "PostgreSQL + Eventide"
|
|
73
|
+
description: "SQL-based event store"
|
|
74
|
+
- id: dynamodb
|
|
75
|
+
name: "DynamoDB Streams"
|
|
76
|
+
description: "Serverless event storage"
|
|
77
|
+
|
|
78
|
+
streaming:
|
|
79
|
+
- id: kafka_streams
|
|
80
|
+
name: "Kafka Streams"
|
|
81
|
+
description: "Native Kafka stream processing"
|
|
82
|
+
- id: ksqldb
|
|
83
|
+
name: "ksqlDB"
|
|
84
|
+
description: "SQL for stream processing"
|
|
85
|
+
- id: flink
|
|
86
|
+
name: "Apache Flink"
|
|
87
|
+
description: "Stateful stream processing"
|
|
88
|
+
- id: spark_streaming
|
|
89
|
+
name: "Spark Streaming"
|
|
90
|
+
description: "Big data stream processing"
|
|
91
|
+
|
|
92
|
+
# Phases of development
|
|
93
|
+
phases:
|
|
94
|
+
- id: discovery
|
|
95
|
+
name: "Event Discovery"
|
|
96
|
+
description: "Event storming, domain events identification, and aggregate design"
|
|
97
|
+
order: 1
|
|
98
|
+
checkpoint: true
|
|
99
|
+
checkpoint_message: |
|
|
100
|
+
Event discovery complete. Review:
|
|
101
|
+
- Domain events catalog
|
|
102
|
+
- Aggregate boundaries
|
|
103
|
+
- Command/event flows
|
|
104
|
+
- Event ownership
|
|
105
|
+
|
|
106
|
+
Approve to proceed with architecture.
|
|
107
|
+
|
|
108
|
+
steps:
|
|
109
|
+
- id: event_storming
|
|
110
|
+
name: "Event Storming"
|
|
111
|
+
agent: researcher
|
|
112
|
+
description: "Conduct event storming workshop"
|
|
113
|
+
|
|
114
|
+
- id: domain_events
|
|
115
|
+
name: "Domain Events"
|
|
116
|
+
agent: architect
|
|
117
|
+
description: "Catalog all domain events"
|
|
118
|
+
|
|
119
|
+
- id: aggregates
|
|
120
|
+
name: "Aggregate Design"
|
|
121
|
+
agent: architect
|
|
122
|
+
description: "Define aggregate boundaries"
|
|
123
|
+
|
|
124
|
+
- id: command_flows
|
|
125
|
+
name: "Command Flows"
|
|
126
|
+
agent: architect
|
|
127
|
+
description: "Map commands to events"
|
|
128
|
+
|
|
129
|
+
outputs:
|
|
130
|
+
- ".omgkit/generated/event-catalog.md"
|
|
131
|
+
- ".omgkit/generated/aggregates.md"
|
|
132
|
+
- ".omgkit/generated/command-flows.md"
|
|
133
|
+
|
|
134
|
+
- id: architecture
|
|
135
|
+
name: "Event Architecture"
|
|
136
|
+
description: "Topic design, schemas, CQRS strategy, and saga patterns"
|
|
137
|
+
order: 2
|
|
138
|
+
checkpoint: true
|
|
139
|
+
checkpoint_message: |
|
|
140
|
+
Architecture design complete. Review:
|
|
141
|
+
- Topic/queue design
|
|
142
|
+
- Event schemas (Avro/JSON)
|
|
143
|
+
- CQRS implementation plan
|
|
144
|
+
- Saga patterns for transactions
|
|
145
|
+
|
|
146
|
+
Approve to begin foundation.
|
|
147
|
+
|
|
148
|
+
steps:
|
|
149
|
+
- id: topic_design
|
|
150
|
+
name: "Topic Design"
|
|
151
|
+
agent: architect
|
|
152
|
+
description: "Design topics, partitions, retention"
|
|
153
|
+
|
|
154
|
+
- id: schema_design
|
|
155
|
+
name: "Schema Design"
|
|
156
|
+
agent: architect
|
|
157
|
+
description: "Design event schemas with versioning"
|
|
158
|
+
|
|
159
|
+
- id: cqrs_design
|
|
160
|
+
name: "CQRS Design"
|
|
161
|
+
agent: architect
|
|
162
|
+
description: "Plan command/query separation"
|
|
163
|
+
|
|
164
|
+
- id: saga_design
|
|
165
|
+
name: "Saga Design"
|
|
166
|
+
agent: architect
|
|
167
|
+
description: "Design distributed transaction patterns"
|
|
168
|
+
|
|
169
|
+
outputs:
|
|
170
|
+
- ".omgkit/generated/topic-design.md"
|
|
171
|
+
- ".omgkit/generated/event-schemas/"
|
|
172
|
+
- ".omgkit/generated/cqrs-design.md"
|
|
173
|
+
- ".omgkit/generated/saga-patterns.md"
|
|
174
|
+
|
|
175
|
+
- id: foundation
|
|
176
|
+
name: "Infrastructure Foundation"
|
|
177
|
+
description: "Message broker, schema registry, and base configuration"
|
|
178
|
+
order: 3
|
|
179
|
+
checkpoint: false
|
|
180
|
+
|
|
181
|
+
steps:
|
|
182
|
+
- id: broker_setup
|
|
183
|
+
name: "Broker Setup"
|
|
184
|
+
agent: fullstack-developer
|
|
185
|
+
description: "Set up Kafka/RabbitMQ"
|
|
186
|
+
|
|
187
|
+
- id: schema_registry
|
|
188
|
+
name: "Schema Registry"
|
|
189
|
+
agent: fullstack-developer
|
|
190
|
+
description: "Configure schema registry"
|
|
191
|
+
|
|
192
|
+
- id: topic_creation
|
|
193
|
+
name: "Topic Creation"
|
|
194
|
+
agent: fullstack-developer
|
|
195
|
+
description: "Create topics with configs"
|
|
196
|
+
|
|
197
|
+
- id: dlq_setup
|
|
198
|
+
name: "Dead Letter Queue"
|
|
199
|
+
agent: fullstack-developer
|
|
200
|
+
description: "Set up DLQ for failed messages"
|
|
201
|
+
|
|
202
|
+
- id: shared_libs
|
|
203
|
+
name: "Shared Libraries"
|
|
204
|
+
agent: fullstack-developer
|
|
205
|
+
description: "Event types, serialization"
|
|
206
|
+
|
|
207
|
+
outputs:
|
|
208
|
+
- "docker-compose.yml"
|
|
209
|
+
- "schemas/"
|
|
210
|
+
- "packages/events/"
|
|
211
|
+
|
|
212
|
+
- id: producers
|
|
213
|
+
name: "Event Producers"
|
|
214
|
+
description: "Implement command handlers and event publishing"
|
|
215
|
+
order: 4
|
|
216
|
+
checkpoint: true
|
|
217
|
+
checkpoint_message: |
|
|
218
|
+
Producers implemented. Review:
|
|
219
|
+
- Command handlers
|
|
220
|
+
- Event publishing
|
|
221
|
+
- Transactional outbox
|
|
222
|
+
- Idempotency keys
|
|
223
|
+
|
|
224
|
+
Approve to proceed with consumers.
|
|
225
|
+
|
|
226
|
+
steps:
|
|
227
|
+
- id: command_handlers
|
|
228
|
+
name: "Command Handlers"
|
|
229
|
+
agent: fullstack-developer
|
|
230
|
+
description: "Implement command processing"
|
|
231
|
+
|
|
232
|
+
- id: event_publishing
|
|
233
|
+
name: "Event Publishing"
|
|
234
|
+
agent: fullstack-developer
|
|
235
|
+
description: "Implement event producers"
|
|
236
|
+
|
|
237
|
+
- id: outbox_pattern
|
|
238
|
+
name: "Transactional Outbox"
|
|
239
|
+
agent: fullstack-developer
|
|
240
|
+
description: "Implement outbox for reliability"
|
|
241
|
+
|
|
242
|
+
- id: idempotency
|
|
243
|
+
name: "Idempotency"
|
|
244
|
+
agent: fullstack-developer
|
|
245
|
+
description: "Add idempotency keys"
|
|
246
|
+
|
|
247
|
+
- id: producer_tests
|
|
248
|
+
name: "Producer Tests"
|
|
249
|
+
agent: tester
|
|
250
|
+
description: "Test event publishing"
|
|
251
|
+
|
|
252
|
+
outputs:
|
|
253
|
+
- "src/commands/"
|
|
254
|
+
- "src/producers/"
|
|
255
|
+
- "tests/producers/"
|
|
256
|
+
|
|
257
|
+
- id: consumers
|
|
258
|
+
name: "Event Consumers"
|
|
259
|
+
description: "Event handlers, projections, and saga orchestrators"
|
|
260
|
+
order: 5
|
|
261
|
+
checkpoint: true
|
|
262
|
+
checkpoint_message: |
|
|
263
|
+
Consumers implemented. Review:
|
|
264
|
+
- Event handlers
|
|
265
|
+
- Projections (read models)
|
|
266
|
+
- Saga orchestration
|
|
267
|
+
- Error handling
|
|
268
|
+
|
|
269
|
+
Approve to proceed with CQRS.
|
|
270
|
+
|
|
271
|
+
steps:
|
|
272
|
+
- id: event_handlers
|
|
273
|
+
name: "Event Handlers"
|
|
274
|
+
agent: fullstack-developer
|
|
275
|
+
description: "Implement event consumers"
|
|
276
|
+
|
|
277
|
+
- id: projections
|
|
278
|
+
name: "Projections"
|
|
279
|
+
agent: fullstack-developer
|
|
280
|
+
description: "Build read model projections"
|
|
281
|
+
|
|
282
|
+
- id: saga_orchestrators
|
|
283
|
+
name: "Saga Orchestrators"
|
|
284
|
+
agent: fullstack-developer
|
|
285
|
+
description: "Implement saga patterns"
|
|
286
|
+
|
|
287
|
+
- id: error_handling
|
|
288
|
+
name: "Error Handling"
|
|
289
|
+
agent: fullstack-developer
|
|
290
|
+
description: "Retries, DLQ, compensation"
|
|
291
|
+
|
|
292
|
+
- id: consumer_tests
|
|
293
|
+
name: "Consumer Tests"
|
|
294
|
+
agent: tester
|
|
295
|
+
description: "Test event consumption"
|
|
296
|
+
|
|
297
|
+
outputs:
|
|
298
|
+
- "src/consumers/"
|
|
299
|
+
- "src/projections/"
|
|
300
|
+
- "src/sagas/"
|
|
301
|
+
- "tests/consumers/"
|
|
302
|
+
|
|
303
|
+
- id: cqrs
|
|
304
|
+
name: "CQRS Implementation"
|
|
305
|
+
description: "Query side APIs, read models, and eventual consistency"
|
|
306
|
+
order: 6
|
|
307
|
+
checkpoint: false
|
|
308
|
+
|
|
309
|
+
steps:
|
|
310
|
+
- id: read_models
|
|
311
|
+
name: "Read Models"
|
|
312
|
+
agent: fullstack-developer
|
|
313
|
+
description: "Design optimized read models"
|
|
314
|
+
|
|
315
|
+
- id: query_apis
|
|
316
|
+
name: "Query APIs"
|
|
317
|
+
agent: fullstack-developer
|
|
318
|
+
description: "Implement query endpoints"
|
|
319
|
+
|
|
320
|
+
- id: consistency_handling
|
|
321
|
+
name: "Consistency Handling"
|
|
322
|
+
agent: fullstack-developer
|
|
323
|
+
description: "Handle eventual consistency UX"
|
|
324
|
+
|
|
325
|
+
- id: cache_strategy
|
|
326
|
+
name: "Cache Strategy"
|
|
327
|
+
agent: fullstack-developer
|
|
328
|
+
description: "Cache read models if needed"
|
|
329
|
+
|
|
330
|
+
outputs:
|
|
331
|
+
- "src/queries/"
|
|
332
|
+
- "src/read-models/"
|
|
333
|
+
|
|
334
|
+
- id: monitoring
|
|
335
|
+
name: "Testing & Monitoring"
|
|
336
|
+
description: "Event flow testing, consumer lag monitoring, and observability"
|
|
337
|
+
order: 7
|
|
338
|
+
checkpoint: true
|
|
339
|
+
checkpoint_message: |
|
|
340
|
+
Monitoring complete. Review:
|
|
341
|
+
- Event flow tests
|
|
342
|
+
- Consumer lag alerts
|
|
343
|
+
- Schema evolution tests
|
|
344
|
+
- Observability dashboards
|
|
345
|
+
|
|
346
|
+
This is the final checkpoint.
|
|
347
|
+
|
|
348
|
+
steps:
|
|
349
|
+
- id: flow_tests
|
|
350
|
+
name: "Event Flow Tests"
|
|
351
|
+
agent: tester
|
|
352
|
+
description: "Test complete event flows"
|
|
353
|
+
|
|
354
|
+
- id: lag_monitoring
|
|
355
|
+
name: "Lag Monitoring"
|
|
356
|
+
agent: fullstack-developer
|
|
357
|
+
description: "Monitor consumer lag"
|
|
358
|
+
|
|
359
|
+
- id: schema_tests
|
|
360
|
+
name: "Schema Evolution Tests"
|
|
361
|
+
agent: tester
|
|
362
|
+
description: "Test schema compatibility"
|
|
363
|
+
|
|
364
|
+
- id: observability
|
|
365
|
+
name: "Observability"
|
|
366
|
+
agent: fullstack-developer
|
|
367
|
+
description: "Dashboards for events"
|
|
368
|
+
|
|
369
|
+
- id: replay_testing
|
|
370
|
+
name: "Replay Testing"
|
|
371
|
+
agent: tester
|
|
372
|
+
description: "Test event replay scenarios"
|
|
373
|
+
|
|
374
|
+
outputs:
|
|
375
|
+
- "tests/flows/"
|
|
376
|
+
- "monitoring/"
|
|
377
|
+
- "docs/"
|
|
378
|
+
|
|
379
|
+
# Autonomy rules for this archetype
|
|
380
|
+
autonomy_rules:
|
|
381
|
+
- pattern: "**/events/**"
|
|
382
|
+
level: 3
|
|
383
|
+
reason: "Event schemas are contracts"
|
|
384
|
+
- pattern: "**/schemas/**"
|
|
385
|
+
level: 3
|
|
386
|
+
reason: "Schema changes affect all consumers"
|
|
387
|
+
- pattern: "**/sagas/**"
|
|
388
|
+
level: 3
|
|
389
|
+
reason: "Saga logic is transaction-critical"
|
|
390
|
+
- pattern: "**/projections/**"
|
|
391
|
+
level: 2
|
|
392
|
+
reason: "Read model changes need review"
|
|
393
|
+
- pattern: "**/handlers/**"
|
|
394
|
+
level: 2
|
|
395
|
+
reason: "Event handling logic"
|
|
396
|
+
- pattern: "**/consumers/**"
|
|
397
|
+
level: 2
|
|
398
|
+
reason: "Consumer configuration"
|
|
399
|
+
- pattern: "kafka*.yaml"
|
|
400
|
+
level: 3
|
|
401
|
+
reason: "Broker configuration"
|
|
402
|
+
- pattern: "**/dlq/**"
|
|
403
|
+
level: 3
|
|
404
|
+
reason: "Dead letter queue handling"
|
|
405
|
+
- pattern: ".env*"
|
|
406
|
+
level: 4
|
|
407
|
+
reason: "Environment secrets"
|
|
408
|
+
|
|
409
|
+
# Quality gates
|
|
410
|
+
quality_gates:
|
|
411
|
+
after_feature:
|
|
412
|
+
- "npm test"
|
|
413
|
+
- "npm run lint"
|
|
414
|
+
- "schema compatibility check"
|
|
415
|
+
before_checkpoint:
|
|
416
|
+
- "all unit tests pass"
|
|
417
|
+
- "event flow tests pass"
|
|
418
|
+
- "no consumer lag issues"
|
|
419
|
+
before_deploy:
|
|
420
|
+
- "schema registry healthy"
|
|
421
|
+
- "replay tests pass"
|
|
422
|
+
- "monitoring configured"
|
|
423
|
+
|
|
424
|
+
# Event-driven specific discovery questions
|
|
425
|
+
discovery_additions:
|
|
426
|
+
- category: "Events"
|
|
427
|
+
questions:
|
|
428
|
+
- "What are the main domain events?"
|
|
429
|
+
- "Event sourcing needed or just messaging?"
|
|
430
|
+
- "Event replay requirements?"
|
|
431
|
+
- "Event retention period?"
|
|
432
|
+
- "Schema evolution strategy?"
|
|
433
|
+
|
|
434
|
+
- category: "Consistency"
|
|
435
|
+
questions:
|
|
436
|
+
- "Eventual consistency acceptable?"
|
|
437
|
+
- "Need distributed transactions (sagas)?"
|
|
438
|
+
- "Ordering requirements (strict or relaxed)?"
|
|
439
|
+
- "Exactly-once or at-least-once semantics?"
|
|
440
|
+
|
|
441
|
+
- category: "CQRS"
|
|
442
|
+
questions:
|
|
443
|
+
- "Separate read and write models?"
|
|
444
|
+
- "Query performance requirements?"
|
|
445
|
+
- "Real-time projections needed?"
|
|
446
|
+
- "Historical query needs?"
|
|
447
|
+
|
|
448
|
+
- category: "Infrastructure"
|
|
449
|
+
questions:
|
|
450
|
+
- "Message broker preference?"
|
|
451
|
+
- "Expected message throughput?"
|
|
452
|
+
- "Partition strategy?"
|
|
453
|
+
- "Multi-region requirements?"
|
|
454
|
+
|
|
455
|
+
- category: "Integration"
|
|
456
|
+
questions:
|
|
457
|
+
- "External systems to integrate?"
|
|
458
|
+
- "Legacy system events?"
|
|
459
|
+
- "Webhook requirements?"
|
|
460
|
+
- "CDC (Change Data Capture) needs?"
|