Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Appkeep Laravel Package

appkeep/laravel-appkeep

appkeep/laravel-appkeep helps you keep your Laravel application healthy and running smoothly. It offers lightweight tools for monitoring, maintenance, and routine upkeep, with easy configuration that fits cleanly into your existing workflow and keeps your project reliably on track.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: The published description positions appkeep/laravel-appkeep as a runtime, production-facing monitoring toolkit — uptime, application health, queue depth, scheduled-command execution — with the explicit differentiator that it "works without SSH access." That is a materially different evaluation than the v0.6.2 changelog implies: the only released artifact we can inspect is a patch fixing SpecContext memory-size detection on PHP 7.4. This gap is the headline finding. The marketing surface (full monitoring suite, private beta) and the shipped surface (a spec/environment context helper) do not reconcile, which means we cannot yet determine whether the package today delivers queue and scheduler monitoring or whether that is roadmap. For a TPM that changes the decision from "adopt a monitoring toolkit" to "evaluate a pre-release beta with an unverified feature set."

Architecturally, any Laravel monitoring package implies a service provider, publishable config, scheduled heartbeat tasks, and an outbound reporting path. The outbound path is the architectural fact that matters: "works without SSH" means the application phones home (or to a configurable endpoint). That is a production egress dependency, and it sits in the request/cron path of the app it is supposed to be watching.

Competitive framing is unavoidable. Laravel 11 shipped about and queue:monitor; schedule:list plus a heartbeat covers scheduler liveness; Spatie's laravel-health covers most of the same checks under a mature, widely-adopted package; Oh Dear, Envoyer, Sentry Crons, and Healthchecks.io cover the hosted-uptime slice. The "no SSH" advantage is real for Forge/Vapor/shared-hosting/containerized fleets, but it is not unique.

Integration feasibility: Mechanically trivial — one Composer dependency, package discovery, vendor:publish config. The binding constraint is not engineering effort, it is access: this is a private beta. Onboarding requires vendor engagement, credentials, and acceptance of beta terms. Apache-2.0 covers the repository code, not the hosted service, so the license gives us no rights over the reporting backend, no data-processing terms, and no exit guarantee. Feasibility is gated on a vendor conversation, not a sprint ticket.

Technical risk: High, in aggregate.

  • Project viability. One star, last release 2023-08-18, still "private beta" after roughly two years of apparent inactivity. That is the profile of a stalled side project, not a roadmap.
  • Support envelope. The 0.6.2 fix targets PHP 7.4, which has been EOL since November 2022. The maintainer's test matrix skews old; Laravel 11/12 and PHP 8.3 coverage is unverified and unlikely.
  • Pre-1.0 semver. Breaking changes are permitted in minor releases; interfaces are not stable.
  • Watchmen problem. A monitoring agent that reports through the same app (queue, scheduler, cron) cannot reliably report the failure of that app. Queue-worker failure and scheduler failure — precisely the signals we want — are the conditions most likely to suppress the alert.
  • Egress and data exposure. Unknown payload contents, unknown destination, unknown retention. Needs security and privacy review before any production install.
  • Bus factor. Single organization, no LTS, no SLA, no visible issue-response history.

Key questions:

  • Which of the advertised capabilities actually ship in 0.6.2 versus roadmap? Specifically: queue depth, scheduled-command heartbeats, uptime endpoint.
  • Is this a runtime production dependency, a require-dev diagnostic helper, or both? Does it register middleware, schedules, or migrations?
  • What data leaves the application, to which endpoint, under what retention, and can the endpoint be self-hosted or pointed at internal infrastructure?
  • Which Laravel (10/11/12) and PHP (8.1–8.3) versions are tested in CI? Is PHP 7.4 support intentional or residual?
  • What are the private-beta terms — pricing intent, data ownership, notice period, and what happens to telemetry if the vendor disappears?
  • What is the maintainer's cadence and commitment, and is there any commercial entity with an SLA behind the beta?
  • Does the agent fail loudly or silently, and can it detect its own failure (dead-man's switch on the receiving side)?

Integration Approach

Stack fit: Composer-native Laravel package; no infrastructure change to install, but a new outbound network dependency and a new scheduled task to operate. Assume it needs a queue worker and the scheduler to be healthy for its own reporting to function — confirm whether heartbeat checks can be made dependent on an external receiver instead.

Migration path: Greenfield adoption, no legacy reconciliation. Because the decision is reversible, the correct path is a bounded pilot behind a feature flag rather than a fleet-wide rollout. Retain the existing uptime check and alerting as the primary signal throughout; AppKeep runs in shadow mode until it demonstrates parity.

Compatibility: Treat 0.6.2 as untested against our target matrix until proven. The PHP 7.4 fix should not be read as covering 8.2/8.3. Explicitly verify Laravel 11/12 support — if the package predates Laravel 11's scheduler/queue changes, its instrumentation assumptions may already be stale.

Alternatives to weigh before building anything:

Option Coverage Maturity Cost Verdict
AppKeep (beta) Uptime, health, queues, scheduler Pre-1.0, stalled, private beta Unknown beta terms + egress review Pilot only if no-SSH constraint is binding
Spatie laravel-health Health checks, scheduler, queues Mature, OSS, active Engineering time Default candidate
Oh Dear / Healthchecks.io Uptime, cron heartbeats Commercial SLA Per-seat Covered if budget exists
In-house /health + dead-man's-switch Health, scheduler liveness Fully ours 2–5 eng days Cheapest durable option

Sequencing:

  1. Vendor diligence first, code second. Get beta terms, feature matrix, support matrix, data-handling terms, and pricing intent in writing. If the pilot cannot be authorized without that, stop here.
  2. Security/privacy review of the reporting payload and destination before any production-adjacent install.
  3. Spike branch: pin appkeep/laravel-appkeep:0.6.2 exactly (no ^0.6), on one internal, non-customer-facing Laravel service.
  4. Verify CI coverage on our actual PHP/Laravel matrix; add a regression test around memory_limit edge cases (-1, 0, suffixed values) since that is the one known defect class.
  5. Confirm no unintended service-provider side effects: middleware, migrations, config publishing, scheduled task registration.
  6. Run in shadow mode alongside existing monitoring for 30 days; instrument agent health itself.
  7. Pre-committed exit criteria: promote only if (a) the advertised queue/scheduler features are verified working, (b) the package is on 1.0 or the maintainer commits to a support matrix and cadence, and (c) the vendor provides contractual data terms. Otherwise retire and standardize on the default candidate.
  8. Re-evaluate at the 1.0 release or at fleet PHP-7.4 retirement — whichever comes first — and close the evaluation if the repo goes 12+ months without a release.

Operational Impact

Maintenance: Ongoing engineering cost is low; ongoing attention cost is not. Pre-1.0 semver means every 0.7, 0.8, 0.9 bump requires a changelog read, a CI run, and a risk call. Budget a recurring half-day per release cadence. The larger cost is the dormant-vendor problem: a beta dependency that stops receiving releases becomes an unsupported component we must fork, wrap, or remove.

Support: Community-grade only. No LTS, no SLA, no published security process, no indicated commercial entity. We would be the support path for our own engineers, with a single external maintainer as escalation of last resort. That is acceptable for internal tooling and not acceptable for anything tied to a customer SLA.

Scaling: Negligible compute — periodic heartbeat jobs and occasional memory introspection. The scaling risk is structural, not volumetric: every monitored app becomes a reporter to a beta endpoint, so growth increases dependence on a vendor whose capacity and longevity are unknown. Cost scales with app count, not request volume; the beta pricing model is unstated, which is itself a planning risk.

Failure modes:

  • Silent monitoring failure. The agent fails, queue backs up, or scheduler stalls, and the alert channel goes quiet. Most dangerous mode; requires an external dead-man's switch.
  • False confidence. Monitoring reports green while checking the wrong thing — the exact class of defect in 0.6.2.
  • Abandonment. Beta stalls permanently, forcing an unplanned migration under time pressure.
  • Data egress incident. Unknown payload contents sent to an unvetted endpoint; privacy or compliance finding after the fact.
  • Framework-upgrade breakage. Instrumentation assumes older Laravel internals and breaks on the next major, discovered mid-upgrade.
  • Breaking change on a minor bump absorbed silently because nobody read the changelog.

Ramp-up: Low technically — a Laravel developer can install and configure it in well under a day. The real ramp-up is organizational: security review, vendor onboarding, and writing internal usage notes, roughly 3–5 days including diligence. Documentation quality is unverified and the description-to-changelog mismatch suggests it should not be relied upon. Plan for one engineer to own the evaluation end to end, produce a short written findings memo, and make a go/no-go recommendation at the end of the pilot window rather than letting the decision drift by default.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager