eva4j 1.0.17 → 1.0.18
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/AGENTS.md +2 -0
- package/DOMAIN_YAML_GUIDE.md +3 -1
- package/QUICK_REFERENCE.md +8 -4
- package/bin/eva4j.js +70 -2
- package/config/defaults.json +1 -0
- package/docs/CAMUNDA_DMN_GUIDE.md +1380 -0
- package/docs/KAFKA_PRODUCTION_CONFIG.md +441 -0
- package/docs/RABBITMQ_PRODUCTION_CONFIG.md +227 -0
- package/docs/commands/ADD_RABBITMQ_CLIENT.md +192 -0
- package/docs/commands/EVALUATE_SYSTEM.md +272 -8
- package/docs/commands/GENERATE_RABBITMQ_EVENT.md +341 -0
- package/docs/commands/GENERATE_RABBITMQ_LISTENER.md +595 -0
- package/docs/commands/GENERATE_TEMPORAL_FLOW.md +52 -12
- package/docs/commands/INDEX.md +27 -3
- package/docs/prototype/TEMPORAL_COMMUNICATION_PATTERNS.md +731 -0
- package/docs/prototype/TEMPORAL_DESIGN_METHODOLOGY.md +740 -0
- package/docs/prototype/system/RISKS.md +277 -0
- package/docs/prototype/system/customers.yaml +133 -0
- package/docs/prototype/system/inventory.yaml +109 -0
- package/docs/prototype/system/notifications.yaml +131 -0
- package/docs/prototype/system/orders.yaml +241 -0
- package/docs/prototype/system/payments.yaml +256 -0
- package/docs/prototype/system/products.yaml +168 -0
- package/docs/prototype/system/system.yaml +269 -0
- package/examples/domain-endpoints-multi-aggregate.yaml +140 -0
- package/examples/domain-read-models.yaml +2 -2
- package/examples/system/customer.yaml +89 -0
- package/examples/system/orders.yaml +119 -0
- package/examples/system/product.yaml +27 -0
- package/examples/system/system.yaml +80 -0
- package/package.json +1 -1
- package/src/agents/design-gap-analyst-temporal.agent.md +452 -0
- package/src/agents/design-gap-analyst.agent.md +383 -0
- package/src/agents/design-reviewer-temporal.agent.md +412 -0
- package/src/agents/design-reviewer.agent.md +31 -5
- package/src/agents/implement-use-cases.prompt.md +179 -0
- package/src/agents/ux-gap-analyst.agent.md +412 -0
- package/src/commands/add-rabbitmq-client.js +261 -0
- package/src/commands/add-temporal-client.js +22 -2
- package/src/commands/build.js +267 -11
- package/src/commands/evaluate-system.js +700 -13
- package/src/commands/generate-entities.js +308 -16
- package/src/commands/generate-rabbitmq-event.js +665 -0
- package/src/commands/generate-rabbitmq-listener.js +205 -0
- package/src/commands/generate-temporal-activity.js +968 -34
- package/src/commands/generate-temporal-flow.js +95 -38
- package/src/commands/generate-temporal-system.js +708 -0
- package/src/skills/build-system-yaml/SKILL.md +222 -2
- package/src/skills/build-system-yaml/references/domain-yaml-spec.md +50 -4
- package/src/skills/build-system-yaml/references/module-spec.md +57 -8
- package/src/skills/build-temporal-system/SKILL.md +752 -0
- package/src/skills/build-temporal-system/references/temporal-communication-patterns.md +167 -0
- package/src/skills/build-temporal-system/references/temporal-domain-yaml-spec.md +449 -0
- package/src/skills/build-temporal-system/references/temporal-module-spec.md +353 -0
- package/src/skills/build-temporal-system/references/temporal-system-yaml-spec.md +326 -0
- package/src/skills/implement-use-case/SKILL.md +350 -0
- package/src/skills/implement-use-case/references/use-case-patterns.md +980 -0
- package/src/skills/requirements-elicitation/SKILL.md +228 -0
- package/src/skills/requirements-elicitation/references/interview-framework.md +260 -0
- package/src/skills/requirements-elicitation/references/output-templates.md +368 -0
- package/src/utils/bounded-context-diagram.js +844 -0
- package/src/utils/domain-validator.js +266 -4
- package/src/utils/naming.js +10 -0
- package/src/utils/system-validator.js +169 -11
- package/src/utils/system-yaml-parser.js +318 -0
- package/src/utils/temporal-validator.js +497 -0
- package/src/utils/yaml-to-entity.js +10 -7
- package/templates/aggregate/DomainEventHandler.java.ejs +116 -22
- package/templates/aggregate/JpaAggregateRoot.java.ejs +2 -2
- package/templates/aggregate/JpaEntity.java.ejs +2 -2
- package/templates/base/docker/rabbitmq-services.yaml.ejs +12 -0
- package/templates/base/resources/parameters/develop/kafka.yaml.ejs +5 -0
- package/templates/base/resources/parameters/develop/rabbitmq.yaml.ejs +15 -0
- package/templates/base/resources/parameters/develop/temporal.yaml.ejs +0 -3
- package/templates/base/resources/parameters/local/kafka.yaml.ejs +5 -0
- package/templates/base/resources/parameters/local/rabbitmq.yaml.ejs +15 -0
- package/templates/base/resources/parameters/local/temporal.yaml.ejs +0 -3
- package/templates/base/resources/parameters/production/kafka.yaml.ejs +39 -8
- package/templates/base/resources/parameters/production/rabbitmq.yaml.ejs +32 -0
- package/templates/base/resources/parameters/production/temporal.yaml.ejs +0 -3
- package/templates/base/resources/parameters/test/kafka.yaml.ejs +12 -6
- package/templates/base/resources/parameters/test/rabbitmq.yaml.ejs +15 -0
- package/templates/base/resources/parameters/test/temporal.yaml.ejs +0 -3
- package/templates/base/root/AGENTS.md.ejs +1 -1
- package/templates/crud/EndpointsController.java.ejs +1 -1
- package/templates/crud/ScaffoldCommand.java.ejs +5 -2
- package/templates/crud/ScaffoldCommandHandler.java.ejs +3 -1
- package/templates/crud/ScaffoldQuery.java.ejs +5 -2
- package/templates/crud/ScaffoldQueryHandler.java.ejs +3 -1
- package/templates/crud/SubEntityRemoveCommand.java.ejs +1 -1
- package/templates/evaluate/report.html.ejs +1447 -90
- package/templates/kafka-event/KafkaConfigBean.java.ejs +1 -1
- package/templates/kafka-event/KafkaMessageBroker.java.ejs +3 -3
- package/templates/ports/PortAclMapper.java.ejs +35 -0
- package/templates/ports/PortFeignAdapter.java.ejs +7 -22
- package/templates/ports/PortFeignClient.java.ejs +4 -0
- package/templates/ports/PortResponseDto.java.ejs +1 -1
- package/templates/rabbitmq-event/RabbitConfigBean.java.ejs +33 -0
- package/templates/rabbitmq-event/RabbitConfigExchange.java.ejs +12 -0
- package/templates/rabbitmq-event/RabbitMessageBroker.java.ejs +35 -0
- package/templates/rabbitmq-event/RabbitMessageBrokerMethod.java.ejs +9 -0
- package/templates/rabbitmq-listener/RabbitConfigConsumerBean.java.ejs +33 -0
- package/templates/rabbitmq-listener/RabbitConfigConsumerExchange.java.ejs +12 -0
- package/templates/rabbitmq-listener/RabbitListenerClass.java.ejs +82 -0
- package/templates/rabbitmq-listener/RabbitListenerSimple.java.ejs +56 -0
- package/templates/read-model/ReadModelJpa.java.ejs +1 -1
- package/templates/read-model/ReadModelJpaRepository.java.ejs +2 -0
- package/templates/read-model/ReadModelRabbitListener.java.ejs +71 -0
- package/templates/read-model/ReadModelRepositoryImpl.java.ejs +9 -5
- package/templates/read-model/ReadModelSyncHandler.java.ejs +2 -0
- package/templates/shared/configurations/kafkaConfig/KafkaConfig.java.ejs +18 -4
- package/templates/shared/configurations/rabbitmqConfig/RabbitMQConfig.java.ejs +100 -0
- package/templates/shared/configurations/temporalConfig/TemporalConfig.java.ejs +2 -64
- package/templates/shared/configurations/temporalConfig/TemporalWorkerFactoryLifecycle.java.ejs +41 -0
- package/templates/temporal-activity/ActivityImpl.java.ejs +68 -2
- package/templates/temporal-activity/ActivityInput.java.ejs +14 -0
- package/templates/temporal-activity/ActivityInterface.java.ejs +7 -1
- package/templates/temporal-activity/ActivityOutput.java.ejs +14 -0
- package/templates/temporal-activity/NestedType.java.ejs +12 -0
- package/templates/temporal-activity/SharedActivityInput.java.ejs +14 -0
- package/templates/temporal-activity/SharedActivityInterface.java.ejs +15 -0
- package/templates/temporal-activity/SharedActivityOutput.java.ejs +14 -0
- package/templates/temporal-activity/SharedNestedType.java.ejs +12 -0
- package/templates/temporal-flow/ModuleHeavyActivity.java.ejs +6 -0
- package/templates/temporal-flow/ModuleLightActivity.java.ejs +6 -0
- package/templates/temporal-flow/ModuleTemporalWorkerConfig.java.ejs +58 -0
- package/templates/temporal-flow/WorkFlowImpl.java.ejs +172 -12
- package/templates/temporal-flow/WorkFlowInput.java.ejs +11 -0
- package/templates/temporal-flow/WorkFlowInterface.java.ejs +5 -4
- package/templates/temporal-flow/WorkFlowService.java.ejs +42 -12
- package/COMMAND_EVALUATION.md +0 -911
- package/test-c2010.js +0 -49
- package/test-update-compat.js +0 -109
- package/test-update-lifecycle.js +0 -121
package/docs/commands/INDEX.md
CHANGED
|
@@ -74,6 +74,25 @@ Commands for integrating with external services and messaging systems.
|
|
|
74
74
|
- Manual acknowledgment control
|
|
75
75
|
- Integration with UseCaseMediator
|
|
76
76
|
|
|
77
|
+
- **[generate rabbitmq-event](./GENERATE_RABBITMQ_EVENT.md)** (`g rabbitmq-event`) - Setup RabbitMQ event publishing
|
|
78
|
+
- Event-driven architecture with topic exchanges
|
|
79
|
+
- Asynchronous communication via routing keys
|
|
80
|
+
- Domain event publishing with DLQ support
|
|
81
|
+
- RabbitMQ producer configuration
|
|
82
|
+
- Exchange + Queue + Binding auto-generation
|
|
83
|
+
|
|
84
|
+
- **[generate rabbitmq-listener](./GENERATE_RABBITMQ_LISTENER.md)** (`g rabbitmq-listener`) - Create RabbitMQ event consumer
|
|
85
|
+
- Event consumption from queues
|
|
86
|
+
- Spring AMQP listener with manual acknowledgment
|
|
87
|
+
- Dead-letter queue routing on failure
|
|
88
|
+
- Integration with UseCaseMediator
|
|
89
|
+
|
|
90
|
+
- **[add rabbitmq-client](./ADD_RABBITMQ_CLIENT.md)** - Add RabbitMQ dependencies
|
|
91
|
+
- Spring AMQP installation
|
|
92
|
+
- RabbitMQConfig with retry + DLQ
|
|
93
|
+
- Docker Compose service
|
|
94
|
+
- Multi-environment configuration
|
|
95
|
+
|
|
77
96
|
- **add kafka-client** - Add Kafka dependencies
|
|
78
97
|
- *Documentation coming soon*
|
|
79
98
|
- Kafka dependencies installation
|
|
@@ -152,8 +171,10 @@ Commands for transitioning from monolith to microservices.
|
|
|
152
171
|
|
|
153
172
|
### Integrating Services
|
|
154
173
|
1. [generate http-exchange](./GENERATE_HTTP_EXCHANGE.md) - External APIs
|
|
155
|
-
2. [generate kafka-event](./GENERATE_KAFKA_EVENT.md) -
|
|
156
|
-
3. [generate kafka-listener](./GENERATE_KAFKA_LISTENER.md) -
|
|
174
|
+
2. [generate kafka-event](./GENERATE_KAFKA_EVENT.md) - Kafka event publishing
|
|
175
|
+
3. [generate kafka-listener](./GENERATE_KAFKA_LISTENER.md) - Kafka event consumption
|
|
176
|
+
4. [generate rabbitmq-event](./GENERATE_RABBITMQ_EVENT.md) - RabbitMQ event publishing
|
|
177
|
+
5. [generate rabbitmq-listener](./GENERATE_RABBITMQ_LISTENER.md) - RabbitMQ event consumption
|
|
157
178
|
|
|
158
179
|
### Orchestrating Workflows
|
|
159
180
|
1. [add temporal-client](./INDEX.md) - Install Temporal infrastructure
|
|
@@ -176,6 +197,7 @@ Commands for transitioning from monolith to microservices.
|
|
|
176
197
|
### Medium Impact, Low Effort ⭐⭐
|
|
177
198
|
- **[generate resource](./GENERATE_RESOURCE.md)** - Quick REST API exposure
|
|
178
199
|
- **[generate kafka-event](./GENERATE_KAFKA_EVENT.md)** - Event publishing setup
|
|
200
|
+
- **[generate rabbitmq-event](./GENERATE_RABBITMQ_EVENT.md)** - Event publishing setup
|
|
179
201
|
- **[generate http-exchange](./GENERATE_HTTP_EXCHANGE.md)** - External service integration
|
|
180
202
|
|
|
181
203
|
### Low Impact, Low Effort ⭐
|
|
@@ -219,7 +241,7 @@ Commands for transitioning from monolith to microservices.
|
|
|
219
241
|
### Intermediate Track
|
|
220
242
|
1. [generate usecase](./GENERATE_USECASE.md) - Custom business logic
|
|
221
243
|
2. [generate http-exchange](./GENERATE_HTTP_EXCHANGE.md) - External integrations
|
|
222
|
-
3. [generate kafka-event](./GENERATE_KAFKA_EVENT.md) - Event-driven patterns
|
|
244
|
+
3. [generate kafka-event](./GENERATE_KAFKA_EVENT.md) / [generate rabbitmq-event](./GENERATE_RABBITMQ_EVENT.md) - Event-driven patterns
|
|
223
245
|
|
|
224
246
|
### Advanced Track
|
|
225
247
|
1. [detach](./DETACH.md) - Microservices extraction
|
|
@@ -241,6 +263,8 @@ eva g record <name> # generate record
|
|
|
241
263
|
eva g http <name> # generate http-exchange
|
|
242
264
|
eva g kafka-event <name> # generate kafka-event
|
|
243
265
|
eva g kafka-listener <name> # generate kafka-listener
|
|
266
|
+
eva g rabbitmq-event <name> # generate rabbitmq-event
|
|
267
|
+
eva g rabbitmq-listener <name> # generate rabbitmq-listener
|
|
244
268
|
eva g temporal-flow <module> # generate temporal-flow
|
|
245
269
|
eva g temporal-activity <module># generate temporal-activity
|
|
246
270
|
```
|