>
Programação & Web Cursor / Copilot

Gerador de Cliente TypeScript a partir de Spec OpenAPI

Script que lê uma spec OpenAPI (JSON/YAML) e gera um cliente TypeScript tipado com fetch, generics por endpoint e tratamento de erros.

EPEquipe Prompt Salvo ·Criado em 24 de set. de 2026 ·Atualizado em 24 de set. de 2026
0cópias
0joinhas
0favoritos

O prompt

Crie um gerador de SDK em TypeScript que lê uma especificação OpenAPI 3.x e produz um cliente tipado.

Parâmetros:
- Caminho da Spec (JSON ou YAML): {{caminho_spec}}
- Nome do Pacote Gerado: {{nome_pacote}}
- Base URL Default: {{base_url}}

Requisitos:
1. Ler a spec de {{caminho_spec}} (suporte a JSON e YAML) usando apenas dependências leves (ex.: yaml + openapi-types como tipos).
2. Para cada operação, gerar um método tipado no cliente: parâmetros path/query/header como argumentos, body tipado pelo schema, retorno Promise<T> com T derivado do response 200.
3. Agrupar métodos por tag da spec em namespaces (ex.: client.users.list(), client.orders.create()).
4. Cliente base com fetch: timeout configurável, headers padrão, serialização JSON e classe de erro ApiError { status, code, message } para respostas não-2xx.
5. Suporte a autenticação Bearer: construtor aceita token opcional injetado no header Authorization.
6. Gerar também um arquivo types.ts com todas as interfaces dos schemas reutilizados (sem duplicatas) e um README.md com exemplo de uso de 3 endpoints reais da spec.

Como usar

  1. Substitua {{caminho_spec}} (ex.: 'openapi.json'), {{nome_pacote}} (ex.: 'minha-api-client') e {{base_url}} (ex.: 'https://api.exemplo.com').
  2. Cole no Cursor/Copilot em uma pasta com package.json — o gerador + dependências são criados.
  3. Rode npm run generate: o SDK sai em src/generated/; importe { client } de lá e chame os métodos tipados.
  4. Quando a spec mudar, rode o generate novamente — o README gerado mostra 3 exemplos reais para conferir se a tipagem bateu.

Exemplo de saída

Pacote com generator.ts (~180 linhas) + saída em src/generated/: cliente agrupado por tag (client.users.list(), client.orders.create()), métodos com parâmetros path/query/header tipados e retorno Promise<T> derivado do schema 200, ApiError {status, code, message} para não-2xx, token Bearer opcional no construtor, types.ts sem duplicatas e README com 3 exemplos reais da spec.

Guias relacionados

Prompts para programação e revisão de códigoBoilerplate, refatoração e code review com auditoria de segurança: como pedir código que compila de primeira.Prompt chains: encadear prompts para tarefas complexasQuando um prompt não basta: decomponha o trabalho em etapas com saída de uma alimentando a entrada da outra.Segurança e privacidade ao usar IAs com dados pessoaisO que nunca colar em um chat de IA, como anonimizar dados sensíveis e o que a LGPD exige do seu fluxo.
Usar na extensão