Goa is an open-source ecosystem for building Go services and AI agents.
Define your contracts in Go and generate the code that follows from them. People and coding agents get less repetitive code to write, consistent interfaces to work with, and compiler feedback when contracts change.
Explore goa.design · Develop with a coding agent
Goa · Services and APIs
Generate HTTP, gRPC, and JSON-RPC servers, typed clients, validation, CLI clients, and API specifications from one design. Implement your business logic in Go.
Service quickstart · Documentation · Go reference
Goa-AI · AI agents
Build agents with typed tools, structured outputs, and durable workflows. Generate MCP servers or host a tool registry, using the same design-first approach.
Agent quickstart · Documentation · Go reference
Start with either framework. Connect them by reusing Goa types and binding agent tools to service methods.
Working with a coding agent? Install the Goa service designer skill to guide service design, generation, implementation, and verification.
| Project | Purpose |
|---|---|
| Examples | Working services that show Goa in practice. |
| Plugins | Extend Goa's code generation. |
| Clue | Observability and health checks for Go services, built on OpenTelemetry. |
| Pulse | Redis-backed event streaming, shared state, and distributed workers. |
| Model | Describe software architecture and generate C4 diagrams in Go. |
Questions, ideas, bug reports, and contributions are welcome.
GitHub Discussions · Gophers Slack #goa · Design First on Substack
Start contributing with the contributing guide and good first issues. See our code of conduct and Goa's MIT license.
Use incident.io to run incidents end-to-end, rapidly fix issues, and learn from them so your team can build more resilient products. Learn more |
Speakeasy helps teams create feature-rich, production-ready SDKs and improve API developer experience. Integrate with Goa |