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

Laravel Domain Commands Laravel Package

signifly/laravel-domain-commands

Artisan commands for scaffolding domain-driven design in Laravel. Quickly generate domains, actions, and supporting classes with a consistent structure, so business logic stays organized and your codebase remains easy to navigate and extend.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • The package is a developer-experience layer, not a runtime dependency: it adds Artisan generators that scaffold DDD-style classes (domain commands, handlers, queries, and related artifacts) into a Laravel codebase.
  • Fit is strong only for teams that have already committed to a DDD/hexagonal layering convention in Laravel and want that convention encoded in tooling. For teams without an agreed layer structure, the generators will produce inconsistent scaffolding.
  • Because it emits code rather than executing at runtime, it has effectively zero production footprint. Architectural risk is concentrated in whether the generated class shapes match our intended domain boundaries and naming conventions.

Integration feasibility

  • Low-effort integration: composer require --dev, register the service provider in non-production environments, and the commands become available to engineers.
  • No database, queue, or infrastructure changes. No config publishing requirements are implied by the description, though stub/namespace customization should be confirmed.
  • Primary feasibility question is version compatibility: last release was 2023-11-21 and the repository is archived, so support for current Laravel and PHP releases is unlikely to be validated. A short spike against our current framework version is mandatory before any adoption decision.

Technical risk

  • Archival is the dominant risk. No upstream fixes, no compatibility updates, no security triage. Any defect becomes ours to patch or work around.
  • Ecosystem drift: Laravel major upgrades will eventually break service provider registration, console command signatures, or stub syntax. There is no maintainer to absorb that cost.
  • Low community validation: 22 stars and a 0.315 score indicate minimal real-world usage; edge cases in generator output are likely undocumented.
  • Low blast radius: as a dev-only tool, worst case is broken scaffolding commands, not production incidents. This keeps the risk bounded and reversible.
  • Supply chain: archived packages can be flagged by dependency scanning and may accumulate transitive staleness, creating friction in audit processes even when functionally harmless.

Key questions

  • Which Laravel and PHP versions are supported, and does it install cleanly on our current stack?
  • Exactly which classes and layers does it scaffold, and do the generated shapes match our domain conventions?
  • Are the stubs and namespaces configurable/publishable, or hard-coded to Signifly's preferences?
  • Does it depend on other Signifly packages or an assumed base architecture?
  • Is there a maintained fork or successor package we should evaluate instead?
  • Do we need ongoing generation, or is this a one-time bootstrap we could absorb into our own tooling?
  • Who owns the fork if we adopt it?

Integration Approach

Stack fit

  • Laravel/PHP with Composer. Install as a require-dev dependency only; exclude from production builds and production container images.
  • Scope access to local development and CI scaffolding jobs. No runtime configuration, no environment variables, no secrets.
  • Best suited to greenfield or early-stage services where DDD layering is being established; poor fit for legacy codebases with established, divergent conventions.

Migration path

  • No data migration and no customer-facing migration. This is purely an engineering workflow change.
  • Path is: evaluate in a throwaway branch → compare generated output against existing code → decide between adopt-as-is, fork-and-adapt, or build a small in-house generator.
  • If adopted, document the generator as the canonical way to create new domain classes and update the team's contribution guide accordingly.

Compatibility

  • Pin the exact version in composer.json and commit the lockfile. Do not allow floating constraints on an archived package.
  • Add a CI job that installs dependencies and runs the generators as a smoke test, so Laravel upgrades surface breakage immediately rather than mid-sprint.
  • If compatibility fails on our target framework version, prefer a lightweight fork over downgrading the framework. A fork needs an explicit named owner and a defined patch policy.

Sequencing

  1. Spike: install on current stack, run every generator, diff output against our conventions. Timebox to a few days.
  2. Decision gate: adopt, fork, or replace. Treat "replace with ~150 lines of custom Artisan commands" as a genuine option given the small surface area.
  3. If adopting, harden: pin version, add CI smoke test, document conventions, restrict to dev environments.
  4. Roll out to one team/service first; measure whether engineers actually use the generators before broader standardization.
  5. Re-evaluate at each Laravel major upgrade; if the fork path was chosen, budget maintenance time in that cycle.

Operational Impact

Maintenance

  • Zero maintenance if used as-is and it keeps working; non-trivial maintenance if forked. Forking converts a free tool into an owned artifact with an ongoing compatibility obligation.
  • Realistic ongoing cost is small but recurring: a few hours per Laravel major release to verify or patch, plus ad-hoc fixes when generated output drifts from conventions.
  • Archival means the maintenance curve only goes up; there is no path back to community-maintained.

Support

  • No vendor support, no maintainer responsiveness, no issue triage. Internal engineers are the sole support channel.
  • Onboarding documentation must be written by us; there is no reliable external reference beyond the README.
  • Dependency scanners may flag the package as unmaintained, requiring a documented exception to keep it in the allowlist.

Scaling

  • Dev tooling does not scale with traffic; there is no runtime scaling concern.
  • It does scale with team size in a different way: as headcount grows, hard-coded generator conventions become a coordination mechanism, and stale conventions propagate faster. Generator output becomes de facto architecture guidance whether or not that is intended.
  • Forking creates a shared internal dependency that needs versioning discipline across multiple services.

Failure modes

  • Composer resolution failure on a Laravel or PHP upgrade — caught only if the CI smoke test exists.
  • Silent convention drift: generators produce classes that no longer match the agreed layer boundaries, and nobody notices until review time.
  • Service provider or command signature breakage after a framework bump, blocking scaffolding mid-sprint.
  • Audit/security tooling flagging the archived dependency and blocking a release pipeline.
  • Bus-factor risk if a fork is created without a documented owner.
  • Low-severity overall: all failure modes degrade developer velocity, not production availability.

Ramp-up

  • Very low. Engineers familiar with Artisan pick it up in minutes; the README should suffice for basic use.
  • The real ramp-up cost is architectural, not tooling: the team must already agree on what a domain command, handler, and query look like before the generators add value. Without that agreement, the tool accelerates inconsistency.
  • Recommend a short internal walkthrough (30–60 minutes) plus a documented example of each generated artifact in the codebase.
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.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
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