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

Filament Ddd Starter Laravel Package

orebarranco/filament-ddd-starter

A Laravel starter package that pairs Filament admin panel scaffolding with Domain-Driven Design conventions, helping you organize domain, application, and infrastructure layers into maintainable, scalable back-office projects. Useful for bootstrapping DDD-style Filament resources and reducing boiler...

View on GitHub
Deep Wiki
Context7

Technical Evaluation

What this release actually is. v1.0.3 is a re-publication, not a feature release. The notes state the code is identical to v1.0.2, which Packagist never served because that tag was registered against the v1.0.1 commit and cannot be corrected. The only substantive delta versus what was previously installable (v1.0.1) is the bundled Filament version: 5.10.2.

Architecture fit. orebarranco/filament-ddd-starter is a project scaffold, not a library. It is consumed via composer create-project, which means it is a one-shot generator: after scaffolding, the generated code is owned by us and upstream is no longer a dependency. This materially lowers architectural risk — there is no runtime coupling, no transitive version constraint on our applications, and no upgrade treadmill. The corollary is that upstream improvements are not delivered to existing projects; every adoption is a fork-and-diverge event.

The DDD layering (domain/application/infrastructure/presentation) combined with a Filament admin panel is a reasonable, if opinionated, starting point. The real evaluation question is whether their bounded-context and repository conventions match ours — the composer.json is the least important file in the repo.

Technical risk — the versioning incident. The Packagist/tag mismatch is the headline risk, and it should be read as a process maturity signal, not a one-off. Specifically:

  • A tag was pushed whose commit did not match its intended content, and the registry could not be corrected. That implies the release pipeline lacks a verify-tag-matches-artifact gate.
  • Downstream consumers who pinned v1.0.2 may have silently received v1.0.1 code. Any internal reference to ^1.0.2 in a scaffold command should be treated as untrusted until verified.
  • Release notes are Spanish-only and terse. For a team that will be debugging generated code, this is a documentation/localization gap worth flagging but not blocking.

Technical risk — Filament 5.10.2 behaviour change. The meaningful functional change is that managing app-based MFA now requires re-entering the password (step-up re-authentication). This is a security-positive change (mitigates session-hijack-driven MFA enrolment), but it has real consequences: it alters an admin UX flow, it means sessions performing MFA configuration must have a re-auth pathway available, and it will break any automated/E2E test that asserts the old single-step MFA management flow. Any custom Filament panel code generated from this starter that touches the MFA page must be re-tested.

Key questions for the maintainer / our evaluation:

  1. Is there a commit-hash or composer.lock we can pin to instead of relying on the semver tag, given the demonstrated tag/registry divergence?
  2. What is the release verification process going forward — will tags be annotated and content-verified before Packagist registration?
  3. Is Filament 5.10.2 a hard floor or a soft constraint in the scaffold? Can we scaffold and immediately downgrade/pin within the 5.x line?
  4. What is the support model — is this a maintained starter or a personal template with incidental adoption?
  5. Are the Spanish-language docs the canonical source, or is there an English mirror?

Verdict on this release: low functional novelty, moderate process risk. It does not change our architectural position on the package; it changes our confidence in the release pipeline.

Integration Approach

Stack fit. Consuming via composer create-project orebarranco/filament-ddd-starter requires a PHP/Laravel stack with Composer available in the scaffolding environment. This is a greenfield-only proposition: the correct integration model is "generate a candidate project in a sandbox, review the generated tree, then either adopt it as the seed for a new service or reject it." It is not appropriate to attempt to graft this onto an existing application — the value is in the conventions and boilerplate, and retrofitting DDD layering into a live codebase is a rewrite, not an integration.

Compatibility gates. Confirm the generated composer.json resolves cleanly on our target PHP version and that Filament 5.10.2's peer requirements (Livewire, Laravel, Alpine/Tailwind build chain) match our baseline. Filament major versions have historically carried breaking changes to panel configuration and resource APIs; a 5.x floor should be validated against whatever our internal admin standard is. The MFA step-up change specifically implies a Filament auth-panel behaviour we should diff against our existing auth UX standard.

Migration path. None in the conventional sense — there is no migration from anything. The realistic paths are: (a) adopt as scaffolding for the next greenfield service, (b) extract the DDD directory conventions and Filament panel config as an internal template, discarding the rest, or (c) evaluate and decline. Path (b) is usually the highest-value outcome and also the one that reduces exposure to upstream release hygiene.

Sequencing.

  1. Pin and verify. Do not scaffold from the v1.0.3 tag alone. Resolve the tag to a commit SHA, diff v1.0.1...v1.0.3 (the notes provide the compare URL), and confirm the only delta is the Filament constraint. Record the SHA in our evaluation artifact.
  2. Sandbox scaffold. Generate the project in an isolated environment; capture composer.lock, run the test suite, boot the Filament panel.
  3. MFA flow validation. Explicitly exercise the app-based MFA management screen: enrol, verify re-prompt for password, disable, and confirm the re-auth prompt fires on each management action. Confirm no infinite-loop or dead-end if the session's password confirmation has expired.
  4. Convention review. Walk the DDD layers against our internal standards; produce a written adopt/adapt/reject decision per layer.
  5. Template decision. If adopted, fork into an internal, versioned template repo under our own release process — this neutralises the upstream Packagist risk entirely.
  6. Consumer comms. Only after step 5, publish usage guidance to the platform team.

Operational Impact

Maintenance. Because this is create-project scaffolding, ongoing maintenance burden sits with us, not upstream. Once generated, the code is ours to patch. Budget for that explicitly: framework upgrades, Filament upgrades (including the auth-behaviour changes like this one), and dependency drift are all our responsibility. The realistic steady-state cost is a periodic audit of the internal template against the current Laravel/Filament baseline, not continuous upstream tracking.

Support. Upstream support appears to be a single maintainer with informal, Spanish-language release notes and a demonstrated registry incident. Treat it as best-effort, no SLA. Do not place a production dependency on the maintainer's responsiveness. If the starter is adopted, an internal owner must be named — otherwise the generated project inherits an unowned template.

Scaling. Horizontal scaling of applications built on this scaffold is unaffected by the package itself; it is ordinary Laravel. The scaling concern is organisational: every greenfield project that scaffolds independently drifts from the others. Mitigate by templating (single internal source of truth) rather than by encouraging repeated create-project runs. The MFA step-up requirement adds a small amount of session/auth surface that should be covered by shared test utilities rather than reimplemented per project.

Failure modes to watch.

  • Supply-chain / reproducibility: semver tags that do not match served artifacts, as occurred with v1.0.2. Mitigation: commit-SHA pinning, lockfile commits, and an internal mirror.
  • Silent behavioural change in auth: the MFA password re-prompt alters an admin flow; E2E tests asserting the prior flow will fail or, worse, be relaxed to pass. Mitigation: explicit test coverage for the re-auth path before adoption.
  • Template divergence: N generated projects, N slightly different DDD interpretations. Mitigation: internal template with versioned releases.
  • Bus factor: single-maintainer abandonment. Mitigation: the fork-and-own model described above; upstream becomes an input, not a dependency.
  • Documentation gap: Spanish-only notes and sparse changelogs slow incident triage for an English-speaking on-call rotation. Mitigation: internal onboarding doc capturing the scaffold's conventions.

Ramp-up. For engineers already fluent in Laravel, the ramp is dominated by the DDD conventions, not the framework — roughly a sprint to internalise layering, repository boundaries, and where Filament resources are permitted to talk to the domain. The Filament panel itself is well-trodden. The MFA step-up change is a small delta that should be captured in the auth runbook rather than in general onboarding. Recommend a single engineer own the initial scaffold review and produce the internal template plus a short conventions guide before broader team exposure — that artefact, not the upstream README, should be the onboarding surface.

Bottom line. v1.0.3 is a registry-hygiene release with one security-positive dependency bump (Filament 5.10.2, password re-prompt on MFA management). It does not change the strategic read: evaluate as a reference implementation and template source, adopt behind an internal fork, and pin by commit SHA given the demonstrated tag/registry mismatch. Do not adopt as a live dependency; do not assume upstream support.

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.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core