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

Product Decisions This Supports

  • Architecture standardization for a Laravel monolith: If the team is moving from a conventional Laravel layout (app/Models, app/Http/Controllers) toward bounded contexts or modules, Domain Maker gives a repeatable command surface for generating the same boilerplate every time. That turns "should we restructure?" from a debate into a low-cost spike: scaffold one domain, evaluate the ergonomics, then decide.
  • Build vs. buy (vs. copy): This is a candidate for the "buy" side of a make-or-buy call only in the loosest sense — it is MIT-licensed, small, and already archived. The realistic comparison is adopt vs. vendor/copy vs. build internally. Because the entire value is command scaffolding, the exit cost of copying the commands into your own repo is very low, which de-risks the decision.
  • Convention over configuration for team scaling: Domain Maker encodes a directory convention (Domain/Application/Infrastructure-style separation) as executable generators. That is a hiring and onboarding lever: new engineers produce structurally consistent code without a style-guide argument. Relevant to roadmap decisions about headcount and parallel team ownership of modules.
  • Enabling modular monolith as a precursor to service extraction: Teams frequently want the option of later extracting a bounded context into a service. A domain-oriented layout is a cheap prerequisite. Using scaffolding tools to enforce context boundaries is a legitimate intermediate step on a roadmap that ends in service extraction — with the honest caveat that generated folders alone do not create real boundaries.
  • Delivery-velocity experiments: For a discovery sprint, generating a domain skeleton in seconds rather than a day of boilerplate lets you test whether domain-per-folder structure actually improves your team's velocity before committing to a multi-sprint refactor.
  • Use cases to scope: greenfield internal tools and admin backends where Laravel is already the default; multi-tenant SaaS needing clear domain seams; agencies with repeated Laravel project templates.

When to Consider This Package

Adopt-consideration criteria:

  • You are on Laravel with PHP, and the team has already agreed (or is seriously evaluating) a domain-oriented or modular structure. This package solves scaffolding, not architecture design — the design decision must come first.
  • You want cheap, reversible experimentation. Because the artifact is generator commands, you can trial it in one module and delete it if it does not fit.
  • Your org values consistency over novelty and has enough Laravel fluency to read and own a small command set.
  • You are comfortable vendor-copying a small MIT package. This is the strongest adoption path given the maintenance signals.

Look elsewhere when:

  • Maintenance risk is unacceptable. The repo is archived and last released 2022-12-14. Do not put this on the critical path of a product with a long support horizon, and do not assume Laravel 10/11/12 compatibility — verify against your target framework version first.
  • 87 stars is your signal for ecosystem support. Small community means no security response, no issue triage, no upgrade path. If your organization requires a supported dependency with an SLA, this fails the bar.
  • You need real bounded-context enforcement. Scaffolding does not prevent cross-domain imports. If the goal is enforceable boundaries, evaluate architecture-testing and static-analysis tooling alongside — or instead.
  • Your team is not already Laravel-native. A scaffolding tool amplifies an existing convention; it does not teach domain-driven design to a team that has not internalized it. Training and design review come first.
  • A modern, maintained alternative covers the same ground. Compare against actively maintained modular/Domain-Driven Design packages for Laravel before adopting an archived one; there are stronger-maintained options in this space, and switching cost is low precisely because the surface is small.

How to Pitch It (Stakeholders)

One-liner: Domain Maker is a small, free Laravel code generator that standardizes how we lay out domain-oriented code — it is an optional accelerator, not a platform dependency.

For executives: This is a low-cost, low-risk tooling question, not a strategic bet. It makes our codebase more consistent and makes a future move to modular or service-based architecture cheaper, but the project is archived and last released in 2022. Recommendation: treat it as a reference implementation. We evaluate the pattern with a one-module spike, and if we like it we own a handful of generator commands in our own repository — roughly a day of engineering — rather than depending on an unmaintained package. Decision needed: approve a small spike, not a dependency.

For engineering leadership: Value is the convention, not the code. The commands encode an agreed folder structure, which reduces review friction and onboarding time and gives us a seam for later service extraction. Risk is maintenance and framework drift: no active maintainer, no security response, unverified against current Laravel.

What we are asking for: (1) a timeboxed spike in a single non-critical module; (2) agreement to vendor-copy the generators if the spike succeeds; (3) explicit acknowledgment that generated structure is a convention, not an enforced boundary, so we still need review discipline or architecture tests.

What we are not claiming: that this tool delivers domain-driven design. It delivers boilerplate for teams that already practice it. Success is measured by onboarding time and review friction, not by adoption of the package itself.

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.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums