Skip to content

Releases: didrod205/apilint

Release list

v0.1.0

Choose a tag to compare

@didrod205 didrod205 released this 01 Jun 04:53

First public release of apilint — a zero-config, deterministic linter for OpenAPI (Swagger) 3.x specs. Works on JSON and YAML, no headless anything.

Checks (25+ rules, 9 categories)

  • 🔗 Structure$ref integrity, OpenAPI version, paths present
  • 🧱 OperationsoperationId presence/uniqueness, summary, tags, success and error responses
  • 🧭 Parameters — every {templated} path segment declared; descriptions
  • 🏷️ Naming — no verbs in paths, kebab-case segments, no trailing slash, operationId casing
  • 🔐 Security — schemes defined; per-operation auth (toggle)
  • 📝 Docs — info metadata, response/parameter/schema descriptions

Features

  • Built-in YAML+JSON parser (no heavy deps).
  • Per-category + weighted score with an A–F grade.
  • JSON/Markdown export, --min-score CI gate, colored console.
  • Config: disable categories/rules, severities, weights, requireSecurity/requireTags, operationIdStyle.
  • Programmatic API (analyze, loadSpec, parseYaml, toMarkdown). ESM + CJS + types.
  • No network, fully deterministic — a lightweight Spectral alternative.

Install

npx @didrod2539/apilint scan openapi.yaml

💖 Sponsor via Lemon Squeezy.