Cliente de API multiplataforma e open source para GraphQL, REST, WebSockets, SSE e gRPC, com armazenamento local, no Git e na nuvem.
goadesign/goa
Framework Go com foco em design que gera serviços HTTP, gRPC e JSON-RPC, clientes e especificações OpenAPI/protobuf a partir de um único contrato em Go.
- Estrelas
- 6,122
- Forks
- 582
- Issues abertas
- 37
- Último commit
- há 4 dias
O que é?
Com o Goa, você descreve tipos, operações e regras de validação uma única vez em uma DSL em Go. A partir desse design, ele gera código de servidor e cliente para HTTP, gRPC e JSON-RPC, um cliente CLI, especificações OpenAPI e definições Protocol Buffer. Todos os transportes chamam a mesma interface de serviço gerada, mantendo a documentação da API alinhada ao código.
Os desenvolvedores escrevem apenas a lógica de negócio em seus próprios arquivos Go, fora do diretório gerado gen/. Ao alterar um campo ou uma regra de validação no design e gerar novamente o código, handlers, clientes, validações e especificações são atualizados em conjunto. O projeto também oferece uma skill para agentes de programação, que orienta alterações no design, geração e verificação.
O Goa também tem um projeto complementar, o Goa-AI, para criar agentes de IA e servidores MCP que reutilizam as mesmas definições de tipos.
Recursos principais
- 01Gera transportes HTTP, gRPC e JSON-RPC a partir de um único design em Go
- 02Gera automaticamente clientes Go, um cliente CLI e validação de requisições
- 03Gera especificações OpenAPI e definições Protocol Buffer
- 04Oferece suporte a streaming via WebSocket, SSE e streams gRPC
- 05Mantém o código de implementação separado do código gerado
Casos de uso
- Criar um microsserviço Go que precisa expor endpoints REST e gRPC
- Manter a documentação OpenAPI sincronizada com uma API em Go sem escrevê-la manualmente
- Permitir que agentes de programação alterem uma API editando um contrato tipado e gerando o código novamente
Início rápido
- 1
Instale o módulo Goa (requer Go 1.27.3 ou posterior)
go get goa.design/goa/v3@latest - 2
Gere o código do servidor e do cliente a partir do seu design
go run goa.design/goa/v3/cmd/goa gen hello/design - 3
Crie os arquivos iniciais do aplicativo
go run goa.design/goa/v3/cmd/goa example hello/design - 4
Execute o serviço na porta 8000
go run ./cmd/hello --http-port=8000
Antes de usar
- Requer Go 1.27.3 ou posterior.
- O uso de gRPC ou JSON-RPC requer a instalação do compilador Protocol Buffer e dos geradores de protobuf para Go. Na primeira execução, usar somente HTTP dispensa essas instalações.
Em coleções
Tópicos
Perguntas frequentes
- O que é goa?
- Framework Go com foco em design que gera serviços HTTP, gRPC e JSON-RPC, clientes e especificações OpenAPI/protobuf a partir de um único contrato em Go. Com o Goa, você descreve tipos, operações e regras de validação uma única vez em uma DSL em Go. A partir desse design, ele gera código de servidor e cliente para HTTP, gRPC e JSON-RPC, um cliente CLI, especificações OpenAPI e definições Protocol Buffer. Todos os transportes chamam a mesma interface de serviço gerada, mantendo a documentação da API alinhada ao código.
- goa é gratuito? Qual é a licença?
- goa é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- goa ainda é mantido?
- Manutenção ativa. O último commit de goa foi em 3 de nov. de 2026.
- Para que posso usar goa?
- Criar um microsserviço Go que precisa expor endpoints REST e gRPC Manter a documentação OpenAPI sincronizada com uma API em Go sem escrevê-la manualmente Permitir que agentes de programação alterem uma API editando um contrato tipado e gerando o código novamente
- Como instalar goa?
- Instale o módulo Goa (requer Go 1.27.3 ou posterior): go get goa.design/goa/v3@latest Gere o código do servidor e do cliente a partir do seu design: go run goa.design/goa/v3/cmd/goa gen hello/design Crie os arquivos iniciais do aplicativo: go run goa.design/goa/v3/cmd/goa example hello/design Execute o serviço na porta 8000: go run ./cmd/hello --http-port=8000
- Onde consigo goa?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/goadesign/goa
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Gateway de API e plataforma de gerenciamento PHP auto-hospedados que transformam bancos de dados e lógica de negócio em APIs REST, com suporte a MCP para agentes de IA.
Framework web Python para criar APIs com type hints padrão, validação automática, documentação OpenAPI e alto desempenho.
Gateway de API open source que faz proxy de serviços REST e SOAP e adiciona implantação de OpenAPI, conversão de WSDL para OpenAPI, segurança com OAuth2/JWT e validação de mensagens.
Plugin do protoc que gera um servidor proxy reverso para traduzir chamadas HTTP RESTful com JSON em requisições gRPC para serviços Go.
Cliente de API nativo e local-first para REST, gRPC, GraphQL e WebSocket, escrito em Go e com proxy de tráfego integrado.