PHPackages                             satheez/laravel-deploy-guard - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. satheez/laravel-deploy-guard

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

satheez/laravel-deploy-guard
============================

A Laravel package that checks your application for deployment risks before production release.

v1.0.0(2mo ago)01MITPHPPHP ^8.2CI passing

Since May 24Pushed 2mo agoCompare

[ Source](https://github.com/satheez/laravel-deploy-guard)[ Packagist](https://packagist.org/packages/satheez/laravel-deploy-guard)[ RSS](/packages/satheez-laravel-deploy-guard/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (1)Dependencies (7)Versions (3)Used By (0)

Laravel Deploy Guard
====================

[](#laravel-deploy-guard)

 [![Laravel Deploy Guard](docs/assets/banner.png)](docs/assets/banner.png)

 [![Tests](https://github.com/satheez/laravel-deploy-guard/actions/workflows/tests.yaml/badge.svg)](https://github.com/satheez/laravel-deploy-guard/actions/workflows/tests.yaml) [![Total Downloads](https://camo.githubusercontent.com/9c8b3c8f264c8416ae32e0b7a6744c1ec7abe9f8b48aa0cd264d6fd4dee7eb53/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7361746865657a2f6c61726176656c2d6465706c6f792d67756172642e737667)](https://packagist.org/packages/satheez/laravel-deploy-guard) [![Latest Version on Packagist](https://camo.githubusercontent.com/c591900ab5ef031f9e6047318b282b66a99966881cc6767dc643b4086de8de78/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7361746865657a2f6c61726176656c2d6465706c6f792d67756172642e737667)](https://packagist.org/packages/satheez/laravel-deploy-guard) [![License: MIT](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE.md)

A Laravel package that checks your application for deployment risks before production release.

`laravel-deploy-guard` provides a CLI-first readiness command for local checks, staging validation, and CI/CD pipelines. It inspects common Laravel deployment risks and reports clear pass, warning, fail, or skipped results.

It does not deploy your application, run migrations, change environment files, or inspect server infrastructure.

Documentation
-------------

[](#documentation)

- [Usage guide](docs/usage.md)
- [CI/CD guide](docs/ci.md)
- [Configuration reference](docs/configuration.md)
- [Checks reference](docs/checks.md)
- [JSON output reference](docs/json-output.md)
- [Custom checks](docs/custom-checks.md)
- [Testing and quality tools](docs/testing-and-quality.md)
- [Troubleshooting](docs/troubleshooting.md)
- [FAQ](docs/faq.md)
- [Security policy](SECURITY.md)
- [Contribution guide](CONTRIBUTE.md)
- [Change log](CHANGELOG.md)

Installation
------------

[](#installation)

Install the package as a development dependency:

```
composer require satheez/laravel-deploy-guard --dev
```

Publish the configuration file:

```
php artisan vendor:publish --tag=deploy-guard-config
```

Run the deployment checks:

```
php artisan deploy:guard
```

Quick Start
-----------

[](#quick-start)

Run every enabled check:

```
php artisan deploy:guard
```

Run in CI mode:

```
php artisan deploy:guard --ci
```

Return JSON:

```
php artisan deploy:guard --json
```

Run selected categories or check keys:

```
php artisan deploy:guard --only=env,cache,migrations
```

Skip selected categories or check keys:

```
php artisan deploy:guard --except=mail,queue
```

Fail when warnings exist:

```
php artisan deploy:guard --fail-on=warning
```

Evaluate checks against a target environment:

```
php artisan deploy:guard --env=production
```

Example Output
--------------

[](#example-output)

```
Laravel Deploy Guard

Environment: production
Checks run: 22
Passed: 17
Warnings: 3
Failed: 2
Skipped: 0

FAILURES
[FAIL] env.app_debug
APP_DEBUG is enabled in a production environment.
Suggestion: Set APP_DEBUG=false before deploying to production.

WARNINGS
[WARNING] queue.connection
Queue connection is sync in production.
Suggestion: Use database, redis, sqs, or another async queue driver.

```

Exit Codes
----------

[](#exit-codes)

Exit CodeMeaning`0`No failed checks, or warnings only when warnings are allowed`1`One or more checks failed`2`One or more warnings exist and `--fail-on=warning` is enabledIf failures and warnings both exist, the command returns `1`.

Available Checks
----------------

[](#available-checks)

CategoryChecks`env``env.app_env`, `env.app_key`, `env.app_debug`, `env.app_url``database``database.default_connection`, `database.connection``migrations``migrations.pending``queue``queue.connection`, `queue.failed_jobs``cache``cache.driver`, `cache.config`, `cache.routes`, `cache.views``storage``storage.directory_writable`, `storage.bootstrap_cache_writable`, `storage.public_link``mail``mail.mailer`, `mail.production_mailer``filesystem``filesystem.default_disk`, `filesystem.default_disk_config`, `filesystem.cloud_disk``scheduler``scheduler.validation`See the [checks reference](docs/checks.md) for behavior, status rules, and suggestions.

Configuration
-------------

[](#configuration)

The published config file is `config/deploy-guard.php`.

```
return [
    'enabled' => env('DEPLOY_GUARD_ENABLED', true),

    'production_environments' => [
        'production',
        'prod',
    ],

    'checks' => [
        'env' => true,
        'database' => true,
        'migrations' => true,
        'queue' => true,
        'cache' => true,
        'storage' => true,
        'mail' => true,
        'filesystem' => true,
        'scheduler' => true,
    ],

    'allow' => [
        'sync_queue_in_production' => false,
        'array_cache_in_production' => false,
        'log_mailer_in_production' => false,
        'array_mailer_in_production' => false,
    ],
];
```

See the [configuration reference](docs/configuration.md) for all options.

JSON Output
-----------

[](#json-output)

Use `--json` for machine-readable reports:

```
php artisan deploy:guard --ci --json
```

See the [JSON output reference](docs/json-output.md) for the schema and examples.

Custom Checks
-------------

[](#custom-checks)

Applications can register custom checks through `config/deploy-guard.php`:

```
'custom_checks' => [
    App\DeployGuard\SearchIndexReadyCheck::class,
],
```

See [custom checks](docs/custom-checks.md) for a complete example.

Development
-----------

[](#development)

Install dependencies:

```
composer install
```

Run the full local quality suite:

```
composer test
vendor/bin/pint --test
composer rector:test
composer analyse
```

The package uses Pest, Pint, Rector, and Larastan. See [testing and quality tools](docs/testing-and-quality.md).

Security
--------

[](#security)

Reports never include secret values such as application keys, database passwords, mail passwords, tokens, or private keys. See [SECURITY.md](SECURITY.md).

License
-------

[](#license)

The MIT License.

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance88

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 75% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

61d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6590c21841f4323f7322cb865bc535b1b58b00b636aba0c3bcc08a1b1f53819c?d=identicon)[Satheez](/maintainers/Satheez)

---

Top Contributors

[![isatheez](https://avatars.githubusercontent.com/u/252316041?v=4)](https://github.com/isatheez "isatheez (3 commits)")[![satheez](https://avatars.githubusercontent.com/u/11453046?v=4)](https://github.com/satheez "satheez (1 commits)")

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/satheez-laravel-deploy-guard/health.svg)

```
[![Health](https://phpackages.com/badges/satheez-laravel-deploy-guard/health.svg)](https://phpackages.com/packages/satheez-laravel-deploy-guard)
```

###  Alternatives

[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135224.7k8](/packages/statamic-rad-pack-runway)[duncanmcclean/statamic-cargo

Comprehensive e-commerce addon for Statamic. Build bespoke e-commerce sites without the complexity.

3518.3k](/packages/duncanmcclean-statamic-cargo)[api-platform/laravel

API Platform support for Laravel

58174.6k17](/packages/api-platform-laravel)[ecotone/laravel

Ecotone for Laravel — CQRS, Event Sourcing, Sagas, Durable Workflows, and Outbox on top of Laravel Queue, via PHP attributes.

21318.6k3](/packages/ecotone-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
