Search by

marcusslv / abstractor

marcusslv

Scaffold an entire Laravel domain with one Artisan command: entity, repository, service, controller, interface, migration, factory and seeder. Built for DDD and Clean Architecture projects.

v2.0.0 2026-09-16 19:32 UTC

This package is auto-updated.

Last update: 2026-10-05 18:21:30 UTC


README

Gera a estrutura completa de um domínio Laravel com um único comando Artisan: entity, repository, service, controller, interface, migration, factory e seeder. Feito para projetos em DDD ou Clean Architecture.

Packagist Downloads CI Licença

O problema que resolve

Todo projeto Laravel estruturado em domínio começa com as mesmas dezenas de arquivos: entidade, repositório, contrato, serviço, controller, migration, factory e seeder, sempre com a mesma forma e sempre escritos à mão. O pacote gera esse conjunto em um comando, com nomenclatura e estrutura consistentes entre módulos.

Requisitos

  • PHP 8.2 ou superior
  • Laravel 12

Instalação

composer require marcusslv/laravel-domain-generator --dev

O service provider é registrado automaticamente pelo package discovery do Laravel.

Uso

Classes abstratas do projeto

php artisan make:abstracts

Gera as classes abstratas que servem de base para todo o domínio: Entity, Repository, Service, Controller e Interface. Rode uma vez por projeto.

Um novo domínio

php artisan make:domain

Gera o conjunto completo de um domínio: Entity, Repository, Service, Controller, Interface, Migration, Factory e Seeder.

Desenvolvimento

composer test          # executa a suíte de testes
composer pint          # verifica a formatação
composer pint:fix      # aplica a formatação
composer rector:check  # analisa refatorações sugeridas

Changelog

As mudanças de cada versão estão em CHANGELOG.md.

Contribuindo

Issues e pull requests são bem-vindos. Para mudanças maiores, abra uma issue antes para discutir a proposta.

Licença

MIT. Veja LICENSE.