PHPackages                             sneycampos/laravel-care - 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. [Admin Panels](/categories/admin)
4. /
5. sneycampos/laravel-care

ActiveLibrary[Admin Panels](/categories/admin)

sneycampos/laravel-care
=======================

Health-Check &amp; Audit Tool for Composer Dependencies - Find out which packages are well-maintained, secure, and which ones to avoid.

v1.0.0(3mo ago)150MITBladePHP ^8.1

Since Jan 20Pushed 3mo agoCompare

[ Source](https://github.com/sneycampos/laravel-care)[ Packagist](https://packagist.org/packages/sneycampos/laravel-care)[ Docs](https://github.com/sneycampos/laravel-care)[ RSS](/packages/sneycampos-laravel-care/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (9)Versions (2)Used By (0)

 [![Laravel Care Cover](resources/images/cover.jpg)](resources/images/cover.jpg)

Laravel Care
============

[](#laravel-care)

Health-Check and Audit Tool for Composer Dependencies. Find out which packages are well-maintained, secure, and which ones to avoid.

Inspired by [nuxt.care](https://github.com/Flo0806/nuxt.care), this package provides a dashboard to monitor the health of your Laravel project's dependencies.

Features
--------

[](#features)

- **Health Scoring** - Transparent 0-100 score based on reliable data
- **Security Audit** - Vulnerability detection via Packagist and OSV.dev
- **Maintenance Status** - Track release freshness, popularity, and documentation
- **Smart Filters** - Filter by status, search by name, sort by score
- **Dark Mode** - Beautiful dark theme with automatic detection
- **Caching** - JSON-based caching with configurable TTL
- **CLI Support** - Artisan command for terminal-based scanning

Screenshots
-----------

[](#screenshots)

The dashboard features a modern design with:

- Package grid with health score visualization
- Glassmorphism effects and smooth animations
- Fully responsive layout
- Real-time search and filtering

 [![Laravel Care Dashboard - Light Mode](art/dashboard-light.png)](art/dashboard-light.png) [![Laravel Care Dashboard - Dark Mode](art/dashboard-dark.png)](art/dashboard-dark.png)

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

[](#installation)

Install the package via Composer:

```
composer require sneycampos/laravel-care --dev
```

Publish the configuration file (optional):

```
php artisan vendor:publish --tag="laravel-care-config"
```

Publish the views for customization (optional):

```
php artisan vendor:publish --tag="laravel-care-views"
```

Usage
-----

[](#usage)

### Dashboard

[](#dashboard)

Visit your application at `/laravel-care` to see the dependency health dashboard.

### CLI Command

[](#cli-command)

Scan dependencies from the terminal:

```
# Full scan with table output
php artisan laravel-care:scan

# Fresh scan (clear cache)
php artisan laravel-care:scan --fresh

# JSON output
php artisan laravel-care:scan --json

# Summary only
php artisan laravel-care:scan --summary
```

### Programmatic Usage

[](#programmatic-usage)

```
use Sneycampos\LaravelCare\Facades\LaravelCare;

// Get all packages with health data
$packages = LaravelCare::scan();

// Get summary statistics
$summary = LaravelCare::summary();
// Returns: ['total' => 42, 'healthy' => 35, 'warning' => 5, 'critical' => 2, ...]

// Get specific package details
$package = LaravelCare::package('laravel/framework');

// Force refresh cache
LaravelCare::refresh();
```

### Automatic Scanning (Composer Scripts)

[](#automatic-scanning-composer-scripts)

You can configure Composer to automatically scan dependencies after every `install` or `update`. Add the following to your project's `composer.json`:

```
{
    "scripts": {
        "post-install-cmd": [
            "@php artisan laravel-care:scan --summary"
        ],
        "post-update-cmd": [
            "@php artisan laravel-care:scan --fresh --summary"
        ]
    }
}
```

This will:

- **After `composer install`**: Show a summary of your dependencies' health
- **After `composer update`**: Clear the cache and rescan (since packages changed)

> **Tip**: Use `--summary` for a quick overview or remove it for the full table output.

#### CI/CD Integration

[](#cicd-integration)

For continuous integration, you can fail the build if critical packages are detected:

```
# GitHub Actions example
- name: Check Dependency Health
  run: |
    php artisan laravel-care:scan --json > health.json
    CRITICAL=$(cat health.json | jq '.summary.critical')
    if [ "$CRITICAL" -gt "0" ]; then
      echo "Found $CRITICAL critical packages!"
      exit 1
    fi
```

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

[](#configuration)

```
// config/laravel-care.php

return [
    // Route configuration
    'route_prefix' => 'laravel-care',
    'middleware' => ['web'], // Add 'auth' for protection

    // Cache configuration
    'cache' => [
        'driver' => 'json', // 'json' or 'sqlite'
        'ttl' => 28800, // 8 hours in seconds
    ],

    // Optional GitHub token for enhanced metadata
    'github_token' => env('LARAVEL_CARE_GITHUB_TOKEN'),

    // UI theme: 'light', 'dark', or 'auto'
    'theme' => 'auto',

    // Packages to ignore
    'ignore' => [
        'php',
        'ext-*',
    ],

    // Scoring weights (must total 100)
    'scoring' => [
        'security' => 30,
        'freshness' => 20,
        'maintenance' => 15,
        'popularity' => 10,
        'documentation' => 10,
        'testing' => 10,
        'laravel_compatibility' => 5,
    ],
];
```

How Scoring Works
-----------------

[](#how-scoring-works)

Laravel Care calculates a Risk/Health Score from 0-100. This is not a popularity contest - we focus on reliability, maintenance, and security.

### Score Breakdown

[](#score-breakdown)

CategoryMax PointsDescriptionSecurity30No known vulnerabilitiesFreshness20Recent release (within 6 months)Maintenance15Active maintenance, low issue countPopularity20Download count (logarithmic scale)Documentation10Has README, homepage, licenseTesting10Has tests and CILaravel Compatibility5Supports recent Laravel versions### Penalties

[](#penalties)

- **Known CVE**: -20 points
- **Abandoned Package**: -30 points
- **No Release in 2+ years**: -15 points (unless "stable &amp; done")

### Stable and Done Exception

[](#stable-and-done-exception)

Some packages are "done" - they work perfectly and don't need updates. A package gets the Stable and Done bonus if:

- Published more than 1 year ago
- No known vulnerabilities
- Less than 10 open issues
- Not abandoned

Security
--------

[](#security)

The package checks vulnerabilities from:

- [Packagist Security Advisories](https://packagist.org/apidoc#list-security-advisories)
- [OSV.dev](https://osv.dev/) for additional CVE information

Data Sources
------------

[](#data-sources)

SourcePurposePackagistPackage metadata, download statsPackagist Security APIKnown vulnerabilitiesOSV.devAdditional CVE dataGitHub API (optional)Repo stats, CI statusTesting
-------

[](#testing)

```
composer test
```

License
-------

[](#license)

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

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance80

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

112d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/43dbef09a7c2e6c406321975ecd14e32382083c33b3f8845dcd587c116bf6109?d=identicon)[as0t](/maintainers/as0t)

---

Top Contributors

[![sneycampos](https://avatars.githubusercontent.com/u/585263?v=4)](https://github.com/sneycampos "sneycampos (14 commits)")

---

Tags

auditcomposerdashboarddependencieshealth-checklaravelpackagistsecuritytailwindcssvulnerabilitiescomposerlaravelsecurityAuditdependencieshealth checkvulnerabilities

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/sneycampos-laravel-care/health.svg)

```
[![Health](https://phpackages.com/badges/sneycampos-laravel-care/health.svg)](https://phpackages.com/packages/sneycampos-laravel-care)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[hirethunk/verbs

An event sourcing package that feels nice.

513162.9k6](/packages/hirethunk-verbs)[guava/filament-knowledge-base

A filament plugin that adds a knowledge base and help to your filament panel(s).

206120.5k1](/packages/guava-filament-knowledge-base)[dgtlss/warden

A Laravel package that proactively monitors your dependencies for security vulnerabilities by running automated composer audits and sending notifications via webhooks and email

8745.6k](/packages/dgtlss-warden)[ralphjsmit/laravel-filament-seo

A package to combine the power of Laravel SEO and Filament Admin.

15398.7k10](/packages/ralphjsmit-laravel-filament-seo)[vormkracht10/laravel-mails

Laravel Mails can collect everything you might want to track about the mails that has been sent by your Laravel app.

24149.7k](/packages/vormkracht10-laravel-mails)

PHPackages © 2026

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