PHPackages                             croustibat/php-check-for-laravel - 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. [CLI &amp; Console](/categories/cli)
4. /
5. croustibat/php-check-for-laravel

Abandoned → [croustibat/composer-check](/?search=croustibat%2Fcomposer-check)Library[CLI &amp; Console](/categories/cli)

croustibat/php-check-for-laravel
================================

Interactive CLI tool to check and update outdated Composer dependencies

v2.0.0(4mo ago)582[2 PRs](https://github.com/croustibat/composer-check/pulls)MITPHPPHP ^8.2CI passing

Since Nov 13Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/croustibat/composer-check)[ Packagist](https://packagist.org/packages/croustibat/php-check-for-laravel)[ Docs](https://github.com/croustibat/composer-check)[ RSS](/packages/croustibat-php-check-for-laravel/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (8)Versions (10)Used By (0)

Composer Check
==============

[](#composer-check)

> Interactive &amp; CI-friendly tool to check and update outdated Composer dependencies

[![Latest Version on Packagist](https://camo.githubusercontent.com/5bc1185c3234ffa603a36355d0878f1d7f6686bd3c5787211185ac329cf8f8b8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f63726f757374696261742f636f6d706f7365722d636865636b2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/croustibat/composer-check)[![GitHub Tests Action Status](https://camo.githubusercontent.com/794bfdfaabf588e3af0c833fec909953e5b69ba5d42f4dcb77c8366af0be4976/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f63726f757374696261742f636f6d706f7365722d636865636b2f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/croustibat/composer-check/actions?query=workflow%3Arun-tests+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/58ce2b02b2baa558f7e108289540cc9dc7d0a59eaf7abcc7d538d454a516191b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f63726f757374696261742f636f6d706f7365722d636865636b2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/croustibat/composer-check)

A standalone CLI tool that provides both an **interactive mode** for updating dependencies and a **CI-ready mode** for automated pipelines. Works with any PHP project, with optional Laravel integration.

[![Interactive Mode Demo](https://private-user-images.githubusercontent.com/1169456/282600055-9b97579e-6829-4729-8611-3428aae5c60d.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzU2MTkzMTAsIm5iZiI6MTc3NTYxOTAxMCwicGF0aCI6Ii8xMTY5NDU2LzI4MjYwMDA1NS05Yjk3NTc5ZS02ODI5LTQ3MjktODYxMS0zNDI4YWFlNWM2MGQuZ2lmP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDhUMDMzMDEwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NzVkOGM1NTI0MjlhZjVlOGVkN2Y1NDA3ZTBlMWIyNjkyNWNiYWZkMDMwNDk1OGM2ODEyNGM0ZGE4NWVmYWVkYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.kyh-dT2lxXNEekOaLmbf0sRjXv8DkJPVckm6N10JzcM)](https://private-user-images.githubusercontent.com/1169456/282600055-9b97579e-6829-4729-8611-3428aae5c60d.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzU2MTkzMTAsIm5iZiI6MTc3NTYxOTAxMCwicGF0aCI6Ii8xMTY5NDU2LzI4MjYwMDA1NS05Yjk3NTc5ZS02ODI5LTQ3MjktODYxMS0zNDI4YWFlNWM2MGQuZ2lmP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDhUMDMzMDEwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NzVkOGM1NTI0MjlhZjVlOGVkN2Y1NDA3ZTBlMWIyNjkyNWNiYWZkMDMwNDk1OGM2ODEyNGM0ZGE4NWVmYWVkYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.kyh-dT2lxXNEekOaLmbf0sRjXv8DkJPVckm6N10JzcM)

Features
--------

[](#features)

- **Interactive Mode**: Beautiful CLI with Laravel Prompts for manual updates
- **CI Mode**: Non-interactive output with configurable exit codes
- **Multiple Formats**: Table, JSON, or Markdown output
- **Security Checks**: Integrates with `composer audit`
- **Flexible Filters**: Filter by major, minor, or patch updates
- **Ignore List**: Exclude specific packages from checks
- **Configurable**: All options can be set via config file
- **Framework Agnostic**: Works with any PHP project
- **Laravel Integration**: Optional auto-discovered Artisan command

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

[](#installation)

```
composer require croustibat/composer-check
```

That's it! The tool is ready to use immediately.

Usage
-----

[](#usage)

### Standalone CLI (any PHP project)

[](#standalone-cli-any-php-project)

```
vendor/bin/composer-check
```

This opens an interactive prompt where you can select which packages to update.

### Laravel Integration

[](#laravel-integration)

For Laravel projects, the package is auto-discovered. Use the Artisan command:

```
php artisan composer:check
```

Optionally publish the config file:

```
php artisan vendor:publish --tag="composer-check-config"
```

### CI Mode

[](#ci-mode)

For use in CI/CD pipelines:

```
# Standalone
vendor/bin/composer-check --ci

# Laravel
php artisan composer:check --ci
```

#### Exit Codes

[](#exit-codes)

CodeMeaning0All packages up to date (or check passed)1Outdated packages found (with `--fail-on-*` options)2Error (e.g., JSON parse failure)Options
-------

[](#options)

OptionDescription`--ci`Run in non-interactive mode`--dev`Include dev dependencies`--all`Check all dependencies (not just direct)`--major-only`Only show major updates`--minor-only`Only show minor updates`--patch-only`Only show patch updates`--format=`Output format: `table`, `json`, or `markdown``--security`Also check for security vulnerabilities`--fail-on-outdated`Exit with code 1 if any packages are outdated`--fail-on-major`Exit with code 1 if major updates exist`--ignore=`Packages to ignore (can be used multiple times)`--working-dir=`Working directory for composer commandsCI/CD Examples
--------------

[](#cicd-examples)

### GitHub Actions

[](#github-actions)

```
name: Dependency Check

on:
  schedule:
    - cron: '0 9 * * 1'  # Every Monday at 9am
  workflow_dispatch:

jobs:
  check-dependencies:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: '8.2'

      - name: Install dependencies
        run: composer install --no-interaction

      - name: Check for outdated packages
        run: vendor/bin/composer-check --ci --format=markdown >> $GITHUB_STEP_SUMMARY

      - name: Fail on major updates
        run: vendor/bin/composer-check --ci --fail-on-major
```

### GitLab CI

[](#gitlab-ci)

```
dependency-check:
  stage: test
  script:
    - composer install --no-interaction
    - vendor/bin/composer-check --ci --fail-on-major --security
  only:
    - schedules
```

### JSON Output for Custom Processing

[](#json-output-for-custom-processing)

```
vendor/bin/composer-check --ci --format=json
```

Output:

```
{
  "outdated": [
    {
      "name": "laravel/framework",
      "current": "10.0.0",
      "latest": "11.0.0",
      "semver": "major"
    }
  ],
  "summary": {
    "total": 1,
    "major": 1,
    "minor": 0,
    "patch": 0
  }
}
```

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

[](#configuration)

### Laravel Projects

[](#laravel-projects)

Publish and edit the config file:

```
php artisan vendor:publish --tag="composer-check-config"
```

```
// config/composer-check.php

return [
    'include_dev' => false,
    'direct_only' => true,
    'check_security' => false,

    'ci' => [
        'format' => 'table',
        'fail_on_outdated' => false,
        'fail_on_major' => false,
    ],

    // Packages to exclude from checks
    'ignore' => [
        // 'vendor/package-name',
    ],
];
```

### Standalone Projects

[](#standalone-projects)

For non-Laravel projects, use command-line options to configure behavior:

```
# Include dev dependencies
vendor/bin/composer-check --dev

# Ignore specific packages
vendor/bin/composer-check --ignore=vendor/package1 --ignore=vendor/package2

# Check a different directory
vendor/bin/composer-check --working-dir=/path/to/project
```

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Croustibat](https://github.com/croustibat)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

45

—

FairBetter than 92% of packages

Maintenance85

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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

Every ~156 days

Recently: every ~195 days

Total

6

Last Release

129d ago

Major Versions

1.2.0 → v2.0.02026-01-04

PHP version history (4 changes)1.0.0PHP ^8.1

1.0.2PHP ^8.1|^8.2|^8.3

1.2.0PHP ^8.2|^8.3|^8.4

v2.0.0PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/4ed5d217c20a17da672cb04aaf87c033ff7e35af79e3c5a6e1ac818eb163a924?d=identicon)[croustibat](/maintainers/croustibat)

---

Top Contributors

[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (13 commits)")[![croustibat](https://avatars.githubusercontent.com/u/1169456?v=4)](https://github.com/croustibat "croustibat (11 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (9 commits)")

---

Tags

phpcomposerclisecurityAuditpackagescidependenciesupdateoutdated

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/croustibat-php-check-for-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/croustibat-php-check-for-laravel/health.svg)](https://phpackages.com/packages/croustibat-php-check-for-laravel)
```

###  Alternatives

[illuminate/console

The Illuminate Console package.

12944.1M5.1k](/packages/illuminate-console)[laravel-zero/framework

The Laravel Zero Framework.

3371.4M369](/packages/laravel-zero-framework)[mahocommerce/maho

Free and open source ecommerce platform, created in 2024 on the M1 platform, PHP 8.3+

1322.1k12](/packages/mahocommerce-maho)[mehrancodes/laravel-harbor

A CLI tool to Quickly create On-Demand preview environment for your apps.

9989.0k](/packages/mehrancodes-laravel-harbor)

PHPackages © 2026

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