goadesign/goa

Design-first Go framework that generates API code, documentation, and clients. Define once in an elegant DSL, deploy as HTTP and gRPC services with zero...

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 13 minutes ago
Added to GitGenius on September 11th, 2026
Created on December 5th, 2014
Open Issues & Pull Requests: 39 (+0)
GitHub issues: Enabled
Number of forks: 583
Total Stargazers: 6,100 (+0)
Total Subscribers: 146 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.3 days
Mean response time: 17.4 days
90th percentile: 28.8 days
Tracked items: 69

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 96% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 16% of issues opened in the past year have been closed. Three people close 88% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 23
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 611 days
Stale 30+ days: 23
Stale 90+ days: 22

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • no-issue-activity (3)
  • enhancement (1)
  • help wanted (1)
  • wontfix (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Goa is a design-first Go framework that generates API code, documentation, and clients from a single declarative specification.

The core problem Goa addresses is the divergence between API specifications, implementation code, and documentation that occurs when these are maintained separately. The framework solves this through a design-first approach: developers write their API specification in Goa's DSL, and the framework generates all supporting artifacts from that single source of truth. This includes HTTP and gRPC service implementations, OpenAPI documentation, and client libraries. By generating code rather than requiring manual synchronization, Goa eliminates drift between specification and reality.

Goa suits teams building microservices or APIs in Go who want to enforce consistency between design and implementation. It is particularly valuable when you need to support multiple protocols—the framework can generate both HTTP and gRPC services from the same design. The design-first workflow appeals to organizations that prioritize API contracts and documentation as first-class concerns. Teams should adopt Goa if they are willing to learn its DSL and commit to defining APIs before writing implementation code; it is less suitable for projects where the implementation already exists and needs to be retrofitted into a specification.

Development on Goa shows sustained activity with regular commits addressing bug fixes, feature additions, and maintenance across the codebase. The project maintains comprehensive documentation and examples that support new users in adopting the framework. Pull requests receive timely review and feedback from maintainers. The test suite is actively maintained and expanded as new functionality is added. Issue triage is consistent, with maintainers engaging with user questions and bug reports. The project demonstrates a commitment to backward compatibility while evolving the DSL and code generation capabilities.