Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Domain Maker Laravel Package

phpsquad/domain-maker

Domain Maker is a Laravel package for scaffolding domain-driven design structures. Use Artisan commands to generate domains, actions, DTOs, models, and related classes, keeping business logic organized and your application easier to maintain.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. Domain Maker is a dev-time scaffolding package, not a runtime library. It registers artisan commands that generate directory structures and boilerplate aligned to a domain-oriented layout (domain/application/infrastructure style). It codifies a convention rather than enforcing one — the generated files are ordinary PHP that the application owns outright. That makes architectural risk low at the framework level but shifts responsibility onto the generated artifacts and the team's discipline. It fits organizations already committed to modular/DDD-flavored Laravel; it is a poor fit for teams on vanilla MVC who would end up with a half-migrated hybrid.

Integration feasibility. Installable via Composer with Laravel package discovery; standard require-dev footprint. The binding constraint is the version matrix: the last release is December 2022 (Laravel 9/10 era), and the repository is archived, so no compatibility patches will arrive for Laravel 11/12 or newer PHP. Integration effort is technically trivial; the real work is a compatibility spike and a decision about ownership after abandonment.

Technical risk. Low production and security risk — no runtime surface, dev dependency only. High lifecycle risk: archived repo, 87 stars, effectively single-maintainer history, no CVE process, no roadmap. Risk concentrates in upgrade friction (composer constraints can block a framework upgrade) and in stub drift (generated code diverging from current Laravel idioms). There is also a "DDD in a box" risk: the tool produces folders, not bounded-context discipline, and can create false confidence that architecture has been addressed.

Key questions.

  • Which Laravel and PHP versions are we targeting, and does it resolve cleanly against them?
  • Whose DDD conventions does it encode, and do they match ours?
  • Are we willing to fork and maintain the stubs internally, or accept a permanently frozen dependency?
  • Is scaffolding actually our bottleneck, or is it conventions and review?
  • What is the exit cost if we generate fifty domains and then drop the tool? (Likely low — output is plain code — but structural consistency is the thing we'd lose.)

Integration Approach

Stack fit. Laravel + Composer + artisan. Install as require-dev so it never reaches production. Natural fit for teams already organizing by module or domain; requires an explicit convention doc to be useful at all, since the tool ships defaults, not house standards.

Migration path. Do not retrofit existing app/ code wholesale — that produces exactly the hybrid structure the tool is meant to avoid. Pilot on one new bounded context, hand-review the generated output line by line against house standards, and only then decide whether to adopt, fork, or reject. Let new domains grow greenfield; back-fill legacy code only where there is a clear owner and a reason.

Compatibility. Validate composer constraints in a throwaway branch against our full Laravel/PHP matrix before committing. Given the archive status, plan to pin an exact version and treat it as frozen. If constraints conflict with our target framework version, vendor a fork under an internal namespace rather than fighting the resolver or holding the framework back.

Sequencing.

  1. Compatibility spike plus a single-domain pilot.
  2. Diff generated output against house conventions; decide what to override.
  3. Adopt / fork / reject decision, with a named owner if adopting.
  4. If forking: internal repo, CI, stub regression tests, tagged releases.
  5. Document onboarding and the reference domain; publish a PR template and folder-convention checks.
  6. Roll out to new domains only; schedule a reassessment at the next Laravel major to either re-fork or replace with in-house make: stubs.

Operational Impact

Maintenance. Archived means we own it. Either budget for a fork (stub upkeep, tagging, CI) or accept "frozen forever" and cap how much of the codebase depends on it. Realistically a few hours per Laravel major if forked; near-zero if pinned and untouched — until it breaks, at which point the cost is a forced migration rather than a patch.

Support. Community-only and effectively nonexistent: no vendor SLA, no security advisories, no upstream fixes. Internal ownership must be assigned to a named platform or chapter lead, not left implicit.

Scaling. No runtime scaling concerns — this is dev-time only. The scaling constraint is organizational: without review gates, generated structures proliferate inconsistently across teams, and N teams × M domains diverge quickly. Pair adoption with fitness checks (lint rules on folder structure, PR templates, architecture review for new domains) or the tool accelerates entropy rather than reducing it.

Failure modes.

  • Composer constraint conflict blocking a framework upgrade at the worst possible time.
  • Stale stubs generating patterns that no longer match current Laravel practice.
  • Developers treating scaffolding as architecture and skipping actual domain modeling.
  • Partial adoption drift: half the codebase generated, half hand-rolled, no single convention.
  • Fork divergence from Laravel's own make commands, so generated code and framework-generated code stop looking alike.

Ramp-up. Low mechanical ramp — artisan commands are familiar territory for any Laravel developer. Moderate conceptual ramp: layering, bounded contexts, and where business logic belongs are the hard parts, and the tool does not teach them. Budget roughly a half-day workshop plus a reference domain to point at. Documentation in an archived repo is likely thin and version-stale; assume we write our own onboarding material regardless of which path we choose.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route