---
id: daily-laravel-verification
name: "laravel-verification"
url: https://skills.yangsir.net/skill/daily-laravel-verification
author: affaan-m
domain: testing
tags: ["laravel", "code-review", "test-automation", "security", "quality-assurance"]
install_count: 4800
rating: 4.40 (20 reviews)
github: https://github.com/affaan-m/everything-claude-code
---

# laravel-verification

> Laravel 项目验证流程，在 PR 前和部署前运行完整的代码检查、测试和安全扫描，确保代码质量

**Stats**: 4,800 installs · 4.4/5 (20 reviews)

## Before / After 对比

### Laravel 代码验证

**Before**:

开发者手动运行 Pint 代码格式化、PHPStan 静态分析、Pest 单元测试，遗漏步骤导致低质量代码合并，部署后发现兼容性问题需要紧急回滚，整个验证流程耗时且容易出错

**After**:

一键执行完整的 lint → test → security → dependency 检查链，自动生成详细报告并阻止不通过代码，5 分钟完成全量验证，代码质量提升 40%，部署后的紧急回滚减少 85%

| Metric | Before | After | Change |
|---|---|---|---|
| 验证时间 | 20分钟 | 5分钟 | -75% |

## Readme

# laravel-verification

# 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

```
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:

```
./vendor/bin/sail php -v
./vendor/bin/sail artisan --version

```

## Phase 1.5: Composer and Autoload

```
composer validate
composer dump-autoload -o

```

## Phase 2: Linting and Static Analysis

```
vendor/bin/pint --test
vendor/bin/phpstan analyse

```

If your project uses Psalm instead of PHPStan:

```
vendor/bin/psalm

```

## Phase 3: Tests and Coverage

```
php artisan test

```

Coverage (CI):

```
XDEBUG_MODE=coverage php artisan test --coverage

```

CI example (format -> static analysis -> tests):

```
vendor/bin/pint --test
vendor/bin/phpstan analyse
XDEBUG_MODE=coverage php artisan test --coverage

```

## Phase 4: Security and Dependency Checks

```
composer audit

```

## Phase 5: Database and Migrations

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

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

```
php artisan schedule:list
php artisan queue:failed

```

If Horizon is used:

```
php artisan horizon:status

```

If `queue:monitor` is available, use it to check backlog without processing jobs:

```
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).

```
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:

```
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:

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

```
Weekly Installs489Repository[affaan-m/everyt…ude-code](https://github.com/affaan-m/everything-claude-code)GitHub Stars144.9KFirst Seen10 days agoSecurity Audits[Gen Agent Trust HubPass](/affaan-m/everything-claude-code/laravel-verification/security/agent-trust-hub)[SocketPass](/affaan-m/everything-claude-code/laravel-verification/security/socket)[SnykPass](/affaan-m/everything-claude-code/laravel-verification/security/snyk)Installed oncodex454opencode433cursor427github-copilot426gemini-cli425cline425

---
*Source: https://skills.yangsir.net/skill/daily-laravel-verification*
*Markdown mirror: https://skills.yangsir.net/api/skill/daily-laravel-verification/markdown*