https://github.com/leeovery/claude-laravel
Opinionated Laravel Skills & Commands for Claude Code
https://github.com/leeovery/claude-laravel
Last synced: 5 months ago
JSON representation
Opinionated Laravel Skills & Commands for Claude Code
- Host: GitHub
- URL: https://github.com/leeovery/claude-laravel
- Owner: leeovery
- License: mit
- Created: 2025-11-23T09:53:04.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-01-08T16:22:52.000Z (5 months ago)
- Last Synced: 2026-01-09T10:38:37.205Z (5 months ago)
- Language: PHP
- Homepage:
- Size: 397 KB
- Stars: 6
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Claude Laravel
Opinionated Laravel Skills & Commands for Claude Code
What is this? •
Skills •
Installation •
Contributing
---
## What is this?
A curated collection of Laravel development patterns and practices I've refined over **20 years in the industry** and **10+ years working with Laravel**.
**These are opinionated.** They represent how I build Laravel applications—action-oriented architecture, strict typing, DTOs everywhere, and a relentless focus on maintainability. They won't be for everyone, and that's okay.
**This is a work in progress.** As I use these skills in real projects, I'm continuously refining them to better represent how I actually work. Expect updates as patterns evolve and edge cases reveal themselves.
**Model compatibility:** These skills have been developed and refined for Claude Code running on **Opus 4.5**. Different models may exhibit different edge cases, and future model releases may require adjustments to the prompts and workflows.
### Quick Install
**Marketplace** (cached globally):
```
/plugin marketplace add leeovery/claude-plugins-marketplace
/plugin install claude-laravel@claude-plugins-marketplace
```
**npm** (copied to your repo):
```bash
npm install -D @leeovery/claude-laravel
```
See [Installation](#installation) for details and trade-offs.
## Installation
| Method | Where files live | Best for |
|--------|------------------|----------|
| **Marketplace** | `~/.claude/plugins/` (global cache) | Quick setup, don't need files in repo |
| **npm** | `.claude/` in your project | Ownership, version control, Claude Code for Web |
### Option 1: Claude Marketplace
```
/plugin marketplace add leeovery/claude-plugins-marketplace
/plugin install claude-laravel@claude-plugins-marketplace
```
Skills are cached globally. They won't be available in Claude Code for Web since files aren't in your repository.
### Option 2: npm
```bash
npm install -D @leeovery/claude-laravel
```
Skills are copied to `.claude/` and can be committed—giving you ownership and making them available everywhere including Claude Code for Web.
pnpm users
pnpm doesn't expose binaries from transitive dependencies, so install the manager directly:
```bash
pnpm add -D @leeovery/claude-manager @leeovery/claude-laravel
pnpm approve-builds # approve when prompted
pnpm install # triggers postinstall
```
Removal (npm/pnpm)
Due to bugs in npm 7+ ([issue #3042](https://github.com/npm/cli/issues/3042)) and pnpm ([issue #3276](https://github.com/pnpm/pnpm/issues/3276)), preuninstall hooks don't run reliably. Remove files manually first:
```bash
npx claude-manager remove @leeovery/claude-laravel && npm rm @leeovery/claude-laravel
```
## How It Works
This package depends on [`@leeovery/claude-manager`](https://github.com/leeovery/claude-manager), which:
1. **Copies skills** into your project's `.claude/skills/` directory
2. **Copies commands** into your project's `.claude/commands/` directory
3. **Copies agents** into your project's `.claude/agents/` directory
4. **Tracks installed plugins** via a manifest file
You don't need to configure anything—just install and start building.
## Skills
Each skill provides focused guidance on a specific aspect of Laravel development.
### Foundation
| Skill | Description |
|-------|-------------|
| [**laravel-architecture**](skills/laravel-architecture/) | High-level architecture decisions, patterns, and project structure |
| [**laravel-quality**](skills/laravel-quality/) | Code quality with PHPStan, Pint, and strict types |
### Core Patterns
| Skill | Description |
|-------|-------------|
| [**laravel-actions**](skills/laravel-actions/) | Action-oriented architecture—domain logic in invokable classes |
| [**laravel-dtos**](skills/laravel-dtos/) | Data Transfer Objects with Spatie Laravel Data |
| [**laravel-enums**](skills/laravel-enums/) | Backed enums with labels and business logic |
| [**laravel-value-objects**](skills/laravel-value-objects/) | Immutable value objects for domain values |
| [**laravel-state-machines**](skills/laravel-state-machines/) | Complex state management with Spatie Model States |
### HTTP Layer
| Skill | Description |
|-------|-------------|
| [**laravel-controllers**](skills/laravel-controllers/) | Thin HTTP layer—zero domain logic in controllers |
| [**laravel-validation**](skills/laravel-validation/) | Form requests and validation testing |
| [**laravel-routing**](skills/laravel-routing/) | Route model binding and authorization |
### Data Layer
| Skill | Description |
|-------|-------------|
| [**laravel-models**](skills/laravel-models/) | Eloquent models and relationships |
| [**laravel-query-builders**](skills/laravel-query-builders/) | Type-safe custom query builders |
### Infrastructure
| Skill | Description |
|-------|-------------|
| [**laravel-providers**](skills/laravel-providers/) | Service providers and bootstrapping |
| [**laravel-jobs**](skills/laravel-jobs/) | Background processing with jobs and listeners |
| [**laravel-policies**](skills/laravel-policies/) | Authorization policies |
| [**laravel-services**](skills/laravel-services/) | External API integration with Saloon |
| [**laravel-exceptions**](skills/laravel-exceptions/) | Custom exceptions and error handling |
### Enterprise
| Skill | Description |
|-------|-------------|
| [**laravel-multi-tenancy**](skills/laravel-multi-tenancy/) | Multi-tenant application patterns |
| [**laravel-packages**](skills/laravel-packages/) | Package extraction and development |
### Testing
| Skill | Description |
|-------|-------------|
| [**laravel-testing**](skills/laravel-testing/) | Comprehensive testing patterns with Pest |
## Commands
Slash commands for common Laravel development tasks.
*Coming soon.*
## Requirements
- Node.js 18+
- [@leeovery/claude-manager](https://github.com/leeovery/claude-manager) ^2.0.0 (installed automatically)
## Contributing
Contributions are welcome! Whether it's:
- **Bug fixes** in the documentation
- **Improvements** to existing patterns
- **Discussion** about approaches and trade-offs
- **New skills** for patterns not yet covered
Please open an issue first to discuss significant changes. These are opinionated patterns, so let's talk through the approach before diving into code.
## Related Packages
- [**@leeovery/claude-manager**](https://github.com/leeovery/claude-manager) — The plugin manager that powers skill installation
- [**@leeovery/claude-nuxt**](https://github.com/leeovery/claude-nuxt) — Nuxt.js development skills for Claude Code
- [**@leeovery/claude-technical-workflows**](https://github.com/leeovery/claude-technical-workflows) — Technical workflow skills for Claude Code
## License
MIT License. See [LICENSE](LICENSE) for details.
---
Built with care by Lee Overy