yceruto/ddd-maker-bundle
48.8
Weak · 21 September 2026
1.6k
lines of production code
PHP
primary language
4
measurements over time
What this system is
This system is a Symfony-based code generation framework that automates the creation of Domain-Driven Design (DDD) artifacts. It provides templates and CLI commands to scaffold modules, commands, queries, and domain events, while also supplying concrete infrastructure implementations for both database and in-memory persistence.
Features
Add DDD module and command/query generators
The \src/Generator\ directory now includes new generators for Domain-Driven Design (DDD) modules and Command/Query patterns. \DddModuleGenerator\ scaffolds domain entities, DTOs, events, and repositories, while \CQGenerator\ creates command and query handlers with optional factory support. \DddEventGenerator\ produces domain events and subscribers, and \DddQuerySpecificationGenerator\ builds query specifications for both Doctrine and InMemory persistence layers. These additions enable automated generation of core application and domain layer files.
src/Generator · high confidence
Add DDD module generation templates and service configuration
The application now supports generating Domain-Driven Design (DDD) modules. This is enabled by a new \config/services.php\ that registers the DDD maker bundle and binds parameters for project, skeleton, and root directories. Additionally, a set of PHP templates under \config/skeleton/context/\ has been added to scaffold context-specific configurations (bundles, routes, services) and a base WebTestCase for testing.
config · high confidence
Added Doctrine and In-Memory persistence implementations for entity repositories and specifications
The skeleton now includes concrete implementations for the data access layer, supporting both database-backed and in-memory storage strategies. For Doctrine, new files provide an EntityIdType for database type mapping, a DoctrineEntityRepository for standard CRUD operations, and a set of Specification classes (interface, factory, and search implementation) to handle query building. For in-memory scenarios, an InMemoryEntityRepository and corresponding Specification classes are added, enabling lightweight testing or development environments without a database. These additions allow the application to persist and retrieve entities using either a relational database or an in-memory collection, depending on the configured infrastructure.
config/skeleton/src/Module/Infrastructure · high confidence
Added domain model templates for entities, DTOs, and events
The framework now provides PHP templates to generate domain model components for new modules. This includes an Entity template that extends AggregateRoot and records a domain event, an EntityDto template for data transfer objects, an EntityId template for value objects, an EntityNotFound exception template, an EntityRepository interface for persistence, and templates for Entity Specification and Factory interfaces. These templates allow developers to scaffold domain logic, data structures, and repository contracts consistently.
config/skeleton/src/Module/Domain · high confidence
Added template files for Command, Query, and Domain Event Subscriber patterns
The \config/skeleton/src/Module/Application\ directory now includes new template files that generate boilerplate code for the application layer. Specifically, it adds templates for creating Command and Query handlers (including a factory-based variant for commands), as well as Domain Event Subscribers. These templates provide the structural foundation for implementing the Command, Query, and Event-Subscriber patterns within modules.
config/skeleton/src/Module/Application · high confidence
Introduce DDD Maker Bundle for Domain-Driven Design code generation
A new DDD Maker Bundle has been added to the application, providing a configurable framework for generating Domain-Driven Design components. The bundle introduces three configurable options—\skeleton\_dir\, \root\_dir\, and \root\_namespace\—which allow users to customize the directory structure and namespace for generated code. These settings are registered as service parameters and imported via the bundle's \loadExtension\ method, enabling a standardized approach to DDD artifact creation within the project.
src · high confidence
New DDD code-generation commands for commands, queries, and domain events
The DDD Maker bundle now provides a suite of console commands to scaffold Domain-Driven Design artifacts. Users can generate Commands (\make:cqs:command\), Queries (\make:cqs:query\), Domain Events (\make:ddd:event\), and Event Subscribers (\make:ddd:event-subscriber\) via the CLI. Additionally, new commands allow creating Kernel contexts (\make:ddd:context\), Modules (\make:ddd:module\), and Query Specifications (\make:ddd:query-specification\). These tools automate the creation of corresponding PHP classes and, in the case of contexts, update the project's \composer.json\ for autoloading.
src/Maker · high confidence
Dependencies
Introduce DDD Maker Bundle for Symfony
The project now includes a Composer manifest (composer.json) that defines the 'yceruto/ddd-maker-bundle' as a Symfony bundle. This package provides Domain-Driven Design (DDD) generation capabilities for Symfony applications, requiring PHP 7.4+ and supporting Symfony versions 5.4, 6.0, and 7.0, along with specific dependencies like symfony/maker-bundle and yceruto/micro-symfony.
(dependencies) · medium confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 49 → 49 (-0.2)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 99 → 99 (+0.1)
- Architecture 100 → 89 (-11.4)
- Maturity 42 → 45 (+2.8)
- Readiness 24 → 26 (+1.4)
- Security 100 → 100 (+0.0)
Resolved (9)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (24 lines × 3) (src/Generator/DddModuleGenerator.php)
- Duplicated block (27 lines × 2) (src/Generator/DddQuerySpecificationGenerator.php)
- No exposed public API
- Test reliability not included
- The maker list enumerates commands but gives no explanation of what each one creates (context, module, event, subscriber) and its corresponding DDD element it models. (README.md)
- early-stage repository — too few commits for a meaningful bus factor
- early-stage repository — too little history to judge knowledge freshness
New (6)
- Dependency hygiene PARTLY measured — Composer dependencies read, no committed lock to grade for currency
- Documentation: no architecture or design documentation (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (13 lines × 7) (src/Generator/DddModuleGenerator.php)
- Duplicated block (26–27 lines × 3) (src/Generator/DddModuleGenerator.php)
- Duplicated block (7 lines × 3) (src/Maker/MakeEvent.php)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
yceruto/ddd-maker-bundle was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 33e54add7a900d9c154cc35d5bd9e1d74385dcb0 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.