nunomaduro/ohdear-cli
A command-line interface for Oh Dear, the all-in-one site monitoring service. Check uptime, broken links, SSL certificates, DNS and scheduled jobs, trigger on-demand checks, and manage your sites straight from the terminal. Built with Laravel Zero for a fast, friendly experience.
Architecture fit This is not a Laravel package in the library sense — it is a standalone console application built on Laravel Zero, distributed as a PHAR or a global Composer binary. It exposes no service provider, facade, config file, or publishable assets, and therefore does not enter the host application's container or lifecycle. That distinction is the single most important framing for a TPM: the integration boundary is the process, not the codebase. It is a fit where the requirement is operational automation (post-deploy verification, maintenance-window toggling, ad-hoc status checks from a terminal or CI runner) against an existing Oh Dear account. It is a poor fit where the requirement is "query Oh Dear from inside our application" — that calls for the HTTP API directly or a client library.
Integration feasibility
High and low-ceremony. Install via composer global require ohdearapp/ohdear-cli or download the PHAR; supply an API token via environment variable or flag; the tool talks to the Oh Dear API over outbound HTTPS. No application code changes, no migrations, no schema impact. The realistic adoption path is a one-line step in a deployment pipeline or a local developer convenience. The only hard prerequisites are an Oh Dear subscription, a scoped API token, and PHP 8.x on the executing host or runner image.
Technical risk
Low-to-moderate, and almost entirely external risk rather than code risk. The package itself is small, MIT-licensed, and maintained under the Oh Dear organisation (it originated as nunomaduro/ohdear-cli and was migrated to ohdearapp/ohdear-cli) — that rename is itself a packaging-hygiene signal worth noting for anyone pinning the old vendor path. The substantive risks are: (1) third-party SaaS dependency — the CLI is worthless without a live Oh Dear account and API reachability; (2) secret handling — a token with account-level read/write access ends up in CI environment variables; (3) zero dependents, which is expected for a CLI but means no ecosystem pressure enforcing backward compatibility, so version pinning is mandatory if output is parsed; (4) supply-chain exposure from pulling an executable artifact into build infrastructure. The 141-star count and modest release cadence suggest a niche tool with a small maintainer pool — acceptable for a convenience layer, unacceptable as a load-bearing dependency in a critical path.
Key questions
Stack fit Strong for Laravel/PHP teams already using Oh Dear, since Composer and PHP 8.x are guaranteed present. The tool is runtime-independent of the monitored application's framework version, so it works identically across a mixed fleet of Laravel and non-Laravel PHP services. For non-PHP stacks it still works but requires a PHP runtime in the pipeline image, which is a real cost to weigh.
Migration path
There is no data migration. The realistic migration is behavioural: replacing manual browser interaction with the Oh Dear dashboard by scripted commands, or replacing bespoke curl calls against the Oh Dear API with a maintained wrapper. Both are additive and reversible in a single pipeline edit, which makes the adoption risk profile unusually forgiving.
Compatibility
Because Laravel Zero ships its own vendored dependency tree, a global or PHAR install avoids the classic conflict with the application's composer.lock — this is a genuine advantage over embedding it as a dev dependency. Verify PHP version constraints against the runner images before standardising, and confirm the binary works on the specific OS/architecture of self-hosted runners (Alpine/musl images are the usual failure point).
Sequencing
Maintenance
Very low code maintenance — nothing lives in our repositories. The recurring obligations are version pinning, PHP runtime currency in build images, and token rotation. The upstream bus factor is the main long-term consideration: a small maintainer group at Oh Dear, a project that is a convenience wrapper rather than a product surface. If it is abandoned, the replacement is a handful of curl calls, so the exit cost is genuinely trivial. That materially lowers the maintenance concern.
Support MIT licence, no SLA, community issues only. Oh Dear's commercial support covers the API and platform, not this CLI — teams should expect to debug wrapper-level behaviour themselves. Internal support burden is essentially "one or two engineers know the commands," which is a documentation task, not a staffing one.
Scaling Per-invocation overhead is negligible; the real ceiling is Oh Dear's API rate limits and the number of monitored sites. A per-deploy, per-site invocation pattern multiplies calls quickly — fine at dozens of sites, worth batching or restricting to changed services at hundreds. There is no state to scale; it is stateless request/response.
Failure modes
Ramp-up Under an hour for a developer familiar with CLIs; the learning curve is in Oh Dear's domain concepts (checks, triggers, maintenance windows, certificate monitoring), not in the tool. Budget a short internal write-up covering token provisioning, the two or three commands actually used, and the decision on whether exit codes gate deployments. Overall this is a low-cost, low-risk operational convenience with an easy exit — worth adopting narrowly, not worth architecting around.
How can I help you explore Laravel packages today?