alexandresafarpaim / feature-maker
Gera uma feature completa com estrutura Laravel personalizada
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/alexandresafarpaim/feature-maker
README
Laravel Feature Maker
Laravel Feature Maker é um gerador de scaffolding para projetos Laravel, criado para acelerar o desenvolvimento e padronizar a estrutura de código por feature. Ideal para software houses e times que trabalham com projetos em larga escala e querem reutilizar funcionalidades de forma modular.
Sumário 📚
Instalação
Instale com:
composer require alexandresafarpaim/feature-maker
💡 Recomendamos não instalar como
--devpara garantir que as migrations customizadas sejam carregadas corretamente em produção.
Como Funciona
O comando php artisan make:feature gera a estrutura completa de uma feature, baseada em stubs personalizados.
Pastas geradas:
app/Features/NomeDaFeature/
├── Controllers/
├── Models/
├── Requests/
├── Resources/
├── Migrations/
Arquivos são criados com base nas opções que você passa ao comando.
Uso do Comando
php artisan make:feature NomeDaFeature [--controller|-c] [--migration|-m]
Exemplos
Criar tudo:
php artisan make:feature Produto -c -m
Criar apenas model e migration:
php artisan make:feature Categoria --migration
Criar apenas as pastas da feature:
php artisan make:feature IntegracaoPagarme
As pastas são sempre criadas mesmo se nenhum arquivo for gerado (útil para organização e versionamento).
Padrões Gerados
-
Model com:
fillable,casts,HasFactoryscopeFilter()pronto para pesquisa via?search=...
-
Controller (REST API) com:
- Index paginado com filtro
- Store, Show, Update, Destroy
- Usa FormRequests e Resources
-
Requests com:
- Arquivos separados para
StoreeUpdate
- Arquivos separados para
-
Resources com:
- Resource para transformar o model em JSON
-
Migration com:
- Nome da tabela automaticamente pluralizado e convertido para snake_case
Personalização
Você pode editar os stubs em:
src/stubs/
Para adaptar os arquivos gerados ao seu padrão de projeto (adicionar soft deletes, timestamps customizados, relations, etc.).
Boas Práticas
- Modularização por feature (inspirado em DDD-lite)
- Reutilização via copy/paste facilitada
- Pronto para CI/CD (sem dependências de execução runtime)
- Pode ser versionado e distribuído internamente por GitHub ou repositórios privados
Licença
MIT — Livre para uso comercial e pessoal. Mantenha os créditos ;)