Download the PHP package meehh/laravel-goat without Composer
On this page you can find all versions of the php package meehh/laravel-goat. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download meehh/laravel-goat
More information about meehh/laravel-goat
Files in meehh/laravel-goat
Package laravel-goat
Short Description Terminal-first Laravel feature generator β template & boilerplate for full feature slices (Model, Requests, Resources, Service, Repository, Policy, Tests) from a single migration or ERD. Not just CRUD.
License MIT
Homepage https://github.com/CodeWithTeds/meehh
Informations about the package laravel-goat
| # π GOAT ### Terminal-first Laravel *Feature* Generator **Template Β· Boilerplate Β· Feature Slice β from a single migration or ERD** > π **Your schema is already there. Why build around it manually when the structure you've already defined could be the starting point for everything that comes next?** |
Why GOAT?
You paste a schema. GOAT ships the whole slice β not just a controller.
| **You give** *or* a plain ERD: | **You get β template-ready** Service β Repository, Resource, Policy, Tests included. |
No AI. No SaaS. No web UI. Pure PHP β runs 100% locally.
β¨ Feature Generator, not just CRUD
| CRUD generator | GOAT β Feature / Template / Boilerplate |
|---|---|
| Model + Controller | + Service + Repository (separation) |
| No validation | + Store/Update Requests with inferred rules |
| No API layer | + JsonResource |
| No auth | + Policy (7 methods) |
| No tests | + Feature tests (5 scenarios) |
| One table = one file | ERD with N tables β N slices |
| Hardcoded paths | All paths & namespaces configurable |
| Fixed stubs | Publish & customize β vendor:publish --tag=goat-stubs |
Use it as:
- CRUD scaffold for admin panels
- Feature slice for clean architecture (Service/Repo)
- Boilerplate / template for new domains (
Inventory,Order,Booking) - Rapid prototyping from an ERD whiteboard
β‘ 10 seconds to first feature
CI / non-interactive
π Custom paths β you choose where files go
No more locked app/Repositories. Put any artifact anywhere β per run, no config edit needed:
--paths is key=path comma-separated (model,migration,request,resource,controller,service,repository,policy,test). Paths can be absolute or app/... relative β namespaces inferred automatically (app/Repo/Admin β App\Repo\Admin). For permanent change, publish config/goat.php.
𧬠Inputs β Migration or ERD β one schema
Migration β understands Blueprint:
id, string, text, integer, bigInteger, decimal, float, boolean, date, datetime, timestamp, foreignId, uuid, json, enum, softDeletes, timestamps, unique, nullable, default, constrained, indexβ¦
ERD β plain text, forgiving:
No type? Inferred (quantityβinteger, priceβdecimal, descriptionβtext). Handles PK, FK -> categories.id, UNIQUE, DEFAULT 0, varchar(100).
ERD full example
`GoatSchema` is the single source of truth β parsers feed it, 9 generators consume it.π§© What gets generated
Product.php β fillable, casts, belongsTo(Category::class)
Requests β required/sometimes + string/integer/numeric/exists:categories,id/unique + max:255
Controller β thin index/store/show/update/destroy, delegates to ProductService, uses ProductResource
Service β Repository β business vs query split, paginate/all/find/create/update/delete
Policy β viewAny/view/create/update/delete/restore/forceDelete (edit stub to fit)
Test β test_can_list_products β¦ test_can_delete_product with factory payloads
π¨ Customize Everything
Stubs β one per artifact:
StubRenderer prefers your published stub, falls back to package default.
π‘οΈ Safety & DX
- Never overwrites without
--forceββ Product.php already exists. Use --force - Validates
--only/--except, empty input, unsupported types, bad table names β no stack trace dumps - Naming via
NameResolver(productsβProduct,product_itemsβProductItem,category_idβcategory) --only=model,resource --except=policycomposable
ποΈ Architecture β 2026
No giant generator. Each artifact isolated, stub-driven, testable.
π§ͺ Tests
Covers: migration/ERD parsing, columns, relationships, naming, 9 generators, CLI, --only/--except/--force, file protection, stubs.
π¦ Install (GitHub)
Once on Packagist: composer require meehh/laravel-goat --dev
Requires PHP ^8.3 Β· Laravel 11|12|13
π€ Laravel Boost
GOAT ships a laravel-goat-development skill for Laravel Boost. When GOAT and Boost are installed in a Laravel application, run Boost setup with skills enabled and select meehh/laravel-goat; Boost discovers the skill from the package and installs it for the selected agent. Use php artisan boost:list-skills to verify that it is available, and use php artisan boost:update after a normal Boost setup when refreshing package guidance. This is optional developer tooling; GOAT itself remains local-first and has no runtime AI dependency. The skill teaches agents to use GOAT safely and to review generated scaffolding before considering a feature complete.
πΊοΈ Roadmap
--api/--webpresets, enum casts, factories,--allfor multi-table ERD,goat:make --from=openapi
PRs welcome. Build your next feature with php artisan goat:make.
All versions of laravel-goat with dependencies
illuminate/console Version ^11.0|^12.0|^13.0
illuminate/filesystem Version ^11.0|^12.0|^13.0
illuminate/support Version ^11.0|^12.0|^13.0