bpmore/statamic-site-weather
A lightweight Statamic addon for displaying site weather: configure a location and show current conditions in the control panel or templates via a simple fieldtype/tag. Keeps weather data handy without leaving Statamic.
WeatherContributor contract plus the site-weather.contributors container tag means each new data source (uptime provider, CI pipeline, incident feed, deploy status) is registered as a contributor rather than forked into the widget. That is the reusable seam; the Blade tile is commodity UI.Reading already carries headline, url, and computed_at, so drill-down links and freshness display are available without changing contributor contracts. Public status pages, history, and alerting are not in scope but are not blocked by the data model.Adopt when:
Look elsewhere when:
computed_at is a timestamp, not a metric.Validate before shipping: the notes do not describe caching, timeouts, or async evaluation for contributors, and the widget appears to render computed readings. Confirm contributor latency and failure behaviour against your dashboard's page budget, and decide what a slow or throwing contributor should render (presumably unknown).
For executives. This is a small, contained package that turns several operational signals into one trustworthy red/amber/green tile on an internal dashboard. Its distinguishing property is honesty: it never reports green when a source is unknown, so the tile cannot lull anyone into thinking everything is fine when a check is simply missing. It has also been accessibility-audited — distinct icon shapes, a word per state, and a screen-reader summary, verified with axe in both colour schemes with no violations — which retires a recurring compliance concern for this surface. Risk is low and scope is narrow: it is UI, not monitoring, and it will not page anyone.
For engineering. Integration is one contract and one container tag: implement WeatherContributor, register it under site-weather.contributors, return a Reading of state, headline, url, and computed_at. Each owning team ships its own contributor with no changes to the widget. Aggregation is worst-wins with unknown as a first-class state — treat that as fixed semantics rather than configuring per-contributor overrides, because the whole point is that the tile's verdict is predictable. The url field keeps the tile drillable, so contributors should supply the most useful destination for debugging.
For the deciding conversation. Buy the contract and the aggregation semantics; buy the widget only if you don't already have one. The thing worth owning is the shared definition of "what does green mean," and this package makes that definition explicit and conservative. Budget for verifying contributor latency and caching on a high-traffic dashboard, and treat v1.0.0 as an early-adopter dependency until a second release confirms the API.
How can I help you explore Laravel packages today?