npm package: @leeovery/claude-laravel
Description: Opinionated Laravel skills & commands for Claude Code
Author: Lee Overy
Latest version: 2.0.12
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

<h1 align="center">Claude Laravel</h1>

<p align="center">
  <strong>Opinionated Laravel Skills & Commands for Claude Code</strong>
</p>

<p align="center">
  <a href="#what-is-this">What is this?</a> •
  <a href="#skills">Skills</a> •
  <a href="#installation">Installation</a> •
  <a href="#contributing">Contributing</a>
</p>

---

## 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.

<details>
<summary>pnpm users</summary>

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
```
</details>

<details>
<summary>Removal (npm/pnpm)</summary>

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
```
</details>

## 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.

---

<p align="center">
  <sub>Built with care by <a href="https://github.com/leeovery">Lee Overy</a></sub>
</p>