PHPackages                             anteris-dev/domain-driven-laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. anteris-dev/domain-driven-laravel

ActiveLibrary[Framework](/categories/framework)

anteris-dev/domain-driven-laravel
=================================

Easily interact with your Laravel application as a DDD app.

v0.1.1(5y ago)123[1 issues](https://github.com/Anteris-Dev/domain-driven-laravel/issues)PHP

Since Oct 20Pushed 5y ago1 watchersCompare

[ Source](https://github.com/Anteris-Dev/domain-driven-laravel)[ Packagist](https://packagist.org/packages/anteris-dev/domain-driven-laravel)[ RSS](/packages/anteris-dev-domain-driven-laravel/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (5)Versions (4)Used By (0)

Transforms a default Laravel application into a Domain Driven Experience
========================================================================

[](#transforms-a-default-laravel-application-into-a-domain-driven-experience)

This package is inspired by the work of [Brent Roose](https://github.com/brendt) and the [Spatie](https://spatie.be) team. Particularly by his [Domain Driven Development blog posts](https://stitcher.io/blog/laravel-beyond-crud-01-domain-oriented-laravel).

By utilizing the commands provided in this package, you can convert your Laravel application into a Domain Driven experience by reorganizing the app structure and updating namespaces. Laravel Fortify and Jetstream are supported.

This package also provides several useful make commands for generating classes within the domain.

To Install
==========

[](#to-install)

```
composer require anteris-dev/domain-driven-laravel --dev
```

To Setup your Domain
====================

[](#to-setup-your-domain)

First you will need to reorganize your application. You can do this by running the domain setup command:

```
php artisan domain:setup {domain}
```

Where `{domain}` is the desired name of your domain.

This will perform the following actions.

1. Create a directory in `app` with the name of your domain
2. If Fortify or Jetstream is installed, move their Actions into the domain directory
    - The namespace of these actions is determined by whether or not Jetstream has team support installed. If team support is enabled, they will be placed in the `Team` namespace in your domain. Otherwise they will be placed in the `User` namespace
3. Move models into their own namespace within this domain directory
    - The namespace of the models is determined by the singular form of their filename. Models will be placed under this namespace in a `Models` directory
    - If Jetstream is installed with teams support, Jetstream models will be moved to the `Team` namespace
4. Move Laravel files to `app/Support`
5. Create an application layer directory at `app/App`
6. Update the bootstrap file to look for Laravel under `app/Support`
7. Update autoloading in composer
8. Store the current domain in composer under `extra.laravel.domain` for use during file generation and namespace updates
9. Dump composer autoloads

Make Commands
=============

[](#make-commands)

This package provides the following make commands for your ease.

CommandDescriptionmake:app:controller {layer} {name}Creates a new [application](https://stitcher.io/blog/laravel-beyond-crud-07-entering-the-application-layer) controller in the `app/App/{layer}/Controllers` directory.make:app:viewmodel {layer} {name}Creates a new [application](https://stitcher.io/blog/laravel-beyond-crud-07-entering-the-application-layer) view model in the `app/App/{layer}/ViewModels` directory.make:domain:action {subdomain} {name}Creates a new [action](https://stitcher.io/blog/laravel-beyond-crud-03-actions) in the `app/{domain}/{subdomain}/Actions` directory.make:domain:dto {subdomain} {name}Creates a new [data transfer object](https://stitcher.io/blog/laravel-beyond-crud-02-working-with-data) in the `app/{domain}/{subdomain}/DataTransferObjects` directory.make:domain:model {subdomain} {name}Creates a new [model](https://stitcher.io/blog/laravel-beyond-crud-04-models) in the `app/{domain}/{subdomain}/Models` directory.

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

2080d ago

Major Versions

v0.1.1 → v1.0.x-dev2020-10-21

### Community

Maintainers

![](https://www.gravatar.com/avatar/3dca3c3ac71024f7878526a0fe0a384fbf198ed711fe7e7bb34177a1dbc849f6?d=identicon)[golthem](/maintainers/golthem)

###  Code Quality

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/anteris-dev-domain-driven-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/anteris-dev-domain-driven-laravel/health.svg)](https://phpackages.com/packages/anteris-dev-domain-driven-laravel)
```

###  Alternatives

[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M186](/packages/laravel-ai)[illuminate/queue

The Illuminate Queue package.

21332.6M1.6k](/packages/illuminate-queue)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k15.1M129](/packages/laravel-pulse)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M129](/packages/roots-acorn)[laravel/folio

Page based routing for Laravel.

603583.7k32](/packages/laravel-folio)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
