mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-14 05:43:29 +08:00
feat: add laravel skills (#420)
* feat: add laravel skills * docs: fix laravel patterns example * docs: add laravel api example * docs: update readme and configure-ecc for laravel skills * docs: reference laravel skills in php rules * docs: add php import guidance * docs: expand laravel skills with more pattern, security, testing, and verification examples * docs: add laravel routing, security, testing, and sail guidance * docs: fix laravel example issues from code review * docs: fix laravel examples and skills per review findings * docs: resolve remaining laravel review fixes * docs: refine laravel patterns and tdd guidance * docs: clarify laravel queue healthcheck guidance * docs: fix laravel examples and test guidance * docs: correct laravel tdd and api example details * docs: align laravel form request auth semantics * docs: fix laravel coverage, imports, and scope guidance * docs: align laravel tdd and security examples with guidance * docs: tighten laravel form request authorization examples * docs: fix laravel tdd and queue job examples * docs: harden laravel rate limiting and policy examples * docs: fix laravel pagination, validation, and verification examples * docs: align laravel controller response with envelope * docs: strengthen laravel password validation example * docs: address feedback regarding examples * docs: improve guidance and examples for pest usage * docs: clarify laravel upload storage and authorization notes * docs: tighten up examples
This commit is contained in:
179
skills/laravel-verification/SKILL.md
Normal file
179
skills/laravel-verification/SKILL.md
Normal file
@@ -0,0 +1,179 @@
|
||||
---
|
||||
name: laravel-verification
|
||||
description: Verification loop for Laravel projects: env checks, linting, static analysis, tests with coverage, security scans, and deployment readiness.
|
||||
origin: ECC
|
||||
---
|
||||
|
||||
# Laravel Verification Loop
|
||||
|
||||
Run before PRs, after major changes, and pre-deploy.
|
||||
|
||||
## When to Use
|
||||
|
||||
- Before opening a pull request for a Laravel project
|
||||
- After major refactors or dependency upgrades
|
||||
- Pre-deployment verification for staging or production
|
||||
- Running full lint -> test -> security -> deploy readiness pipeline
|
||||
|
||||
## How It Works
|
||||
|
||||
- Run phases sequentially from environment checks through deployment readiness so each layer builds on the last.
|
||||
- Environment and Composer checks gate everything else; stop immediately if they fail.
|
||||
- Linting/static analysis should be clean before running full tests and coverage.
|
||||
- Security and migration reviews happen after tests so you verify behavior before data or release steps.
|
||||
- Build/deploy readiness and queue/scheduler checks are final gates; any failure blocks release.
|
||||
|
||||
## Phase 1: Environment Checks
|
||||
|
||||
```bash
|
||||
php -v
|
||||
composer --version
|
||||
php artisan --version
|
||||
```
|
||||
|
||||
- Verify `.env` is present and required keys exist
|
||||
- Confirm `APP_DEBUG=false` for production environments
|
||||
- Confirm `APP_ENV` matches the target deployment (`production`, `staging`)
|
||||
|
||||
If using Laravel Sail locally:
|
||||
|
||||
```bash
|
||||
./vendor/bin/sail php -v
|
||||
./vendor/bin/sail artisan --version
|
||||
```
|
||||
|
||||
## Phase 1.5: Composer and Autoload
|
||||
|
||||
```bash
|
||||
composer validate
|
||||
composer dump-autoload -o
|
||||
```
|
||||
|
||||
## Phase 2: Linting and Static Analysis
|
||||
|
||||
```bash
|
||||
vendor/bin/pint --test
|
||||
vendor/bin/phpstan analyse
|
||||
```
|
||||
|
||||
If your project uses Psalm instead of PHPStan:
|
||||
|
||||
```bash
|
||||
vendor/bin/psalm
|
||||
```
|
||||
|
||||
## Phase 3: Tests and Coverage
|
||||
|
||||
```bash
|
||||
php artisan test
|
||||
```
|
||||
|
||||
Coverage (CI):
|
||||
|
||||
```bash
|
||||
XDEBUG_MODE=coverage php artisan test --coverage
|
||||
```
|
||||
|
||||
CI example (format -> static analysis -> tests):
|
||||
|
||||
```bash
|
||||
vendor/bin/pint --test
|
||||
vendor/bin/phpstan analyse
|
||||
XDEBUG_MODE=coverage php artisan test --coverage
|
||||
```
|
||||
|
||||
## Phase 4: Security and Dependency Checks
|
||||
|
||||
```bash
|
||||
composer audit
|
||||
```
|
||||
|
||||
## Phase 5: Database and Migrations
|
||||
|
||||
```bash
|
||||
php artisan migrate --pretend
|
||||
php artisan migrate:status
|
||||
```
|
||||
|
||||
- Review destructive migrations carefully
|
||||
- Ensure migration filenames follow `Y_m_d_His_*` (e.g., `2025_03_14_154210_create_orders_table.php`) and describe the change clearly
|
||||
- Ensure rollbacks are possible
|
||||
- Verify `down()` methods and avoid irreversible data loss without explicit backups
|
||||
|
||||
## Phase 6: Build and Deployment Readiness
|
||||
|
||||
```bash
|
||||
php artisan optimize:clear
|
||||
php artisan config:cache
|
||||
php artisan route:cache
|
||||
php artisan view:cache
|
||||
```
|
||||
|
||||
- Ensure cache warmups succeed in production configuration
|
||||
- Verify queue workers and scheduler are configured
|
||||
- Confirm `storage/` and `bootstrap/cache/` are writable in the target environment
|
||||
|
||||
## Phase 7: Queue and Scheduler Checks
|
||||
|
||||
```bash
|
||||
php artisan schedule:list
|
||||
php artisan queue:failed
|
||||
```
|
||||
|
||||
If Horizon is used:
|
||||
|
||||
```bash
|
||||
php artisan horizon:status
|
||||
```
|
||||
|
||||
If `queue:monitor` is available, use it to check backlog without processing jobs:
|
||||
|
||||
```bash
|
||||
php artisan queue:monitor default --max=100
|
||||
```
|
||||
|
||||
Active verification (staging only): dispatch a no-op job to a dedicated queue and run a single worker to process it (ensure a non-`sync` queue connection is configured).
|
||||
|
||||
```bash
|
||||
php artisan tinker --execute="dispatch((new App\\Jobs\\QueueHealthcheck())->onQueue('healthcheck'))"
|
||||
php artisan queue:work --once --queue=healthcheck
|
||||
```
|
||||
|
||||
Verify the job produced the expected side effect (log entry, healthcheck table row, or metric).
|
||||
|
||||
Only run this on non-production environments where processing a test job is safe.
|
||||
|
||||
## Examples
|
||||
|
||||
Minimal flow:
|
||||
|
||||
```bash
|
||||
php -v
|
||||
composer --version
|
||||
php artisan --version
|
||||
composer validate
|
||||
vendor/bin/pint --test
|
||||
vendor/bin/phpstan analyse
|
||||
php artisan test
|
||||
composer audit
|
||||
php artisan migrate --pretend
|
||||
php artisan config:cache
|
||||
php artisan queue:failed
|
||||
```
|
||||
|
||||
CI-style pipeline:
|
||||
|
||||
```bash
|
||||
composer validate
|
||||
composer dump-autoload -o
|
||||
vendor/bin/pint --test
|
||||
vendor/bin/phpstan analyse
|
||||
XDEBUG_MODE=coverage php artisan test --coverage
|
||||
composer audit
|
||||
php artisan migrate --pretend
|
||||
php artisan optimize:clear
|
||||
php artisan config:cache
|
||||
php artisan route:cache
|
||||
php artisan view:cache
|
||||
php artisan schedule:list
|
||||
```
|
||||
Reference in New Issue
Block a user