PHPackages                             justgetschwifty/laravel-stack-health - 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. [Logging &amp; Monitoring](/categories/logging)
4. /
5. justgetschwifty/laravel-stack-health

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

justgetschwifty/laravel-stack-health
====================================

Operational health dashboard and /up diagnostics for Laravel applications.

v1.0.1(1mo ago)00MITPHPPHP ^8.3CI passing

Since Mar 27Pushed 1mo agoCompare

[ Source](https://github.com/JustGetSchwifty/laravel-stack-health)[ Packagist](https://packagist.org/packages/justgetschwifty/laravel-stack-health)[ Docs](https://github.com/JustGetSchwifty/laravel-stack-health)[ RSS](/packages/justgetschwifty-laravel-stack-health/feed)WikiDiscussions main Synced 1mo ago

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

Laravel Stack Health
====================

[](#laravel-stack-health)

Operational health dashboard and `/up` diagnostics for Laravel applications.

Current release: `1.0.1` (see `VERSION` file for local tooling).

Versioning Policy
-----------------

[](#versioning-policy)

- Source of truth for published package versions is Git tag (`vX.Y.Z`), not `composer.json`.
- `composer.json` intentionally does not include a fixed `version` field (Composer/Packagist best practice for VCS-based libraries).
- Local helper scripts read `VERSION` and pass it as `COMPOSER_ROOT_VERSION` to avoid root-version warnings in containerized checks.

Why This Exists
---------------

[](#why-this-exists)

This is a passion project. I originally built it for my own production needs, then decided to open source it because the same operational pain points are common across many Laravel teams.

The goal is simple: keep health signals actionable, safe, and easy to extend.

Engineering Transparency
------------------------

[](#engineering-transparency)

I am transparent about using AI tools in my daily workflow (Cursor included), but the ownership and responsibility stay with me:

- Product idea, architecture decisions, and implementation direction are mine.
- I review every change manually before merge.
- I test incrementally in small, controlled steps to avoid uncontrolled code generation.
- I treat AI as an assistant for speed, not as an autonomous decision-maker.

I am a senior engineer and I am comfortable with this workflow, but software is still software: even with strict review, occasional mistakes can happen. If you spot one, please open an issue or PR.

AI Agent Instructions
---------------------

[](#ai-agent-instructions)

To keep AI-assisted contributions consistent and safe, this repository ships a checked-in AI policy:

- Canonical policy: `AGENTS.md`
- Tool bridges: `.github/copilot-instructions.md`, `CLAUDE.md`, `.cursor/rules/00-core-agent-policy.mdc`

Contributors using AI agents should follow these instructions before generating or editing code.

Features
--------

[](#features)

- Health dashboard route (default `/healthcheck`) with sectioned checks.
- `/up` dependency probe hook via `DiagnosingHealth`.
- Sensitive message redaction outside local environments.
- Per-check enable/disable controls.
- Extensible check contract for custom probes.
- Unit + feature tests with Testbench.

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

[](#installation)

```
composer require justgetschwifty/laravel-stack-health
php artisan vendor:publish --tag=stack-health-config
```

Optional publishes:

```
php artisan vendor:publish --tag=stack-health-lang
php artisan vendor:publish --tag=stack-health-views
```

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

[](#quick-start)

1. Open `/healthcheck` (or custom `STACK_HEALTH_PATH`) in local.
2. Enable dashboard outside local:

```
STACK_HEALTH_DASHBOARD=true
```

1. Keep safe production defaults:

```
STACK_HEALTH_REDACT_SENSITIVE=true
STACK_HEALTH_ENABLE_OPTIONAL_CHECKS=false
```

Built-in Checks
---------------

[](#built-in-checks)

- Runtime: PHP version, SAPI, opcache, timezone data.
- Integrations: database, redis, cache, outbound HTTP, scheduler heartbeat.
- Configuration: app/env/session/cache/queue/log/filesystem checks.
- Extensions: configured PHP extensions list.
- Optional checks: Horizon, GD, Imagick, mail transport, GeoIP.

Enable optional checks:

```
STACK_HEALTH_ENABLE_OPTIONAL_CHECKS=true
```

Custom Check
------------

[](#custom-check)

Implement `StackHealthCheckContract`, return `StackHealthItemResult[]`, then add class to `stack-health.sections`.

```
final class QueueConnectionCheck implements StackHealthCheckContract
{
    public static function id(): string
    {
        return 'queue_connection';
    }

    public function run(): array
    {
        return [new StackHealthItemResult('Queue connection', true, 'Queue is configured')];
    }
}
```

Testing
-------

[](#testing)

```
composer test
```

Security
--------

[](#security)

- Do not commit secrets, keys, `.env`, or internal credentials.
- Use `SECURITY.md` for vulnerability reporting.
- Keep `STACK_HEALTH_REDACT_SENSITIVE=true` in non-local environments.

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

[](#documentation)

- [Installation](docs/installation.md)
- [Configuration](docs/configuration.md)
- [Built-in Checks](docs/checks.md)
- [Custom Checks](docs/custom-checks.md)
- [Testing](docs/testing.md)
- [Troubleshooting](docs/troubleshooting.md)
- [Release Process](docs/release.md)
- [Security Guide](docs/security.md)
- [Maintainer Transparency Notes](docs/transparency.md)

License
-------

[](#license)

MIT. See `LICENSE`.

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance90

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

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 ~0 days

Total

2

Last Release

46d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/422285?v=4)[Tomáš Maněna](/maintainers/justgetschwifty)[@JustGetSchwifty](https://github.com/JustGetSchwifty)

---

Tags

laravelmonitoringhealthdashboardops

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/justgetschwifty-laravel-stack-health/health.svg)

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

###  Alternatives

[spatie/laravel-health

Monitor the health of a Laravel application

85810.0M83](/packages/spatie-laravel-health)[inspector-apm/inspector-laravel

Code Execution Monitoring, built for developers.

2332.0M2](/packages/inspector-apm-inspector-laravel)[jackwh/laravel-new-relic

Monitor your Laravel application performance with New Relic

112827.2k](/packages/jackwh-laravel-new-relic)[muhammadsadeeq/laravel-activitylog-ui

A beautiful, modern UI for Spatie's Activity Log with advanced filtering, analytics, and real-time features.

17510.1k](/packages/muhammadsadeeq-laravel-activitylog-ui)

PHPackages © 2026

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