salehhashemi1992/laravel-domain-expert
55.6
Adequate · 21 September 2026
404
lines of production code
PHP
primary language
4
measurements over time
What this system is
This system is a Laravel package that automates and enforces a domain-driven architecture within an application. It provides Artisan commands to scaffold domain-specific controllers, models, and observers, while automatically scanning for and registering their routes and views. Additionally, it features an AI-powered recommendation engine that analyzes existing code to suggest an optimal domain structure.
Features
Automated domain scanning and AI-based structure recommendation
The package now automatically scans for domain directories within the application, registering their views and routes without manual configuration. Additionally, it provides commands to generate domain-specific controllers, models, and observers, and includes an AI-powered recommendation feature that analyzes existing controllers and models to suggest an optimal domain structure.
src · high confidence
Introduction of AI-powered domain structure recommendation
The package now includes an AI-powered feature that automatically groups and organizes existing controllers and models into domain-driven structures. Users can run the \php artisan suggest:domains\ command to receive a recommended domain structure without manual input. The README has been updated to document this new capability, and the CHANGELOG has been updated to reflect the new feature.
(repo-wide) · high confidence
New console commands for domain-driven structure generation
Users can now generate domain-based directory structures and scaffolded files via new Artisan commands. The \make:domain\ command creates a new domain folder with subdirectories for controllers, models, observers, and routes, and generates a prefixed route file using a new stub. The \suggest:domains\ command provides AI-driven recommendations for structuring domains. Additionally, existing \make:controller\, \make:model\, and \make:observer\ commands are extended to support a \--domain\ option, allowing users to select an existing domain from the \app/Domains\ directory when creating these classes.
src/Console · high confidence
Behavioural changes
Renamed and updated domain expert configuration file
The configuration file has been renamed from config.php to domain-expert.php, and its header comment has been updated to reflect the new name.
config · high confidence
Test coverage
Added test coverage for domain-related Artisan commands
Added new test files to verify the behavior of the \make:domain\ command and the extended console commands for creating controllers, models, and observers within a domain. The \ConsoleTestCase\ base class and specific test classes ensure that these commands correctly generate the expected directory structures and files, and that existing domains are not overwritten.
tests · high confidence
Dependencies
Upgrade PHP 8.1 requirement and add Laravel 12 support
The package now requires PHP 8.1 or higher, dropping support for PHP 7.4 and 8.0. It adds compatibility with Laravel 12, expanding the supported versions of illuminate/support and the Laravel framework to include version 12. Additionally, development tools such as Laravel Pint and PHPStan have been added to the project's tooling.
(dependencies) · high 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
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 51 → 56 (+4.7)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (-0.3)
- Architecture 69 → 69 (+0.0)
- Maturity 33 → 33 (+0.0)
- Readiness 57 → 69 (+12.3)
- Security 80 → 98 (+18.6)
Resolved (10)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No exposed public API
- Test reliability not included
- The 'Usage' section is clipped mid-sentence, so the full outline (e.g., creating controllers within a domain) cannot be confirmed present. (README.md)
- The AI-powered domain recommendation feature is described and shown in sample output, but no usage or configuration guidance appears (e.g., how the AI guesses purpose vs. requiring input). (README.md)
- single-maintainer — knowledge-concentration (bus factor) risk
New (12)
- Dependency hygiene PARTLY measured — Composer dependencies read, no committed lock to grade for currency
- Documentation: no usage examples (README.md)
- Duplicated block (11 lines × 3) (src/Console/ExtendedControllerMakeCommand.php)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Inconsistent return types for command handlers. The 'Domain' commands return int (likely exit codes), while the 'Extended' commands return ?bool (likely success/failure status). In Laravel console applications, handle() typically returns int for exit codes or void/bool for success, but mixing these patterns within the same command family creates confusion for consumers expecting a uniform interface.
- Medium: security finding (details withheld)
- No dependency advisory monitoring
- Workflow token permissions not restricted
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
salehhashemi1992/laravel-domain-expert 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 1cd83358143c95b4d53c3a3994fe5261127764f2 — 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.