{"id":36980380,"url":"https://github.com/leeovery/claude-laravel","last_synced_at":"2026-01-13T22:50:05.796Z","repository":{"id":325782812,"uuid":"1102351560","full_name":"leeovery/claude-laravel","owner":"leeovery","description":"Opinionated Laravel Skills \u0026 Commands for Claude Code","archived":false,"fork":false,"pushed_at":"2026-01-08T16:22:52.000Z","size":407,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-09T10:38:37.205Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leeovery.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-23T09:53:04.000Z","updated_at":"2026-01-08T16:22:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/leeovery/claude-laravel","commit_stats":null,"previous_names":["leeovery/claude-laravel"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/leeovery/claude-laravel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leeovery%2Fclaude-laravel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leeovery%2Fclaude-laravel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leeovery%2Fclaude-laravel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leeovery%2Fclaude-laravel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leeovery","download_url":"https://codeload.github.com/leeovery/claude-laravel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leeovery%2Fclaude-laravel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28402159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-13T22:50:05.567Z","updated_at":"2026-01-13T22:50:05.785Z","avatar_url":"https://github.com/leeovery.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eClaude Laravel\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eOpinionated Laravel Skills \u0026 Commands for Claude Code\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#what-is-this\"\u003eWhat is this?\u003c/a\u003e •\n  \u003ca href=\"#skills\"\u003eSkills\u003c/a\u003e •\n  \u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e •\n  \u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## What is this?\n\nA curated collection of Laravel development patterns and practices I've refined over **20 years in the industry** and **10+ years working with Laravel**.\n\n**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.\n\n**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.\n\n**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.\n\n### Quick Install\n\n**Marketplace** (cached globally):\n```\n/plugin marketplace add leeovery/claude-plugins-marketplace\n/plugin install claude-laravel@claude-plugins-marketplace\n```\n\n**npm** (copied to your repo):\n```bash\nnpm install -D @leeovery/claude-laravel\n```\n\nSee [Installation](#installation) for details and trade-offs.\n\n## Installation\n\n| Method | Where files live | Best for |\n|--------|------------------|----------|\n| **Marketplace** | `~/.claude/plugins/` (global cache) | Quick setup, don't need files in repo |\n| **npm** | `.claude/` in your project | Ownership, version control, Claude Code for Web |\n\n### Option 1: Claude Marketplace\n\n```\n/plugin marketplace add leeovery/claude-plugins-marketplace\n/plugin install claude-laravel@claude-plugins-marketplace\n```\n\nSkills are cached globally. They won't be available in Claude Code for Web since files aren't in your repository.\n\n### Option 2: npm\n\n```bash\nnpm install -D @leeovery/claude-laravel\n```\n\nSkills are copied to `.claude/` and can be committed—giving you ownership and making them available everywhere including Claude Code for Web.\n\n\u003cdetails\u003e\n\u003csummary\u003epnpm users\u003c/summary\u003e\n\npnpm doesn't expose binaries from transitive dependencies, so install the manager directly:\n\n```bash\npnpm add -D @leeovery/claude-manager @leeovery/claude-laravel\npnpm approve-builds  # approve when prompted\npnpm install         # triggers postinstall\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eRemoval (npm/pnpm)\u003c/summary\u003e\n\nDue 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:\n\n```bash\nnpx claude-manager remove @leeovery/claude-laravel \u0026\u0026 npm rm @leeovery/claude-laravel\n```\n\u003c/details\u003e\n\n## How It Works\n\nThis package depends on [`@leeovery/claude-manager`](https://github.com/leeovery/claude-manager), which:\n\n1. **Copies skills** into your project's `.claude/skills/` directory\n2. **Copies commands** into your project's `.claude/commands/` directory\n3. **Copies agents** into your project's `.claude/agents/` directory\n4. **Tracks installed plugins** via a manifest file\n\nYou don't need to configure anything—just install and start building.\n\n## Skills\n\nEach skill provides focused guidance on a specific aspect of Laravel development.\n\n### Foundation\n\n| Skill | Description |\n|-------|-------------|\n| [**laravel-architecture**](skills/laravel-architecture/) | High-level architecture decisions, patterns, and project structure |\n| [**laravel-quality**](skills/laravel-quality/) | Code quality with PHPStan, Pint, and strict types |\n\n### Core Patterns\n\n| Skill | Description |\n|-------|-------------|\n| [**laravel-actions**](skills/laravel-actions/) | Action-oriented architecture—domain logic in invokable classes |\n| [**laravel-dtos**](skills/laravel-dtos/) | Data Transfer Objects with Spatie Laravel Data |\n| [**laravel-enums**](skills/laravel-enums/) | Backed enums with labels and business logic |\n| [**laravel-value-objects**](skills/laravel-value-objects/) | Immutable value objects for domain values |\n| [**laravel-state-machines**](skills/laravel-state-machines/) | Complex state management with Spatie Model States |\n\n### HTTP Layer\n\n| Skill | Description |\n|-------|-------------|\n| [**laravel-controllers**](skills/laravel-controllers/) | Thin HTTP layer—zero domain logic in controllers |\n| [**laravel-validation**](skills/laravel-validation/) | Form requests and validation testing |\n| [**laravel-routing**](skills/laravel-routing/) | Route model binding and authorization |\n\n### Data Layer\n\n| Skill | Description |\n|-------|-------------|\n| [**laravel-models**](skills/laravel-models/) | Eloquent models and relationships |\n| [**laravel-query-builders**](skills/laravel-query-builders/) | Type-safe custom query builders |\n\n### Infrastructure\n\n| Skill | Description |\n|-------|-------------|\n| [**laravel-providers**](skills/laravel-providers/) | Service providers and bootstrapping |\n| [**laravel-jobs**](skills/laravel-jobs/) | Background processing with jobs and listeners |\n| [**laravel-policies**](skills/laravel-policies/) | Authorization policies |\n| [**laravel-services**](skills/laravel-services/) | External API integration with Saloon |\n| [**laravel-exceptions**](skills/laravel-exceptions/) | Custom exceptions and error handling |\n\n### Enterprise\n\n| Skill | Description |\n|-------|-------------|\n| [**laravel-multi-tenancy**](skills/laravel-multi-tenancy/) | Multi-tenant application patterns |\n| [**laravel-packages**](skills/laravel-packages/) | Package extraction and development |\n\n### Testing\n\n| Skill | Description |\n|-------|-------------|\n| [**laravel-testing**](skills/laravel-testing/) | Comprehensive testing patterns with Pest |\n\n## Commands\n\nSlash commands for common Laravel development tasks.\n\n*Coming soon.*\n\n## Requirements\n\n- Node.js 18+\n- [@leeovery/claude-manager](https://github.com/leeovery/claude-manager) ^2.0.0 (installed automatically)\n\n## Contributing\n\nContributions are welcome! Whether it's:\n\n- **Bug fixes** in the documentation\n- **Improvements** to existing patterns\n- **Discussion** about approaches and trade-offs\n- **New skills** for patterns not yet covered\n\nPlease open an issue first to discuss significant changes. These are opinionated patterns, so let's talk through the approach before diving into code.\n\n## Related Packages\n\n- [**@leeovery/claude-manager**](https://github.com/leeovery/claude-manager) — The plugin manager that powers skill installation\n- [**@leeovery/claude-nuxt**](https://github.com/leeovery/claude-nuxt) — Nuxt.js development skills for Claude Code\n- [**@leeovery/claude-technical-workflows**](https://github.com/leeovery/claude-technical-workflows) — Technical workflow skills for Claude Code\n\n## License\n\nMIT License. See [LICENSE](LICENSE) for details.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eBuilt with care by \u003ca href=\"https://github.com/leeovery\"\u003eLee Overy\u003c/a\u003e\u003c/sub\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleeovery%2Fclaude-laravel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleeovery%2Fclaude-laravel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleeovery%2Fclaude-laravel/lists"}