techindeck/laravel-module-generator
44.3
Weak · 21 September 2026
2.5k
lines of production code
PHP
primary language
4
measurements over time
What this system is
This system is a PHP-based application framework that provides a modular architecture for generating and managing API resources, requests, and controllers. It features a command-line interface for scaffolding modules and enforces a strict separation of concerns through controller and repository interfaces. The codebase utilizes modern PHP typing, UUID generation, and automated file path resolution to streamline development.
Features
New CLI commands for API resource registration and request generation
The module generator now includes two new console commands: \module:resource\ to register API resources in the routes, and \module:request\ to generate case requests. The existing \make:module\ command has been renamed from \make:module\ (previously \MakeCaseCommand\) and now supports an \--all\ flag to generate all components at once. Additionally, the \GatewayCommand\ has been updated to automatically invoke the new \module:request\ and \module:resource\ commands when creating a new module, and the file path generation for cases and controllers has been updated to use \app\_path()\ instead of \base\_path()\.
src/Console · high confidence
Behavioural changes
Refactor controller and repository interfaces to use mixed types and accessors
The codebase has been updated to use \mixed\ types for ID and data parameters across the \CaseController\ and \Repository\ contracts, replacing previous \int\ and specific type hints. The \CaseController\ now exposes \req\ and \id\ via getter/setter methods (\getReq\, \setId\, etc.) rather than direct property access, and the controller stubs have been updated to use these accessors. Additionally, the \ModelUUIDTrait\ was added to automatically generate UUIDs for models, and the \Model\ stub was updated to use this trait and define fillable/hidden attributes. The \Repository\ interface and its implementations now accept \mixed\ for IDs and data, and the \Gateway\ stubs have been updated to pass validated requests and IDs through the new accessor pattern.
src/resources · high confidence
Dependencies
Update composer.json metadata and formatting
The composer.json file has been reformatted with consistent indentation and key ordering. The author information was updated from a specific individual to the 'Techindeck' organization, and the 'prefer-stable' flag was added to the configuration.
(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 44 → 44 (+0.2)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 96 → 98 (+1.3)
- Architecture 100 → 93 (-7.2)
- Maturity 41 → 41 (+0.0)
- Readiness 15 → 17 (+1.9)
- Security 100 → 100 (+0.0)
Resolved (7)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (9 lines × 14) (src/Console/Cases/CaseCreate.php)
- No exposed public API
- early-stage repository — too little history to judge knowledge freshness
- git history depth insufficient
- git history depth insufficient
- single-maintainer — knowledge-concentration (bus factor) risk
New (8)
- Documentation: no licence statement (README.md)
- Duplicated block (10–11 lines × 14) (src/Console/Cases/CaseCreate.php)
- Duplicated block (5 lines × 16) (src/Console/Cases/CaseCreate.php)
- Duplicated block (7 lines × 15) (src/Console/Cases/CaseCreate.php)
- Inconsistent naming for the method that retrieves template content. ResourceRegisterCommand uses getContents, while the standard pattern in other classes (GatewayCommand, CaseCreate, etc.) is getStubContents.
- Inconsistent naming for the method that retrieves the output file path. ResourceRegisterCommand uses getApiFilePath, while the standard pattern is getSourceFilePath.
- Inconsistent naming for the primary execution method. ResourceRegisterCommand exposes a specific processRegisterer method alongside handle, whereas other command classes (like GatewayCommand) encapsulate logic within handle. This suggests ResourceRegisterCommand might be exposing internal implementation details or has a different structure than intended.
- Members sharing a duplicated core (14 members, 50+ identical tokens) (src/Console/Cases/CaseCreate.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
techindeck/laravel-module-generator 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 5097e66b19dbe5e9d29ebdc74fdb29866489331d — 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.