Spotlight

A fork of Spectral.

A maintained build of the Spectral linter — and the Spectral ruleset format lifted out of it and specified on its own, so your governance rules stop depending on the health of a single tool.

Spotlight is the working name — spotlight-spec and spotlight-tools. It was picked early on purpose, because renaming before anyone depends on the packages costs a few links and renaming after costs everybody's CI. It is not settled, and the naming question is an open issue — trademark, registries, and whether the specification should even share a name with the tool. The format is still the Spectral ruleset format, described that way throughout, because that is what your rulesets are. The spectral binary name is not changing either.

Join the discussion Why this is happening

Latest — The 2012 move, one layer up, August 14, 2026. Everything gets written down on the blog (RSS).


spotlight-spec

The specification

The ruleset and rules format as a standalone, independently versioned specification with a portable JSON Schema. This is the important half. Rules are the most durable artifact an API program produces — they should outlive any linter that runs them.

spotlight-tools

The tool

A maintained build of the linter at v6.16.2 — full history preserved, telemetry removed, issues open. A copy rather than a GitHub fork, because forks cannot have their own issues, and somewhere to report a problem is the entire point.

Why

Spectral rulesets are how a great many organizations express machine-readable API governance. The Dutch government's REST API Design Rules — a mandatory standard on the Netherlands' comply-or-explain list — are written as Spectral rulesets, and they are not the only government that has done this. Large enterprises run the engine behind their own internal validation platforms. Startups wire it into CI on day one. The tool all of that rests on has stopped moving.

Because the specification and the tool were never separated, an unmaintained tool means an unmaintained format. The full case, with the data →

What this is not

Not a rewrite

It starts from the exact ruleset format and CLI behavior of v6.16.2. Existing rulesets keep working. Divergence, when it comes, will be deliberate, versioned, and documented — never silent.

Not a competitor to vacuum

vacuum is a supported, valued implementation. A written specification with a public conformance suite is exactly what lets several engines coexist honestly instead of drifting apart on undocumented behavior.

Not a land grab

The invitation to donate Spectral to the OpenAPI Initiative — made publicly in January 2025, never answered — still stands. That remains the best possible outcome.

Where it goes next

Multi-specification. OpenAPI, AsyncAPI, Arazzo, Overlays, JSON Schema, Swagger 2.0, GeoJSON, OData, GraphQL, A2A agent cards, MCP, JSON-LD, APIs.json, and Markdown. Multi-engine. Spectral, vacuum, Open Policy Agent, Cedar — a documented format is the interchange layer between them. JavaScript stays. Browser support is a hard requirement, and a compiled binary cannot serve it. The full scope →

Where it lives

API Commons is the home for now — deliberately a parking spot rather than a destination. It is not a home for technology and not a funding mechanism; it is an information, story and research-sharing venue, and somewhere neutral for a project to stand while its permanent home gets worked out. Nobody driving this wants to own it.

The OpenAPI Initiative is a candidate, though its charter has historically constrained tooling — awkward when the whole point is keeping the spec and the tool aligned. The Linux Foundation is a candidate. A European home is a candidate. And there is a structural question underneath all of them that decides more than it looks like it does: whether the technical home and the fiscal home are allowed to be different, because that is what determines whether this specification can ever be sponsored directly rather than folded into somebody's membership story. That question is an open issue, and the funding argument is here.

How the work is tracked

Vendor neutrality is the whole argument, and neutrality that only exists in prose is not neutrality. So the decisions are issues, the roadmap is generated from those issues, and every item that gets built will have a single pull request pointing back at the thread that argued for it. Nothing about the direction of this format should require knowing who to ask. The roadmap →

The same applies to the ecosystem. The tool here is one implementation among many, and that claim is worth nothing without a published list — every engine, every product that embeds the format behind its own interface, and the adjacent tooling that solves the same problem differently, with the evidence for each. The implementation landscape →

If you rely on Spectral, say so

No commitment, nothing legally binding — just whether you depend on it and want to see it keep moving. Knowing who is out there is what makes the case for a real, permanent home.

Add your voice → Or email privately

Not everyone can say this in public. A private note straight to my inbox counts just as much, and nothing is shared without your say-so.