What is docfy-ui

UI de documentação OpenAPI AI-first, companion project do nestjs-docfy. Uma referência de API lean e moderna com um botão Copy for AI em cada endpoint.

docfy-ui endpoint detail: request/response, Copy for AI, Copy OpenAPI, and multi-language snippets

Motivação

A maioria das UIs de OpenAPI é feita para humanos varrendo uma página, o que é o formato errado para a outra audiência que lê documentação hoje: um LLM em que você está colando contexto. Copiar detalhes de um endpoint normalmente significa pegar JSON cru (verboso, cheio de $ref e ruído) ou copiar HTML renderizado (perde a estrutura).

Exemplo: Copy for AI

Um clique em "Copy for AI" no mesmo 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 email

docfy-ui renderiza esse texto deterministicamente do mesmo documento OpenAPI que qualquer Swagger UI já serve, sem anotações extras, sem mudanças no backend.

Features

  • Copy for AI: cada endpoint ganha um resumo em texto puro, LLM-ready, num clique (purpose, request, responses, validation rules) em vez de JSON cru.
  • Copy OpenAPI: copia o fragmento JSON dereferenciado e cycle-safe apenas do endpoint selecionado.
  • Two-column endpoint view: documentação à esquerda (parâmetros, responses, schema tree navegável), snippets de código à direita (curl, JavaScript, Python, Go).
  • Real-time search: filtra a sidebar por path/summary/operationId a cada tecla, sem debounce, sem tecla Enter.
  • Dark/light theme: token-driven, alterna instantaneamente sem reload e sem flash no primeiro paint.
  • Zero backend coupling: busca um documento OpenAPI 3.0/3.1 JSON client-side; funciona com qualquer servidor que exponha um, não só NestJS.
  • Mobile-responsive: drawer off-canvas abaixo do breakpoint lg, auditado em 375/390/768px.
  • Compare specs: cole duas URLs de spec e veja endpoints adicionados/ removidos/alterados, cada um marcado como breaking ou informativo.
  • Multi-spec switcher: navegue entre vários serviços numa única instância quando o host configura mais de um spec, ficando totalmente oculto caso contrário.
  • Deep-linking into a schema: Faça deep-link direto para uma propriedade aninhada do schema com um hash de URL (ex.: #response-200/address/city) — expande e rola até ela automaticamente. Cada linha também tem um botão "copy link" no hover pra copiar a URL exata daquela propriedade.
docfy-ui real-time endpoint search (⌘K)