{
  "markdown": "# Laravel Best Practices Skill Installer\n\nThis package publishes an AI agent skill covering Laravel best practices — including Inertia + React conventions — into multiple locations to support various AI agents and editors.\n\n## Install\n\n### Via Laravel Boost (recommended)\n\nInstall individual skills directly — no Composer package required:\n\n```bash\n# Laravel best practices skill\nphp artisan boost:add-skill masterfermin02/laravel-agent-skill --skill laravel-best-practices\n\n# PHP upgrade with Rector skill\nphp artisan boost:add-skill masterfermin02/laravel-agent-skill --skill php-update-with-rector\n\n# Laravel upgrade with Rector skill\nphp artisan boost:add-skill masterfermin02/laravel-agent-skill --skill laravel-update-with-rector\n```\n\n### Via npx skills\n\n```bash\n# Laravel best practices skill\nnpx skills add https://github.com/masterfermin02/laravel-agent-skill --skill laravel-best-practices\n\n# PHP upgrade with Rector skill\nnpx skills add https://github.com/masterfermin02/laravel-agent-skill --skill php-update-with-rector\n\n# Laravel upgrade with Rector skill\nnpx skills add https://github.com/masterfermin02/laravel-agent-skill --skill laravel-update-with-rector\n```\n\n### Via Claude Code plugin\n\n```bash\n/plugin install https://github.com/masterfermin02/laravel-agent-skill\n```\n\n### Via Composer\n\n```bash\ncomposer require fperdomo/laravel-agent-skill --dev\n```\n\n## Usage\n\n### Quick install — everything\n\n```bash\nphp artisan lbpa:install\n\n# Overwrite existing files\nphp artisan lbpa:install --force\n```\n\n### Laravel Boost — install all at once\n\n```bash\nphp artisan boost:install\n```\n\nTo keep skills up-to-date when dependencies are updated, add this to your project's `composer.json`:\n\n```json\n\"scripts\": {\n    \"post-update-cmd\": [\n        \"@php artisan boost:update --ansi\"\n    ]\n}\n```\n\nTo publish manually to the Boost location (`.ai/skills/`):\n\n```bash\nphp artisan vendor:publish --tag=lbpa-boost\n# Publishes to: .ai/skills/laravel-best-practices/ and .ai/skills/inertia-development/\n```\n\n### Publish to Codex skill locations\n\n**Project workspace (primary):**\n```bash\nphp artisan vendor:publish --tag=lbpa-skill\n# Publishes to: .codex/skills/laravel-best-practices/\n```\n\n**User home directory (global, shared across all projects):**\n```bash\nphp artisan vendor:publish --tag=lbpa-skill-home\n# Publishes to: ~/.codex/skills/laravel-best-practices/\n```\n\n**VS Code:**\n```bash\nphp artisan vendor:publish --tag=lbpa-skill-vscode\n# Publishes to: .vscode/codex/skills/laravel-best-practices/\n```\n\n**JetBrains IDEs (PhpStorm, IntelliJ, etc.):**\n```bash\nphp artisan vendor:publish --tag=lbpa-skill-jetbrains\n# Publishes to: .idea/codex/skills/laravel-best-practices/\n```\n\n**All Codex locations at once:**\n```bash\nphp artisan vendor:publish --tag=lbpa-skill-all\n```\n\n### Publish AI agent adapters\n\n```bash\nphp artisan vendor:publish --tag=lbpa-claude    # → CLAUDE.md\nphp artisan vendor:publish --tag=lbpa-copilot   # → .github/copilot-instructions.md\nphp artisan vendor:publish --tag=lbpa-agents    # → AGENTS.md\n```\n\n**Everything (all adapters + all skill locations):**\n```bash\nphp artisan vendor:publish --tag=lbpa-all\n```\n\n---\n\n## PHP Upgrade with Rector Skill\n\nUpgrades a PHP project to a newer PHP version using Rector.\n\n### Install\n\n**Project workspace:**\n```bash\nphp artisan vendor:publish --tag=rector-php\n# Publishes to: .codex/skills/php-update-with-rector/\n```\n\n**User home directory (global):**\n```bash\nphp artisan vendor:publish --tag=rector-php-home\n# Publishes to: ~/.codex/skills/php-update-with-rector/\n```\n\n**VS Code:**\n```bash\nphp artisan vendor:publish --tag=rector-php-vscode\n# Publishes to: .vscode/codex/skills/php-update-with-rector/\n```\n\n**JetBrains IDEs:**\n```bash\nphp artisan vendor:publish --tag=rector-php-jetbrains\n# Publishes to: .idea/codex/skills/php-update-with-rector/\n```\n\n### Install via npx skills\n\n```bash\nnpx skills add https://github.com/masterfermin02/laravel-agent-skill --skill php-update-with-rector\n```\n\n### Install via Laravel Boost\n\n```bash\nphp artisan boost:add-skill masterfermin02/laravel-agent-skill --skill php-update-with-rector\n```\n\n---\n\n## Laravel Upgrade with Rector Skill\n\nUpgrades a Laravel application or package to a newer Laravel version (up to Laravel 13) using Rector and `driftingly/rector-laravel`.\n\n### Install\n\n**Project workspace:**\n```bash\nphp artisan vendor:publish --tag=rector-laravel\n# Publishes to: .codex/skills/laravel-update-with-rector/\n```\n\n**User home directory (global):**\n```bash\nphp artisan vendor:publish --tag=rector-laravel-home\n# Publishes to: ~/.codex/skills/laravel-update-with-rector/\n```\n\n**VS Code:**\n```bash\nphp artisan vendor:publish --tag=rector-laravel-vscode\n# Publishes to: .vscode/codex/skills/laravel-update-with-rector/\n```\n\n**JetBrains IDEs:**\n```bash\nphp artisan vendor:publish --tag=rector-laravel-jetbrains\n# Publishes to: .idea/codex/skills/laravel-update-with-rector/\n```\n\n### Install via npx skills\n\n```bash\nnpx skills add https://github.com/masterfermin02/laravel-agent-skill --skill laravel-update-with-rector\n```\n\n### Install via Laravel Boost\n\n```bash\nphp artisan boost:add-skill masterfermin02/laravel-agent-skill --skill laravel-update-with-rector\n```\n\n---\n\n## What's included\n\n### Backend rules\n\n| ID | Rule | Severity |\n|----|------|----------|\n| SRP-001 | Single Responsibility Principle | high |\n| FUNC-001 | Methods should do one thing | medium |\n| MVC-001 | Skinny controllers; move logic out | high |\n| VAL-001 | Validation in FormRequest classes | **critical** |\n| SVC-001 | Business logic in service/action classes | high |\n| AUTH-001 | Use Policies for authorization | high |\n| CONF-001 | Never call `env()` outside config files | high |\n| DRY-001 | Don't repeat yourself | medium |\n| ELO-001 | Prefer Eloquent + Collections (`sole()`, `firstOrCreate()`, casts) | low |\n| BLADE-001 | No queries in Blade; eager load to avoid N+1 | **critical** |\n| PERF-001 | Chunk/stream large dataset operations | medium |\n| NAMING-001 | Follow Laravel naming conventions | medium |\n\n### Inertia + React rules\n\n| ID | Rule |\n|----|------|\n| INRT-001 | Directory conventions (`common`, `modules`, `pages`, `shadcn`) |\n| INRT-002 | Page components: `Page` suffix, default export |\n| INRT-003 | One component per file, PascalCase, function declarations |\n| INRT-004 | Wrap shadcn components; avoid direct app-wide imports |\n| INRT-005 | No barrel files; absolute aliased imports |\n| INRT-006 | Type page props with TypeScript interfaces |\n| INRT-007 | Use `useForm` for submissions; avoid raw axios/fetch |\n| INRT-008 | Use `usePage` for shared data; avoid prop drilling |\n| INRT-009 | Use `<Link>` for internal navigation; avoid plain `<a>` |\n| INRT-010 | Use partial reloads (`router.reload`) instead of full visits |\n\n### Inertia + Vue rules\n\n| ID | Rule |\n|----|------|\n| INRT-VUE-001 | Directory conventions |\n| INRT-VUE-002 | Page components: `Page` suffix, default export |\n| INRT-VUE-003 | One component per `.vue` file, `<script setup>` |\n| INRT-VUE-004 | Wrap third-party UI library components |\n| INRT-VUE-005 | No barrel files; absolute aliased imports |\n\n## Published structure\n\n```\n.ai/skills/laravel-best-practices/         # Laravel Boost — general skill\n  SKILL.md\n.ai/skills/inertia-development/            # Laravel Boost — Inertia React + Vue skill\n  SKILL.md\n\n.codex/skills/laravel-best-practices/      # Codex / project workspace\n  SKILL.md\n  references/\n    rulebook.json\n    laravel-best-practices-summary.md\n    inertia-react.md\n    inertia-react-summary.md\n    inertia-vue.md\n  scripts/\n    detect-laravel-context.php\n    review-diff.sh\n\nCLAUDE.md                                  # Claude Code adapter\n.github/copilot-instructions.md            # GitHub Copilot adapter\nAGENTS.md                                  # Generic agent adapter\n```\n",
  "bytes": 7778,
  "sha": "159380ffb800e653af06c60b737f53cb3f9e56afd268805e0dfd73919feb0203",
  "repo_slug": "masterfermin02/laravel-agent-skill",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_masterfermin02_laravel_agent_skill_larav_83f35a33/readme"
}