spatie/guidelines-skills
Spatie’s battle-tested coding guidelines packaged as AI skills for Laravel Boost and skills.sh. Includes Laravel/PHP, JavaScript, version control, and security conventions to keep teams consistent across projects.
Installation:
composer require spatie/guidelines-skills --dev followed by php artisan boost:install and select the Spatie guidelines.skills.sh: Execute npx skills add spatie/guidelines-skills in your project root.Initial Use Case:
php artisan boost:check to scan your codebase for violations against Spatie’s guidelines. Focus on the spatie-laravel-php skill first, as it covers core Laravel/PHP conventions.npx skills check and enforce guidelines pre-commit or pre-merge.Quick Wins:
php artisan boost:fix (if available) or manually address top violations (e.g., PSR-12 compliance, naming conventions).Onboarding New Developers:
npx skills check to your README.md as a pre-development step.php artisan boost:check --skill=spatie-version-control to enforce Git workflows (e.g., branch naming, commit messages).Code Reviews:
php artisan boost:check --skill=spatie-security to catch security misconfigurations (e.g., hardcoded secrets, SQL injection risks).CI/CD Pipeline:
- name: Check Spatie Guidelines
run: npx skills check
spatie-security issues).Team Alignment:
php artisan boost:check --report output and prioritize fixes.spatie-javascript to standardize frontend codebases (e.g., Prettier alignment).spatie/laravel-developer-tools for a unified developer experience..boostignore:
tests/
storage/
eslint or php-cs-fixer for layered enforcement (e.g., auto-fix formatting).npx skills check --skill=spatie-laravel-php --fix (if supported) for quick fixes.spatie-security may flag legacy code (e.g., mysql_connect()). Use .boostignore or suppress rules via:
// config/boost.php
'skills' => [
'spatie-security' => [
'ignore' => [
'files' => ['legacy/Database.php'],
'rules' => ['no-mysql-connect'],
],
],
],
composer.json:
"extra": {
"laravel": {
"dont-discover": ["spatie/guidelines-skills"]
}
}
spatie-javascript and spatie-laravel-php may have overlapping rules (e.g., naming conventions). Resolve conflicts by aligning with Spatie’s full guidelines.php artisan boost:check --verbose to diagnose rule triggers.skills.sh, add --debug to inspect skill execution:
npx skills check --debug
npx skills check --skip=spatie-security
spatie-laravel-php by creating a custom skill (see Laravel Boost docs).use App\Models; over use App\ in all files.husky to run npx skills check pre-commit:
npx husky add .husky/pre-commit "npx skills check --skill=spatie-version-control"
.eslintrc that mirrors spatie-javascript rules.spatie-security and spatie-laravel-php for immediate impact.spatie-version-control to standardize commit messages (e.g., Conventional Commits).GUIDELINES_EXCEPTIONS.md file to justify ignored rules (e.g., legacy code, third-party constraints).composer update spatie/guidelines-skills && php artisan boost:update
How can I help you explore Laravel packages today?