rubenglez

EasyDocs

OpenAPI docs from real traffic

TypeScriptNode.jsOpenAPI

Get started on GitHub ↗

API documentation goes stale the moment it’s written by hand. EasyDocs takes the opposite approach: it watches the traffic your API actually serves and generates OpenAPI 3.0 specs from it, so the docs describe what the API does, not what you thought it did when you last touched the YAML.

Everything runs on your machine; there is no cloud service and no data leaves unless you choose a hosted AI provider (OpenAI, Anthropic, or DeepSeek). Point it at a local Ollama model and it works fully offline with no API key; that’s also the fallback when no key is set. Sensitive fields in captured traffic (passwords, tokens, emails, card numbers) are detected and redacted before anything reaches a hosted provider, on by default, and flagged in the docs.

Spec changes can also gate pull requests. easydocs diff compares two spec files and tags each change as breaking, additive, or non-breaking; a --fail-on flag turns it into a CI gate that exits non-zero on breaking changes. A GitHub Action wraps this and posts the diff as a sticky PR comment, updated in place on each push.

The adapters capture true route templates like /users/:id rather than the concrete URLs a proxy sees, which keeps the generated paths accurate. Open source, MIT licensed.

01

Add one line

Drop the middleware into your server, or route requests through the CLI proxy with zero code changes. No config files, no schema annotations.

02

It watches real traffic

Every request and response is captured and processed in the background; nothing blocks your requests. An AI model infers shapes, types, and status codes from what your API actually serves.

03

Get docs that reflect reality

Browse and edit specs in the dashboard, or export to JSON and YAML. Each endpoint keeps a version history with a field-level diff between any two versions.

Framework adapters

PackageFramework
@easydocs/expressExpress
@easydocs/fastifyFastify
@easydocs/honoHono
@easydocs/nestjsNestJS
@easydocs/nextjsNext.js (App Router + Pages Router)
@easydocs/h3h3 / Nitro / Nuxt
@easydocs/elysiaElysia (Bun)
@easydocs/trpctRPC
@easydocs/cliProxy + export (no framework needed)
EasyDocs dashboard showing a generated GET /users endpoint with parameters and a 200 response schemaEasyDocs dashboard showing a POST /orders endpoint with bearer security, request body and response schemaEasyDocs dashboard editing the raw OpenAPI JSON spec for the POST /orders endpoint