[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10248":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":16,"starSnapshotCount":16,"syncStatus":36,"lastSyncTime":37,"discoverSource":38},10248,"goa","goadesign\u002Fgoa","goadesign","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 drift between code and docs.","https:\u002F\u002Fgoa.design",null,"Go",6083,584,144,30,0,4,9,3,39.3,"MIT License",false,"v3",[25,26,27,5,28,29,30,31,32],"api","code-generation","go","golang","microservices","openapi","rest","swagger","2026-06-12 02:02:19","\u003Cp align=\"center\">\n  \u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fgoa.design\">\n      \u003Cimg alt=\"Goa\" src=\"https:\u002F\u002Fgoa.design\u002Fimg\u002Fsocial\u002Fgoa-banner.png\">\n    \u003C\u002Fa>\n  \u003C\u002Fp>\n  \u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgoadesign\u002Fgoa\u002Freleases\u002Flatest\">\u003Cimg alt=\"Release\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Fgoadesign\u002Fgoa.svg?style=for-the-badge\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fpkg.go.dev\u002Fgoa.design\u002Fgoa\u002Fv3@v3.26.0\u002Fdsl?tab=doc\">\u003Cimg alt=\"Go Doc\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fgodoc-reference-blue.svg?style=for-the-badge\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgoadesign\u002Fgoa\u002Factions\u002Fworkflows\u002Fci.yml\">\u003Cimg alt=\"GitHub Action: Test\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fgoadesign\u002Fgoa\u002Ftest.yml?branch=v3&style=for-the-badge\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgoreportcard.com\u002Freport\u002Fgithub.com\u002Fgoadesign\u002Fgoa\">\u003Cimg alt=\"Go Report Card\" src=\"https:\u002F\u002Fgoreportcard.com\u002Fbadge\u002Fgithub.com\u002Fgoadesign\u002Fgoa?style=for-the-badge\">\u003C\u002Fa>\n    \u003Ca href=\"\u002FLICENSE\">\u003Cimg alt=\"Software License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-brightgreen.svg?style=for-the-badge\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgurubase.io\u002Fg\u002Fgoa\">\u003Cimg alt=\"Gurubase\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGurubase-Ask%20Goa%20Guru-006BFF?style=for-the-badge\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fchat.openai.com\u002Fg\u002Fg-mLuQDGyro-goa-design-wizard\">\u003Cimg alt=\"Goa Design Wizard\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGoa%20Design%20Wizard-ChatGPT-00A67D?logo=openai&logoColor=white&style=for-the-badge\">\u003C\u002Fa>\n    \u003C\u002Fbr>\n    \u003Ca href=\"https:\u002F\u002Fgoadesign.substack.com\">\u003Cimg alt=\"Substack: Design First\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDesign%20First-Substack-FF6719?logo=substack&logoColor=white&style=for-the-badge\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgophers.slack.com\u002Fmessages\u002Fgoa\">\u003Cimg alt=\"Slack: Goa\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGoa-Slack-4A154B?logo=slack&logoColor=white&style=for-the-badge\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fbsky.app\u002Fprofile\u002Fgoadesign.bsky.social\">\u003Cimg alt=\"Bluesky: Goa Design\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGoa%20Design-Bluesky-0285FF?logo=bluesky&logoColor=white&style=for-the-badge\">\u003C\u002Fa>\n  \u003C\u002Fp>\n\u003C\u002Fp>\n\n\u003C!-- Removed card; Wizard is now a badge button above -->\n\n# Goa - Design First, Code With Confidence\n\n## Overview\n\nGoa transforms how you build APIs and microservices in Go with its powerful design-first approach. Instead of writing boilerplate code, you express your API's intent through a clear, expressive DSL. Goa then automatically generates production-ready code, comprehensive documentation, and client libraries—all perfectly aligned with your design.\n\nThe result? Dramatically reduced development time, consistent APIs, and the elimination of the documentation-code drift that plagues traditional development.\n\n## Sponsors\n\n\u003Ctable width=\"100%\">\n    \u003Ctr>\n        \u003Ctd>\n            \u003Cimg width=\"1000\" height=\"0\" \u002F>\n            \u003Ca href=\"https:\u002F\u002Fwww.incident.io\">\n                \u003Cimg src=\"docs\u002Fincidentio.png\" alt=\"incident.io\" width=\"260\" align=\"right\" \u002F>\n            \u003C\u002Fa>\n            \u003Ch3>incident.io: Bounce back stronger after every incident\u003C\u002Fh3>\n            \u003Cp>\n                Use our platform to empower your team to run incidents end-to-end. Rapidly fix and\n                learn from incidents, so you can build more resilient products.\n            \u003C\u002Fp>\n            \u003Ca href=\"https:\u002F\u002Fincident.io\">Learn more\u003C\u002Fa>\n        \u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>\n            \u003Cimg width=\"1000\" height=\"0\" \u002F>\n            \u003Ca href=\"https:\u002F\u002Fwww.speakeasy.com\u002Feditor?utm_source=goa+repo&utm_medium=github+sponsorship\">\n                \u003Cimg src=\"docs\u002Fspeakeasy.png\" alt=\"Speakeasy\" width=\"260\" align=\"right\" \u002F>\n            \u003C\u002Fa>\n            \u003Ch3>Speakeasy: Enterprise DevEx for your API\u003C\u002Fh3>\n            \u003Cp>\n                Our platform makes it easy to create feature-rich production ready SDKs.\n                Speed up integrations and reduce errors by giving your API the DevEx it deserves.\n            \u003C\u002Fp>\n            \u003Ca href=\"https:\u002F\u002Fwww.speakeasy.com\u002Fdocs\u002Fapi-frameworks\u002Fgoa?utm_source=goa+repo&utm_medium=github+sponsorship\">Integrate with Goa\u003C\u002Fa>\n        \u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## Why Goa?\n\nTraditional API development suffers from:\n- **Inconsistency**: Manually maintained docs that quickly fall out of sync with code\n- **Wasted effort**: Writing repetitive boilerplate and transport-layer code\n- **Painful integrations**: Client packages that need constant updates\n- **Design afterthoughts**: Documentation added after implementation, missing key details\n\nGoa solves these problems by:\n- Generating 30-50% of your codebase directly from your design\n- Ensuring perfect alignment between design, code, and documentation\n- Supporting multiple transports (HTTP, gRPC, and JSON-RPC) from a single design\n- Maintaining a clean separation between business logic and transport details\n\n## Key Features\n\n- **Expressive Design Language**: Define your API with a clear, type-safe DSL that captures your intent\n- **Comprehensive Code Generation**:\n  - Type-safe server interfaces that enforce your design\n  - Client packages with full error handling\n  - Transport layer adapters (HTTP\u002FgRPC\u002FJSON-RPC) with routing and encoding\n  - OpenAPI\u002FSwagger documentation that's always in sync\n  - CLI tools for testing your services\n- **Multi-Protocol Support**: Generate HTTP REST, gRPC, and JSON-RPC endpoints from a single design\n- **Clean Architecture**: Business logic remains separate from transport concerns\n- **Enterprise Ready**: Supports authentication, authorization, CORS, logging, and more\n- **Comprehensive Testing**: Includes extensive unit and integration test suites ensuring quality and reliability\n\n## How It Works\n\n```\n┌─────────────┐     ┌──────────────┐     ┌─────────────────────┐\n│ Design API  │────>│ Generate Code│────>│ Implement Business  │\n│ using DSL   │     │ & Docs       │     │ Logic               │\n└─────────────┘     └──────────────┘     └─────────────────────┘\n```\n\n1. **Design**: Express your API's intent in Goa's DSL\n2. **Generate**: Run `goa gen` to create server interfaces, client code, and documentation\n3. **Implement**: Focus solely on writing your business logic in the generated interfaces\n4. **Evolve**: Update your design and regenerate code as your API evolves\n\n## Quick Start\n\n```bash\n# Install Goa\ngo install goa.design\u002Fgoa\u002Fv3\u002Fcmd\u002Fgoa@latest\n\n# Create a new module\nmkdir hello && cd hello\ngo mod init hello\n\n# Define a service in design\u002Fdesign.go\nmkdir design\ncat > design\u002Fdesign.go \u003C\u003C EOF\npackage design\n\nimport . \"goa.design\u002Fgoa\u002Fv3\u002Fdsl\"\n\nvar _ = Service(\"hello\", func() {\n    Method(\"say_hello\", func() {\n        Payload(func() {\n            Field(1, \"name\", String)\n            Required(\"name\")\n        })\n        Result(String)\n\n        HTTP(func() {\n            GET(\"\u002Fhello\u002F{name}\")\n        })\n    })\n})\nEOF\n\n# Generate the code\ngoa gen hello\u002Fdesign\ngoa example hello\u002Fdesign\n\n# Build and run\ngo mod tidy\ngo run cmd\u002Fhello\u002F*.go --http-port 8000\n\n# In another terminal\ncurl http:\u002F\u002Flocalhost:8000\u002Fhello\u002Fworld\n```\n\nThe example above:\n1. Defines a simple \"hello\" service with one method\n2. Generates server and client code\n3. Starts a server that logs requests server-side (without displaying any client output)\n\n### JSON-RPC Alternative\n\nFor a JSON-RPC service, simply add a `JSONRPC` expression to the service and\nmethod:\n\n```go\nvar _ = Service(\"hello\" , func() {\n    JSONRPC(func() {\n        Path(\"\u002Fjsonrpc\")\n    })\n    Method(\"say_hello\", func() {\n        Payload(func() {\n            Field(1, \"name\", String)\n            Required(\"name\")\n        })\n        Result(String)\n\n        JSONRPC(func() {})\n    })\n}\n```\n\nThen test with:\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:8000\u002Fjsonrpc \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"jsonrpc\":\"2.0\",\"method\":\"hello.say_hello\",\"params\":{\"name\":\"world\"},\"id\":\"1\"}'\n```\n\n## Documentation\n\nOur documentation site at [goa.design](https:\u002F\u002Fgoa.design) provides comprehensive guides and references:\n\n- **[Introduction](https:\u002F\u002Fgoa.design\u002Fdocs\u002F1-introduction\u002F)**: Understand Goa's philosophy and benefits\n- **[Getting Started](https:\u002F\u002Fgoa.design\u002Fdocs\u002F2-getting-started\u002F)**: Build your first Goa service step-by-step\n- **[Tutorials](https:\u002F\u002Fgoa.design\u002Fdocs\u002F3-tutorials\u002F)**: Learn to create REST APIs, gRPC services, and more\n- **[Core Concepts](https:\u002F\u002Fgoa.design\u002Fdocs\u002F4-concepts\u002F)**: Master the design language and architecture\n- **[Real-World Guide](https:\u002F\u002Fgoa.design\u002Fdocs\u002F5-real-world\u002F)**: Follow best practices for production services\n- **[Advanced Topics](https:\u002F\u002Fgoa.design\u002Fdocs\u002F6-advanced\u002F)**: Explore advanced features and techniques\n\nUsing a coding agent with Goa? See [`skills\u002F`](skills\u002F) for reusable Agent Skills that help agents follow Goa's design-first workflow in application repositories.\n\n##  Real-World Examples\n\nThe [examples repository](https:\u002F\u002Fgithub.com\u002Fgoadesign\u002Fexamples) contains complete, working examples demonstrating:\n\n- **Basic**: Simple service showcasing core Goa concepts\n- **Cellar**: A more complete REST API example\n- **Cookies**: HTTP cookie management\n- **Encodings**: Working with different content types\n- **Error**: Comprehensive error handling strategies\n- **Files & Upload\u002FDownload**: File handling capabilities\n- **HTTP Status**: Custom status code handling\n- **Interceptors**: Request\u002Fresponse processing middleware\n- **Multipart**: Handling multipart form submissions\n- **Security**: Authentication and authorization examples\n- **Streaming**: Implementing streaming endpoints (HTTP, WebSocket, JSON-RPC SSE)\n- **Tracing**: Integrating with observability tools\n- **TUS**: Resumable file uploads implementation\n\n## Community & Support\n\n- Join the [#goa](https:\u002F\u002Fgophers.slack.com\u002Fmessages\u002Fgoa\u002F) channel on Gophers Slack\n- Ask questions on [GitHub Discussions](https:\u002F\u002Fgithub.com\u002Fgoadesign\u002Fgoa\u002Fdiscussions)\n- Follow us on [Bluesky](https:\u002F\u002Fgoadesign.bsky.social)\n- Report issues on [GitHub](https:\u002F\u002Fgithub.com\u002Fgoadesign\u002Fgoa\u002Fissues)\n- Find answers with the [Goa Guru](https:\u002F\u002Fgurubase.io\u002Fg\u002Fgoa) AI assistant\n- Subscribe to our Substack, “Design First”: [Design First](https:\u002F\u002Fgoadesign.substack.com\u002Fsubscribe?params=%5Bobject%20Object%5D)\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n","Goa 是一个设计优先的 Go 语言框架，用于生成 API 代码、文档和客户端。其核心功能是通过一种优雅的领域特定语言（DSL）定义 API，然后自动生成 HTTP 和 gRPC 服务代码以及相关文档，确保代码与文档之间的一致性。Goa 支持 OpenAPI 和 RESTful 风格，并且可以轻松集成到微服务架构中。适用于需要快速开发高质量 API 并保持文档与实现同步的场景。",2,"2026-06-11 03:27:27","top_topic"]