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

Project Context for AI Agents

Structure

This project uses Domain-Driven Design (DDD) with Laravel.

Available Commands

  • ddd:make-entity <name> <module> - Create entity with test
  • ddd:make-service <name> <module> - Create service with test
  • ddd:make-repository <name> <module> - Create repository with test
  • ddd:make-module <name> - Create complete module
  • ddd:list - List all modules
  • ddd:make-value-object <name> <module> - Create value object
  • ddd:make-controller <name> <module> - Create thin controller
  • ddd:make-request <name> <module> - Create form request
  • ddd:make-resource <name> <module> - Create API resource
  • ddd:make-routes <module> - Generate routes for a module

DDD Patterns

  • Entities: app/Domains/{Module}/Entities/
  • Services: app/Domains/{Module}/Services/
  • Repositories: app/Domains/{Module}/Repositories/
  • Controllers: app/Domains/{Module}/Http/Controllers/
  • Requests: app/Domains/{Module}/Http/Requests/
  • Resources: app/Domains/{Module}/Http/Resources/
  • Value Objects: app/Domains/{Module}/ValueObjects/
  • Tests: tests/Unit/Domains/{Module}/

Standard Flow

Request → FormRequest → Controller → Service → Repository → Entity → Resource

Key Conventions

  • Use singular for entities (User, not Users)
  • Controllers should be thin (delegate to services)
  • Business logic in Services, not Controllers
  • Repositories abstract data access
  • Use ddd:make-* commands to maintain consistency
  • Migrations are in database/migrations/
  • Eloquent models are in app/Models/ (no business logic)

Naming Examples

  • Entity: Userapp/Domains/Users/Entities/User.php
  • Service: UserServiceapp/Domains/Users/Services/UserService.php
  • Repository: UserRepositoryapp/Domains/Users/Repositories/UserRepository.php
  • Controller: UserControllerapp/Domains/Users/Http/Controllers/UserController.php
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
codifyo/ts-generator-bundle
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
christhompsontldr/laravel-inky
spatie/mailcoach-vapor