Download the PHP package anas/easy-dev without Composer
On this page you can find all versions of the php package anas/easy-dev. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download anas/easy-dev
More information about anas/easy-dev
Files in anas/easy-dev
Package easy-dev
Short Description Generate production-style Laravel feature structure from one Artisan command: CRUD, APIs, services, repositories, tests, OpenAPI docs, modules, and AI-ready project context.
License MIT
Homepage https://github.com/anasnashat/laravel-easy-dev
Informations about the package easy-dev
Laravel Easy Dev
Generate production-style Laravel feature structure from one Artisan command.
Laravel Easy Dev helps Laravel developers reduce repetitive setup around every model or feature by generating CRUD, APIs, Form Requests, Resources, optional Services and Repositories, Policies, DTOs, Tests, OpenAPI docs, Modules, frontend starter stubs, and AI-ready project context.
Stable release: v3.1.1
Stop Repeating Laravel Boilerplate
Every time you start a new Laravel feature, you often repeat the same setup:
- Controller
- Form Requests
- API Resource
- Routes
- Service
- Repository
- Policy
- DTO
- Tests
- Swagger / OpenAPI docs
Laravel Easy Dev helps you generate that structure from one Artisan command, so you can focus on the actual business logic.
Instead of spending 30 to 90 minutes wiring the same structure for every model, run one Artisan command and start from a consistent, team-ready architecture.
Demo
CRUD in seconds
Module and architecture scaffolding
AI project analysis
AI Guide
Laravel Easy Dev includes AI-friendly commands for coding agents:
See docs/AI_GUIDE.md for token-saving workflows, safe generation rules, and prompt examples for Codex, Cursor, Claude, and ChatGPT.
Quick Start
1. Install
Laravel package discovery registers the service provider automatically.
2. Generate a Feature
3. Check Routes
4. Run Tests
Publish the config when you want to customize paths, defaults, routes, validation rules, or module settings:
Publish stubs when you want generated code to match your team's exact style:
Published stubs are placed in:
Before / After
Before
For every model or feature, you may manually create:
- Controller
- Store request
- Update request
- API resource
- Routes
- Service class
- Repository class
- Policy
- DTO
- Tests
- Swagger docs
After
One command gives you a clean starting point that you can customize.
Example Generated Structure
What It Generates
Laravel Easy Dev can generate:
- Web CRUD controllers and routes
- API controllers, resources, requests, and routes
- Optional Service layer
- Optional Repository layer
- Policies
- DTOs
- Observers
- Filters
- Enums
- Feature and unit tests
- OpenAPI / Swagger docs
- Clean Architecture and DDD-style modules
- Vue, React, Inertia, and Livewire starter stubs
- AI-friendly JSON commands for project context and analysis
Common Recipes
API CRUD Only
API CRUD With Tests
API CRUD With Service Layer
Full Structure
Module Structure
Generate OpenAPI Docs
Export AI Context
Command Cheatsheet
| Command | Use It For |
|---|---|
easy-dev:crud |
Generate CRUD and optional layers |
easy-dev:make |
Interactive CRUD wizard |
easy-dev:test |
Generate tests |
easy-dev:swagger |
Generate OpenAPI docs |
easy-dev:analyze |
Analyze missing layers |
easy-dev:ai-context |
Export AI-ready project context |
easy-dev:snapshot |
Generate project snapshot |
easy-dev:publish-stubs |
Publish and customize stubs |
When Should You Use This?
Laravel Easy Dev is useful when you are building:
- APIs
- Admin panels
- SaaS dashboards
- CRUD-heavy applications
- Modular Laravel applications
- Internal tools
- Teams that want consistent generated structure
- Projects where you want tests and documentation from the start
It is not meant to replace Laravel or hide the framework.
It gives you a clean starting point that you can customize, edit, or delete.
Philosophy
Laravel Easy Dev does not force one architecture.
You can generate simple Laravel CRUD, or enable optional layers like:
- Services
- Repositories
- DTOs
- Policies
- Observers
- Tests
- Swagger docs
- Modules
Use only what fits your project.
The generated code is meant to be:
- Readable
- Editable
- Customizable
- Easy to delete
- Laravel-friendly
Generated Files
Basic CRUD generation creates:
Optional flags add:
| Flag | Generated output |
|---|---|
--with-repository |
app/Repositories/ProductRepository.php, app/Repositories/Contracts/ProductRepositoryInterface.php |
--with-service |
app/Services/ProductService.php, app/Services/Contracts/ProductServiceInterface.php |
--with-policy |
app/Policies/ProductPolicy.php |
--with-dto |
app/DTOs/ProductData.php |
--with-observer |
app/Observers/ProductObserver.php |
--register-observer |
Adds #[ObservedBy] registration to the model |
--tests |
tests/Feature/ProductControllerTest.php, unit test shells |
--swagger |
storage/app/easy-dev/openapi.json |
--vue |
resources/js/components/ProductsIndex.vue |
--react |
resources/js/components/ProductsIndex.jsx |
--inertia |
resources/js/Pages/Products/Index.vue |
--livewire |
Livewire class and Blade view |
Features
API-First Mode
Use --api or --api-only to skip web controllers and focus on API resources.
Optional Repository and Service Layers
Repository and Service layers are optional. Laravel Easy Dev does not force them. Enable them only when they match your project or team structure.
Generate clean separation between HTTP, business logic, and persistence:
Architecture Presets
Use standard Laravel structure:
Use Clean Architecture layout inside a module:
Use DDD-style module layout:
Modules
Place generated files under a domain module:
Example module output:
Test Generation
Generate starter tests for a model:
Generate API, service, and repository test shells:
OpenAPI / Swagger
Generate a basic OpenAPI file:
Generate YAML:
Project Analysis
Analyze project structure and missing layers:
Machine-readable output for AI tools:
Apply conservative safe fixes where available:
Relationship Management
Auto-detect relationships from database schema and migrations:
Add a relationship manually:
Individual Generators
Use each generator independently:
Frontend Starters
Generate backend plus starter frontend files:
These files are intentionally starter templates. They give you a consistent first screen to customize for your actual UI stack.
AI Commands
Give AI coding agents structured project context:
All major generators support --ai for quiet JSON output:
Customization
Publish stubs:
List available stubs:
Publish only selected stubs:
Overwrite existing published stubs:
Stub resolution order:
- CLI
--stub=... - published project stubs
config/easy-dev.phpstub mapping- package default stubs
Configuration
Publish config:
Common settings:
- output paths for models, controllers, resources, repositories, services, policies, DTOs, observers, enums, tests, factories, and migrations
- route middleware and route prefixes
- default generator options
- validation rule mapping
- relationship detection behavior
- module root path and module namespace structure
Command Reference
Primary commands:
| Command | Purpose |
|---|---|
easy-dev:crud |
Generate CRUD and optional architecture layers |
easy-dev:make |
Interactive CRUD wizard |
easy-dev:dream |
Generate from natural language |
easy-dev:test |
Generate feature and unit test shells |
easy-dev:swagger |
Generate OpenAPI docs |
easy-dev:analyze |
Analyze missing layers and maintainability risks |
easy-dev:ai-context |
Export AI-ready project context |
easy-dev:snapshot |
Snapshot models, schemas, and relationships |
easy-dev:info |
Inspect one model |
easy-dev:publish-stubs |
Publish customizable stubs |
Pattern generators:
| Command | Purpose |
|---|---|
easy-dev:repository |
Repository and interface |
easy-dev:api-resource |
API resource and collection |
easy-dev:policy |
Authorization policy |
easy-dev:dto |
Data Transfer Object |
easy-dev:observer |
Model observer |
easy-dev:filter |
Query filter |
easy-dev:enum |
PHP enum |
easy-dev:sync-relations |
Detect and sync model relationships |
easy-dev:add-relation |
Add one relationship manually |
Requirements
- PHP 8.1+
- Laravel 9, 10, 11, 12, or 13
- MySQL, PostgreSQL, or SQLite for schema analysis features
Testing
Run the package tests:
Current local verification:
Roadmap
Possible future improvements:
- Better OpenAPI schema generation from migrations
- More Pest testing support
- Filament resource generation
- Better frontend starter templates
- More module architecture presets
- More AI-friendly project analysis commands
- More customization options for generated stubs
Community
Laravel Easy Dev is actively maintained and continuously improving.
Stay updated with:
- New releases
- Changelog updates
- Roadmap announcements
- Demo videos
- Laravel Easy Dev tips and examples
Telegram Community
GitHub Discussions
https://github.com/anasnashat/laravel-easy-dev/discussions
GitHub Issues
https://github.com/anasnashat/laravel-easy-dev/issues
Feedback, ideas, bug reports, and feature requests are always welcome.
See docs/COMMUNITY.md for the community welcome message.
Feedback
Laravel Easy Dev is actively improving.
If you use it in a project, feedback is welcome:
- Are the generated defaults useful?
- What structure should be improved?
- What Laravel workflows should be supported next?
Open an issue or discussion on GitHub.
Release Status
Laravel Easy Dev v3.1.1 is stable and ready for Laravel project use. Compatibility is verified across Laravel 9, 10, 11, 12, and 13, with GitHub Actions coverage for PHP 8.1, 8.2, 8.3, and 8.4 where supported.
Contributing
Issues, discussions, pull requests, and real project feedback are welcome.
License
The MIT License. See LICENSE.md for details.
Credits
All versions of easy-dev with dependencies
illuminate/contracts Version ^9.0|^10.0|^11.0|^12.0|^13.0
illuminate/support Version ^9.0|^10.0|^11.0|^12.0|^13.0
illuminate/console Version ^9.0|^10.0|^11.0|^12.0|^13.0
illuminate/database Version ^9.0|^10.0|^11.0|^12.0|^13.0
illuminate/filesystem Version ^9.0|^10.0|^11.0|^12.0|^13.0