A Laravel Boost plugin that provides Webminty's Laravel & PHP coding standards as an AI skill. When installed, AI code assistants automatically follow Webminty's conventions for any Laravel or PHP work.
- PHP 8.2+
- Laravel Boost
composer require webminty/boost-webminty-guidelines --devThe package auto-discovers via Laravel's package discovery — no additional setup required.
This package registers three skills with Laravel Boost:
| Skill | Activates When |
|---|---|
| webminty-laravel-standards | Writing, editing, or reviewing any Laravel/PHP code |
| webminty-livewire-standards | Working on Livewire components, form objects, or wire: directives |
| webminty-inertia-standards | Working on controllers returning Inertia responses, shared data, or Inertia testing |
Skills activate automatically based on context, ensuring consistent adherence to Webminty's conventions regardless of frontend stack.
declare(strict_types=1)in every file- All classes
finalby default - Typed properties, parameters, and return types (including
void) - Constructor property promotion
- Strict comparison (
===/!==) - PSR-12 compliance (includes PSR-1)
- Models —
$guarded = ['id'],casts()method,#[Scope]attribute for query scopes - Actions — Single-purpose
finalclasses with anexecute()method for business logic - Controllers — Thin controllers that delegate to Actions; Form Requests for validation
- DTOs — Extend
Spatie\LaravelData\Data, alwaysfinal - Routes — Kebab-case URLs, dot-notation names, RESTful conventions
- Migrations — Anonymous classes,
hash_idpattern, boolean columns prefixed withis_/has_ - Testing — Pest PHP with
test()syntax, architecture tests to enforce standards - Jobs —
final,ShouldQueue, dependencies injected inhandle()
| What | Convention | Example |
|---|---|---|
| URLs | kebab-case | /about-us |
| Route names | dot notation | tickets.show |
| Models | Singular PascalCase | User |
| Actions | Verb-first PascalCase | CreateTicket |
| Tables | Plural snake_case | mash_items |
| Columns | snake_case | is_active |
| Views | kebab-case | ticket-list.blade.php |
| Commands | app: prefix, kebab-case |
app:send-email |
| Tool | Purpose |
|---|---|
| Laravel Pint | Code formatting |
| PHPStan + Larastan | Static analysis (level 5) |
| Rector | Automated refactoring |
| Pest PHP | Testing |
The complete guidelines are available: https://github.com/webmintydotcom/standards
For a Laravel Quickstart: https://github.com/webmintydotcom/laravel-quickstart
This package follows Semantic Versioning. See CHANGELOG.md for release history.
Webminty team