omgkit 2.12.0 → 2.13.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
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
[](LICENSE)
|
|
8
8
|
|
|
9
9
|
> **AI Team System for Claude Code**
|
|
10
|
-
> 23 Agents • 58 Commands • 29 Workflows • 88 Skills • 10 Modes •
|
|
10
|
+
> 23 Agents • 58 Commands • 29 Workflows • 88 Skills • 10 Modes • 14 Archetypes
|
|
11
11
|
> *"Think Omega. Build Omega. Be Omega."*
|
|
12
12
|
|
|
13
13
|
OMGKIT transforms Claude Code into an autonomous AI development team with sprint management, specialized agents, and Omega-level thinking for 10x-1000x productivity improvements.
|
|
@@ -21,7 +21,7 @@ OMGKIT transforms Claude Code into an autonomous AI development team with sprint
|
|
|
21
21
|
| **Workflows** | 29 | Complete development processes |
|
|
22
22
|
| **Skills** | 88 | Domain expertise modules |
|
|
23
23
|
| **Modes** | 10 | Behavioral configurations |
|
|
24
|
-
| **Archetypes** |
|
|
24
|
+
| **Archetypes** | 14 | Project templates for autonomous dev |
|
|
25
25
|
| **Sprint Management** | ✅ | Vision, backlog, team autonomy |
|
|
26
26
|
| **Omega Thinking** | ✅ | 7 modes for 10x-1000x solutions |
|
|
27
27
|
| **Autonomous Dev** | ✅ | Build complete apps from idea to deploy |
|
|
@@ -176,7 +176,7 @@ After installation, use these commands in Claude Code:
|
|
|
176
176
|
/auto:resume # Resume from saved state
|
|
177
177
|
```
|
|
178
178
|
|
|
179
|
-
## 🤖 Autonomous Development (
|
|
179
|
+
## 🤖 Autonomous Development (14 Archetypes)
|
|
180
180
|
|
|
181
181
|
Build complete applications autonomously from idea to deployment.
|
|
182
182
|
|
|
@@ -194,6 +194,8 @@ Build complete applications autonomously from idea to deployment.
|
|
|
194
194
|
| **IoT App** | Device management, real-time data |
|
|
195
195
|
| **Game** | Unity/Godot game development |
|
|
196
196
|
| **Simulation** | Scientific/engineering simulations |
|
|
197
|
+
| **Microservices** | Distributed services with K8s, API gateway |
|
|
198
|
+
| **Event-Driven** | Async systems with Kafka, CQRS, sagas |
|
|
197
199
|
|
|
198
200
|
### Artifacts System
|
|
199
201
|
|
package/package.json
CHANGED
|
@@ -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?"
|
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
name: "Microservices Application"
|
|
2
|
+
id: microservices-app
|
|
3
|
+
description: "Distributed system with independently deployable services, API gateway, and container orchestration"
|
|
4
|
+
estimated_duration: "8-16 weeks"
|
|
5
|
+
icon: "cubes"
|
|
6
|
+
|
|
7
|
+
# Default technology recommendations
|
|
8
|
+
defaults:
|
|
9
|
+
language: typescript
|
|
10
|
+
framework: nestjs
|
|
11
|
+
gateway: kong
|
|
12
|
+
discovery: kubernetes_dns
|
|
13
|
+
containers: docker
|
|
14
|
+
orchestration: kubernetes
|
|
15
|
+
tracing: jaeger
|
|
16
|
+
metrics: prometheus
|
|
17
|
+
cicd: github_actions
|
|
18
|
+
|
|
19
|
+
# Alternative technology stacks
|
|
20
|
+
alternatives:
|
|
21
|
+
language:
|
|
22
|
+
- id: typescript
|
|
23
|
+
name: "TypeScript/Node.js"
|
|
24
|
+
description: "Fast development, good ecosystem"
|
|
25
|
+
- id: go
|
|
26
|
+
name: "Go"
|
|
27
|
+
description: "High performance, low resource usage"
|
|
28
|
+
- id: java
|
|
29
|
+
name: "Java (Spring Boot)"
|
|
30
|
+
description: "Enterprise-grade, Spring Cloud ecosystem"
|
|
31
|
+
- id: python
|
|
32
|
+
name: "Python (FastAPI)"
|
|
33
|
+
description: "Rapid development, async support"
|
|
34
|
+
|
|
35
|
+
framework:
|
|
36
|
+
- id: nestjs
|
|
37
|
+
name: "NestJS"
|
|
38
|
+
description: "Modular architecture, built-in microservices"
|
|
39
|
+
- id: express
|
|
40
|
+
name: "Express.js"
|
|
41
|
+
description: "Lightweight, flexible"
|
|
42
|
+
- id: spring_boot
|
|
43
|
+
name: "Spring Boot"
|
|
44
|
+
description: "Full-featured enterprise framework"
|
|
45
|
+
- id: fastapi
|
|
46
|
+
name: "FastAPI"
|
|
47
|
+
description: "Modern Python with automatic docs"
|
|
48
|
+
|
|
49
|
+
gateway:
|
|
50
|
+
- id: kong
|
|
51
|
+
name: "Kong"
|
|
52
|
+
description: "Powerful API gateway with plugins"
|
|
53
|
+
- id: traefik
|
|
54
|
+
name: "Traefik"
|
|
55
|
+
description: "Cloud-native, auto-discovery"
|
|
56
|
+
- id: nginx
|
|
57
|
+
name: "Nginx"
|
|
58
|
+
description: "High performance reverse proxy"
|
|
59
|
+
- id: aws_api_gateway
|
|
60
|
+
name: "AWS API Gateway"
|
|
61
|
+
description: "Managed, serverless option"
|
|
62
|
+
|
|
63
|
+
orchestration:
|
|
64
|
+
- id: kubernetes
|
|
65
|
+
name: "Kubernetes"
|
|
66
|
+
description: "Industry standard container orchestration"
|
|
67
|
+
- id: docker_swarm
|
|
68
|
+
name: "Docker Swarm"
|
|
69
|
+
description: "Simpler orchestration"
|
|
70
|
+
- id: ecs
|
|
71
|
+
name: "AWS ECS"
|
|
72
|
+
description: "Managed container service"
|
|
73
|
+
- id: nomad
|
|
74
|
+
name: "HashiCorp Nomad"
|
|
75
|
+
description: "Flexible workload orchestration"
|
|
76
|
+
|
|
77
|
+
# Phases of development
|
|
78
|
+
phases:
|
|
79
|
+
- id: discovery
|
|
80
|
+
name: "Domain Discovery"
|
|
81
|
+
description: "Identify bounded contexts, service boundaries, and domain decomposition"
|
|
82
|
+
order: 1
|
|
83
|
+
checkpoint: true
|
|
84
|
+
checkpoint_message: |
|
|
85
|
+
Domain discovery complete. Review:
|
|
86
|
+
- Bounded contexts and service boundaries
|
|
87
|
+
- Service dependency map
|
|
88
|
+
- Data ownership strategy
|
|
89
|
+
- Communication patterns
|
|
90
|
+
|
|
91
|
+
Approve to proceed with architecture design.
|
|
92
|
+
|
|
93
|
+
steps:
|
|
94
|
+
- id: domain_analysis
|
|
95
|
+
name: "Domain Analysis"
|
|
96
|
+
agent: researcher
|
|
97
|
+
description: "Analyze business domain using DDD principles"
|
|
98
|
+
|
|
99
|
+
- id: bounded_contexts
|
|
100
|
+
name: "Bounded Contexts"
|
|
101
|
+
agent: architect
|
|
102
|
+
description: "Identify bounded contexts and service boundaries"
|
|
103
|
+
|
|
104
|
+
- id: service_mapping
|
|
105
|
+
name: "Service Mapping"
|
|
106
|
+
agent: architect
|
|
107
|
+
description: "Map service dependencies and interactions"
|
|
108
|
+
|
|
109
|
+
- id: data_strategy
|
|
110
|
+
name: "Data Strategy"
|
|
111
|
+
agent: architect
|
|
112
|
+
description: "Define data ownership per service"
|
|
113
|
+
|
|
114
|
+
outputs:
|
|
115
|
+
- ".omgkit/generated/domain-model.md"
|
|
116
|
+
- ".omgkit/generated/service-map.md"
|
|
117
|
+
- ".omgkit/generated/data-ownership.md"
|
|
118
|
+
|
|
119
|
+
- id: architecture
|
|
120
|
+
name: "Architecture Design"
|
|
121
|
+
description: "Design system architecture, contracts, and communication patterns"
|
|
122
|
+
order: 2
|
|
123
|
+
checkpoint: true
|
|
124
|
+
checkpoint_message: |
|
|
125
|
+
Architecture design complete. Review:
|
|
126
|
+
- Service contracts (OpenAPI specs)
|
|
127
|
+
- API Gateway routing
|
|
128
|
+
- Communication patterns
|
|
129
|
+
- Deployment strategy
|
|
130
|
+
|
|
131
|
+
Approve to begin foundation setup.
|
|
132
|
+
|
|
133
|
+
steps:
|
|
134
|
+
- id: service_contracts
|
|
135
|
+
name: "Service Contracts"
|
|
136
|
+
agent: api-designer
|
|
137
|
+
description: "Define OpenAPI specs for each service"
|
|
138
|
+
|
|
139
|
+
- id: gateway_design
|
|
140
|
+
name: "Gateway Design"
|
|
141
|
+
agent: architect
|
|
142
|
+
description: "Design API Gateway routing and policies"
|
|
143
|
+
|
|
144
|
+
- id: communication_patterns
|
|
145
|
+
name: "Communication Patterns"
|
|
146
|
+
agent: architect
|
|
147
|
+
description: "Define sync/async communication"
|
|
148
|
+
|
|
149
|
+
- id: deployment_strategy
|
|
150
|
+
name: "Deployment Strategy"
|
|
151
|
+
agent: architect
|
|
152
|
+
description: "Design deployment and scaling approach"
|
|
153
|
+
|
|
154
|
+
outputs:
|
|
155
|
+
- ".omgkit/generated/architecture.md"
|
|
156
|
+
- ".omgkit/generated/api-contracts/"
|
|
157
|
+
- ".omgkit/generated/deployment-strategy.md"
|
|
158
|
+
|
|
159
|
+
- id: foundation
|
|
160
|
+
name: "Infrastructure Foundation"
|
|
161
|
+
description: "Set up containerization, orchestration, and shared infrastructure"
|
|
162
|
+
order: 3
|
|
163
|
+
checkpoint: false
|
|
164
|
+
|
|
165
|
+
steps:
|
|
166
|
+
- id: monorepo_setup
|
|
167
|
+
name: "Monorepo Setup"
|
|
168
|
+
agent: fullstack-developer
|
|
169
|
+
description: "Initialize monorepo structure"
|
|
170
|
+
|
|
171
|
+
- id: docker_config
|
|
172
|
+
name: "Docker Configuration"
|
|
173
|
+
agent: fullstack-developer
|
|
174
|
+
description: "Create Dockerfiles for services"
|
|
175
|
+
|
|
176
|
+
- id: kubernetes_manifests
|
|
177
|
+
name: "Kubernetes Manifests"
|
|
178
|
+
agent: fullstack-developer
|
|
179
|
+
description: "Create K8s deployments, services"
|
|
180
|
+
|
|
181
|
+
- id: gateway_setup
|
|
182
|
+
name: "API Gateway Setup"
|
|
183
|
+
agent: fullstack-developer
|
|
184
|
+
description: "Configure API gateway"
|
|
185
|
+
|
|
186
|
+
- id: shared_libraries
|
|
187
|
+
name: "Shared Libraries"
|
|
188
|
+
agent: fullstack-developer
|
|
189
|
+
description: "Create shared code packages"
|
|
190
|
+
|
|
191
|
+
outputs:
|
|
192
|
+
- "docker-compose.yml"
|
|
193
|
+
- "k8s/"
|
|
194
|
+
- "packages/shared/"
|
|
195
|
+
- "services/"
|
|
196
|
+
|
|
197
|
+
- id: core_services
|
|
198
|
+
name: "Core Services"
|
|
199
|
+
description: "Implement individual microservices"
|
|
200
|
+
order: 4
|
|
201
|
+
checkpoint: true
|
|
202
|
+
checkpoint_message: |
|
|
203
|
+
Core services implemented. Review:
|
|
204
|
+
- Service implementations
|
|
205
|
+
- API endpoints
|
|
206
|
+
- Health checks
|
|
207
|
+
- Database schemas
|
|
208
|
+
|
|
209
|
+
Approve to proceed with integration.
|
|
210
|
+
|
|
211
|
+
steps:
|
|
212
|
+
- id: service_scaffolding
|
|
213
|
+
name: "Service Scaffolding"
|
|
214
|
+
agent: fullstack-developer
|
|
215
|
+
description: "Create service boilerplates"
|
|
216
|
+
|
|
217
|
+
- id: service_implementation
|
|
218
|
+
name: "Service Implementation"
|
|
219
|
+
agent: fullstack-developer
|
|
220
|
+
description: "Implement business logic per service"
|
|
221
|
+
|
|
222
|
+
- id: database_per_service
|
|
223
|
+
name: "Database Per Service"
|
|
224
|
+
agent: database-admin
|
|
225
|
+
description: "Set up databases for each service"
|
|
226
|
+
|
|
227
|
+
- id: health_checks
|
|
228
|
+
name: "Health Checks"
|
|
229
|
+
agent: fullstack-developer
|
|
230
|
+
description: "Implement health and readiness probes"
|
|
231
|
+
|
|
232
|
+
- id: service_tests
|
|
233
|
+
name: "Service Tests"
|
|
234
|
+
agent: tester
|
|
235
|
+
description: "Unit tests for each service"
|
|
236
|
+
|
|
237
|
+
outputs:
|
|
238
|
+
- "services/*/src/"
|
|
239
|
+
- "services/*/tests/"
|
|
240
|
+
|
|
241
|
+
- id: integration
|
|
242
|
+
name: "Service Integration"
|
|
243
|
+
description: "Inter-service communication, tracing, and resilience"
|
|
244
|
+
order: 5
|
|
245
|
+
checkpoint: true
|
|
246
|
+
checkpoint_message: |
|
|
247
|
+
Integration complete. Review:
|
|
248
|
+
- Inter-service communication
|
|
249
|
+
- Distributed tracing
|
|
250
|
+
- Circuit breakers
|
|
251
|
+
- Error handling
|
|
252
|
+
|
|
253
|
+
Approve to proceed with testing.
|
|
254
|
+
|
|
255
|
+
steps:
|
|
256
|
+
- id: service_communication
|
|
257
|
+
name: "Service Communication"
|
|
258
|
+
agent: fullstack-developer
|
|
259
|
+
description: "Implement inter-service calls"
|
|
260
|
+
|
|
261
|
+
- id: distributed_tracing
|
|
262
|
+
name: "Distributed Tracing"
|
|
263
|
+
agent: fullstack-developer
|
|
264
|
+
description: "Set up Jaeger/Zipkin tracing"
|
|
265
|
+
|
|
266
|
+
- id: circuit_breakers
|
|
267
|
+
name: "Circuit Breakers"
|
|
268
|
+
agent: fullstack-developer
|
|
269
|
+
description: "Implement resilience patterns"
|
|
270
|
+
|
|
271
|
+
- id: retry_policies
|
|
272
|
+
name: "Retry Policies"
|
|
273
|
+
agent: fullstack-developer
|
|
274
|
+
description: "Configure retry and timeout policies"
|
|
275
|
+
|
|
276
|
+
outputs:
|
|
277
|
+
- "services/*/src/clients/"
|
|
278
|
+
- "packages/resilience/"
|
|
279
|
+
|
|
280
|
+
- id: testing
|
|
281
|
+
name: "Comprehensive Testing"
|
|
282
|
+
description: "Integration tests, contract tests, and chaos engineering"
|
|
283
|
+
order: 6
|
|
284
|
+
checkpoint: false
|
|
285
|
+
|
|
286
|
+
steps:
|
|
287
|
+
- id: integration_tests
|
|
288
|
+
name: "Integration Tests"
|
|
289
|
+
agent: tester
|
|
290
|
+
description: "Cross-service integration tests"
|
|
291
|
+
|
|
292
|
+
- id: contract_tests
|
|
293
|
+
name: "Contract Tests"
|
|
294
|
+
agent: tester
|
|
295
|
+
description: "Consumer-driven contract tests (Pact)"
|
|
296
|
+
|
|
297
|
+
- id: e2e_tests
|
|
298
|
+
name: "E2E Tests"
|
|
299
|
+
agent: tester
|
|
300
|
+
description: "End-to-end flow tests"
|
|
301
|
+
|
|
302
|
+
- id: load_tests
|
|
303
|
+
name: "Load Tests"
|
|
304
|
+
agent: tester
|
|
305
|
+
description: "Performance and load testing"
|
|
306
|
+
|
|
307
|
+
outputs:
|
|
308
|
+
- "tests/integration/"
|
|
309
|
+
- "tests/contracts/"
|
|
310
|
+
- "tests/e2e/"
|
|
311
|
+
- "tests/load/"
|
|
312
|
+
|
|
313
|
+
- id: devops
|
|
314
|
+
name: "DevOps & Deployment"
|
|
315
|
+
description: "CI/CD pipelines, monitoring, and production deployment"
|
|
316
|
+
order: 7
|
|
317
|
+
checkpoint: true
|
|
318
|
+
checkpoint_message: |
|
|
319
|
+
DevOps setup complete. Review:
|
|
320
|
+
- CI/CD pipelines per service
|
|
321
|
+
- Monitoring dashboards
|
|
322
|
+
- Alerting rules
|
|
323
|
+
- Deployment procedures
|
|
324
|
+
|
|
325
|
+
This is the final checkpoint.
|
|
326
|
+
|
|
327
|
+
steps:
|
|
328
|
+
- id: cicd_pipelines
|
|
329
|
+
name: "CI/CD Pipelines"
|
|
330
|
+
agent: cicd-manager
|
|
331
|
+
description: "Create pipelines per service"
|
|
332
|
+
|
|
333
|
+
- id: monitoring
|
|
334
|
+
name: "Monitoring Setup"
|
|
335
|
+
agent: fullstack-developer
|
|
336
|
+
description: "Prometheus metrics, Grafana dashboards"
|
|
337
|
+
|
|
338
|
+
- id: alerting
|
|
339
|
+
name: "Alerting"
|
|
340
|
+
agent: fullstack-developer
|
|
341
|
+
description: "Configure alerts for SLOs"
|
|
342
|
+
|
|
343
|
+
- id: deployment_docs
|
|
344
|
+
name: "Deployment Documentation"
|
|
345
|
+
agent: docs-manager
|
|
346
|
+
description: "Document deployment procedures"
|
|
347
|
+
|
|
348
|
+
outputs:
|
|
349
|
+
- ".github/workflows/"
|
|
350
|
+
- "monitoring/"
|
|
351
|
+
- "docs/deployment/"
|
|
352
|
+
|
|
353
|
+
# Autonomy rules for this archetype
|
|
354
|
+
autonomy_rules:
|
|
355
|
+
- pattern: "**/gateway/**"
|
|
356
|
+
level: 3
|
|
357
|
+
reason: "API Gateway is critical infrastructure"
|
|
358
|
+
- pattern: "**/k8s/**"
|
|
359
|
+
level: 3
|
|
360
|
+
reason: "Kubernetes manifests affect deployment"
|
|
361
|
+
- pattern: "**/kubernetes/**"
|
|
362
|
+
level: 3
|
|
363
|
+
reason: "Kubernetes config is critical"
|
|
364
|
+
- pattern: "**/shared/**"
|
|
365
|
+
level: 3
|
|
366
|
+
reason: "Shared libraries affect all services"
|
|
367
|
+
- pattern: "**/services/*/src/**"
|
|
368
|
+
level: 2
|
|
369
|
+
reason: "Service implementation needs review"
|
|
370
|
+
- pattern: "Dockerfile*"
|
|
371
|
+
level: 2
|
|
372
|
+
reason: "Container configuration"
|
|
373
|
+
- pattern: "**/migrations/**"
|
|
374
|
+
level: 3
|
|
375
|
+
reason: "Database migrations critical"
|
|
376
|
+
- pattern: ".env*"
|
|
377
|
+
level: 4
|
|
378
|
+
reason: "Environment secrets"
|
|
379
|
+
|
|
380
|
+
# Quality gates
|
|
381
|
+
quality_gates:
|
|
382
|
+
after_feature:
|
|
383
|
+
- "npm test"
|
|
384
|
+
- "npm run lint"
|
|
385
|
+
- "docker build --check"
|
|
386
|
+
before_checkpoint:
|
|
387
|
+
- "all service tests pass"
|
|
388
|
+
- "integration tests pass"
|
|
389
|
+
- "contract tests pass"
|
|
390
|
+
before_deploy:
|
|
391
|
+
- "load tests pass"
|
|
392
|
+
- "security scan clean"
|
|
393
|
+
- "all services healthy"
|
|
394
|
+
|
|
395
|
+
# Microservices-specific discovery questions
|
|
396
|
+
discovery_additions:
|
|
397
|
+
- category: "Domain"
|
|
398
|
+
questions:
|
|
399
|
+
- "What are the main business domains/capabilities?"
|
|
400
|
+
- "How many services do you envision?"
|
|
401
|
+
- "What are the bounded contexts?"
|
|
402
|
+
- "Which services have the most dependencies?"
|
|
403
|
+
- "Any existing monolith to decompose?"
|
|
404
|
+
|
|
405
|
+
- category: "Communication"
|
|
406
|
+
questions:
|
|
407
|
+
- "Synchronous (REST/gRPC) or asynchronous (events)?"
|
|
408
|
+
- "Need for event-driven patterns?"
|
|
409
|
+
- "API versioning strategy?"
|
|
410
|
+
- "Rate limiting requirements?"
|
|
411
|
+
|
|
412
|
+
- category: "Data"
|
|
413
|
+
questions:
|
|
414
|
+
- "Database per service or shared?"
|
|
415
|
+
- "Data consistency requirements (eventual ok?)?"
|
|
416
|
+
- "Need for distributed transactions?"
|
|
417
|
+
- "Data replication strategy?"
|
|
418
|
+
|
|
419
|
+
- category: "Infrastructure"
|
|
420
|
+
questions:
|
|
421
|
+
- "Cloud provider preference?"
|
|
422
|
+
- "Existing Kubernetes cluster?"
|
|
423
|
+
- "Container registry?"
|
|
424
|
+
- "Service mesh needed (Istio, Linkerd)?"
|
|
425
|
+
|
|
426
|
+
- category: "Team"
|
|
427
|
+
questions:
|
|
428
|
+
- "Team structure (aligned with services)?"
|
|
429
|
+
- "Deployment ownership model?"
|
|
430
|
+
- "On-call rotation?"
|
|
431
|
+
- "Experience with K8s?"
|
|
@@ -14,7 +14,7 @@ schema:
|
|
|
14
14
|
type:
|
|
15
15
|
type: string
|
|
16
16
|
required: true
|
|
17
|
-
enum: [saas, api, cli, library, fullstack, mobile, ai, desktop, iot, game, simulation]
|
|
17
|
+
enum: [saas, api, cli, library, fullstack, mobile, ai, desktop, iot, game, simulation, microservices, event_driven]
|
|
18
18
|
description: Type of project being built
|
|
19
19
|
|
|
20
20
|
archetype:
|