Open source · Performance & Reliability

Service Level Objective Linter

Lint service objectives for measurable windows, indicators and owners.

v0.1.0 · Node.js 22+ · MIT

Browse the public repository · View releases

Lint a local exported SLO definition before people rely on it. A target outside its legal range or a missing ratio denominator is a definite definition failure; an unverified query is explicitly incomplete, never silently accepted. The tool reads files and reports evidence. It never executes a query, contacts a provider, measures live traffic, or changes an objective.

This walkthrough uses the tool's public README and checked-in example files. Run the command from a repository checkout with Node.js 22+.

Run the checked-in example

node bin/service-level-objective-linter.mjs --root examples --input passing.json
node bin/service-level-objective-linter.mjs --root examples --input failing.json
node bin/service-level-objective-linter.mjs --root examples --input unverified.json
npm run check

Read the result

The first example exits 0 with no findings. The second exits 1 and locates both an out-of-range target and missing denominator. The third exits 2 with an incomplete report naming the unverified query reference. --human adds a one-line summary on stderr; stdout remains a single JSON report in all started runs. --help prints usage.