Weave Code
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

Starter Laravel Package

laravel-ddd/starter

Composer starter kit that turns a fresh Laravel 12/13 app into a Domain-Driven Design structure. Includes base Entity/ValueObject/Repository/Service classes, 12 generators, interactive installer (auth, docs, tests, sample module), API-ready routes, and optional AI context.

View on GitHub
Deep Wiki
Context7
1.0.4

πŸ”§ Bug Fixes

  • Fix namespace interpolation in module generation ({Users} β†’ Users)
  • Fix migration location to use standard Laravel folder (database/migrations/)
  • Fix singular entity naming (Users.php β†’ User.php)
  • Fix tests crash due to Laravel dependencies not being loaded
  • Fix GitHub Actions workflow (composer install before running tests)

✨ Features

  • Add form requests to module generation (StoreUserRequest, UpdateUserRequest)
  • Add complete Laravel-like Users structure with all fields
  • Add migration overwrite warning prompt
  • Add GitHub Actions matrix testing (6 auth+module combinations)
  • Actually install Sanctum/Breeze (was just printing warnings)
  • Add ddd:test command for running module tests
  • Add automated testing script

πŸ“š Documentation

  • Add comprehensive publishing guide

Package Installation

composer create-project laravel/laravel mi-proyecto
cd mi-proyecto
composer require laravel-ddd/starter
php artisan ddd:install --auth=none --module=users
Supported Options
- Auth: none, breeze, sanctum
- Module: none, users
v1.0.2

Fixed:

  • Module generation now uses singular entity names (User.php not Users.php)
  • Added Store/Update form requests to module generation
  • Skip model creation if already exists
  • Added comprehensive package tests
v1.0.1

Fixed syntax error in DddInstallCommand that caused undefined variable $content error during installation.

v1.0.0

πŸ—οΈ Laravel DDD Starter Kit β€” v1.0.0

Transform any Laravel 12/13 project into a fully structured Domain-Driven Design architecture.


✨ Features

  • βœ… Complete DDD architecture organized by domains/modules
  • βœ… Interactive installer (ddd:install) with auth selection: Breeze / Sanctum / None
  • βœ… 11 Artisan commands for generating modules, entities, services, and more
  • βœ… Base classes for DDD patterns: Entity, ValueObject, Repository, Service
  • βœ… Code generation stubs for consistent patterns
  • βœ… API-ready routing system organized by domain
  • βœ… Testing structure per module
  • βœ… Comprehensive documentation included

πŸš€ InstalaciΓ³n

composer create-project laravel/laravel my-project
cd my-project
composer require laravel-ddd/starter
php artisan ddd:install

πŸ”§ Available Commands

Command Description
ddd:install Interactive installation
ddd:make-module Create a complete module
ddd:make-entity Entity + model + migration
ddd:make-service Service class
ddd:make-repository Repository interface + implementation
ddd:make-controller Thin controller
ddd:make-request Form Request
ddd:make-resource API Resource
ddd:make-value-object Value Object
ddd:make-routes Module routes file
ddd:test Run package tests

πŸ“¦ What Gets Generated?

Running php artisan ddd:make-module Products gives you:

src/
└── Products/
    β”œβ”€β”€ Entities/
    β”œβ”€β”€ Repositories/
    β”‚   β”œβ”€β”€ ProductRepositoryInterface.php
    β”‚   └── EloquentProductRepository.php
    β”œβ”€β”€ Services/
    β”œβ”€β”€ Http/
    β”‚   β”œβ”€β”€ Controllers/
    β”‚   β”œβ”€β”€ Requests/
    β”‚   └── Resources/
    β”œβ”€β”€ Routes/
    β”œβ”€β”€ Providers/
    β”œβ”€β”€ database/
    β”‚   └── migrations/
    └── tests/
        β”œβ”€β”€ Unit/
        └── Feature/

Each module includes:

  • Entities β€” Encapsulated domain models
  • Repositories β€” Interface + Eloquent implementation
  • Services β€” Business logic with dependency injection
  • Controllers β€” Thin controllers that delegate to services
  • Form Requests β€” Decoupled validation
  • API Resources β€” Response transformations
  • Routes β€” Dedicated routes file per module
  • Migrations β€” Database migrations scoped to the domain
  • Tests β€” Unit and Feature tests
  • Service Provider β€” Automatic module registration

πŸ“š Documentation

Resource Description
README.md Complete user guide
Commands Reference All commands documented
Best Practices DDD patterns guide
Routing Guide API routing setup

πŸ“‹ Requirements

Dependency Minimum version
PHP ^8.4
Laravel ^12.x or ^13.x

πŸ› Known Issues

None at this time. If you run into any problems, open an issue on GitHub.


🀝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md for guidelines.


πŸ“ License

This package is open-sourced under the MIT license.


Found a bug or have a suggestion?
Open an issue on GitHub β€” all feedback is welcome.

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.
besmartand-pro/php-quality-config
sentix/ai-chatbot
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity