spurwork/spectator
Spectator is a lightweight Laravel package for observing outgoing HTTP requests, letting you inspect, log, and assert on the calls your app makes so you can debug integrations and write reliable tests without hitting external APIs.
spectator:validate and the route-vs-spec comparison run in CI, giving a binary ship/no-ship signal on API changes. This directly supports decisions about when an API version is safe to expose to partners or mobile clients.x-www-form-urlencoded posts against object schemas previously produced spurious 500s. Those are exactly the failures that reach a partner's integration ticket queue and consume PM time in triage.spectator:routes output now shows the resolved path including the prefix, which matters for products that expose versioned or tenant-prefixed routes and need route-to-spec traceability during review.Adopt when:
Look elsewhere when:
On the v3.0.4 release specifically: two bug fixes, no breaking changes, no new capabilities, no deprecations. It does not change any of the above calculus. It does confirm active maintenance, which is a modest positive for the buy-vs-build argument — a library with responsive maintainers is a lower long-term bet than one abandoned between Laravel majors. Treat v3.0.4 as maintenance evidence, not as a reason to adopt.
For executives (one paragraph): Our API contract is currently a document that nobody verifies against the code, so drift is discovered by customers rather than by us. This is an open-source, no-licence-cost Laravel package that turns the OpenAPI spec into an automated test suite: it fails the build when the implementation and the published contract disagree. The cost is a few days of engineering to author or generate a trustworthy spec and wire the check into CI. The return is fewer partner-integration incidents, a spec that stays accurate enough to underpin SDKs or public documentation later, and deprecations that are caught in review rather than in production. The trade-off is that the spec becomes a maintained artefact with an owner — that ongoing cost, not the tool, is the real commitment.
For engineering leads: This is a dev-only dependency with a config file and a CI step. Validation is opt-in per environment, so it stays out of production request paths. The main work is not installation — it is getting the spec to a state where failures are meaningful, and deciding the enforcement policy (fail the build vs. warn) so the check does not become noise people route around. Latest release is a patch: an empty-body handling fix and clearer spectator:routes output, so no migration work.
Framing the decision honestly: The package is cheap to try and cheap to remove. The expensive, irreversible part is committing to spec ownership. Approve the tooling on the understanding that the spec-maintenance owner is named at the same time; if that owner does not exist, the correct decision is to defer adoption and fix the spec problem first.
How can I help you explore Laravel packages today?