What is docfy-ui
AI-first OpenAPI-documentatie-UI, companion-project van nestjs-docfy. Een strakke, moderne API-referentie met op elk endpoint een Copy for AI-knop.


Motivatie
De meeste OpenAPI-UI's zijn gebouwd voor mensen die een pagina scannen, precies het verkeerde formaat voor het andere publiek dat documentatie tegenwoordig leest: een LLM waar je context in plakt. De details van een endpoint kopiëren betekent meestal ruwe JSON grijpen (breedsprakig, vol $ref en ruis) of gerenderde HTML kopiëren (verliest de structuur).
Voorbeeld: Copy for AI
Eén klik op "Copy for AI" op hetzelfde endpoint:
text
## Create a user
POST /users
### Request
{
"name": "string",
"email": "string"
}
### Responses
201 Created (UserEntity)
400 Bad Request
### Validation
- name: required, minLength 2
- email: required, format emaildocfy-ui rendert deze tekst deterministisch uit hetzelfde OpenAPI-document dat elke Swagger UI al serveert, zonder extra annotaties en zonder backendwijzigingen.
Functies
- Copy for AI: elk endpoint krijgt in één klik een platte, LLM-klare samenvatting (doel, request, responses, validatieregels) in plaats van ruwe JSON.
- Copy OpenAPI: kopieert het gedereferentieerde, cyclusveilige JSON-fragment voor alleen het geselecteerde endpoint.
- Two-column endpoint view: documentatie links (parameters, responses, navigeerbare schemaboom), codevoorbeelden rechts (curl, JavaScript, Python, Go).
- Real-time search: filtert de sidebar op path/summary/operationId bij elke toetsaanslag, geen debounce, geen Enter-toets nodig.
- Dark/light theme: token-gedreven, wisselt direct zonder reload en zonder flits bij de eerste render.
- Zero backend coupling: haalt een OpenAPI 3.0/3.1 JSON-document client-side op; werkt met elke server die er een aanbiedt, niet alleen NestJS.
- Mobile-responsive: off-canvas drawer onder het
lg-breakpoint, getest op 375/390/768px. - Compare specs: plak twee spec-URL's en zie toegevoegde/verwijderde/gewijzigde endpoints, elk gemarkeerd als breaking of informatief.
- Multi-spec switcher: blader door meerdere services vanuit één instantie wanneer de host meer dan één spec configureert, anders volledig verborgen.

