https://github.com/go-sphere/sphere
Protobuf-first Go service framework for definition-driven development
https://github.com/go-sphere/sphere
code-generator gin go go-architecture go-sphere golang microservice monolithic-architecture protoc swagger telegram-bot telegram-bots web-framework
Last synced: 2 months ago
JSON representation
Protobuf-first Go service framework for definition-driven development
- Host: GitHub
- URL: https://github.com/go-sphere/sphere
- Owner: go-sphere
- License: mit
- Created: 2024-06-25T06:04:00.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2026-01-13T15:13:45.000Z (2 months ago)
- Last Synced: 2026-01-13T18:07:40.932Z (2 months ago)
- Topics: code-generator, gin, go, go-architecture, go-sphere, golang, microservice, monolithic-architecture, protoc, swagger, telegram-bot, telegram-bots, web-framework
- Language: Go
- Homepage: https://go-sphere.github.io
- Size: 2.76 MB
- Stars: 8
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Sphere
**Sphere** is a Protobuf-first Go service framework for definition-driven development. Define once, generate rapidly, and scale seamlessly from monolithic architecture to microservices.
## Core Components
### Protoc Code Generation Plugins
- [**`protoc-gen-sphere`**](https://github.com/go-sphere/protoc-gen-sphere) - Define HTTP services using proto3 and automatically generate Go server code
- [**`protoc-gen-route`**](https://github.com/go-sphere/protoc-gen-route) - Generate routing code for generic servers
- [**`protoc-gen-sphere-errors`**](https://github.com/go-sphere/protoc-gen-sphere-errors) - Define error types in proto3 and automatically generate error handling code
- [**`protoc-gen-sphere-binding`**](https://github.com/go-sphere/protoc-gen-sphere-binding) - Generate custom binding tags for Go structs (overcome proto3 limitations)
### HTTP Framework
- [**`httpx`**](./httpx) - Unified HTTP framework abstraction supporting popular Go HTTP frameworks (Gin, Fiber, Echo, Hertz, etc.)
### Tools and Libraries
- [**`sphere-cli`**](https://github.com/go-sphere/sphere-cli) - Project generation and management tool
- [**`confstore`**](./confstore) - Configuration management library
- [**`entc-extensions`**](./entc-extensions) - Ent ORM enhancement tools
## Project Templates
- [**`sphere-layout`**](https://github.com/go-sphere/sphere-layout) - Default template with Ent as ORM
- [**`sphere-simple-layout`**](https://github.com/go-sphere/sphere-simple-layout) - Simplified version
- [**`sphere-bun-layout`**](https://github.com/go-sphere/sphere-bun-layout) - Template with Bun as ORM
## Documentation
For complete documentation, visit [go-sphere.github.io](https://go-sphere.github.io)
- [Quick Start](https://go-sphere.github.io/docs/getting-started)
- [API Definitions](https://go-sphere.github.io/docs/guides/api-definitions)
- [Error Handling](https://go-sphere.github.io/docs/guides/error-handling)
- [Logging](https://go-sphere.github.io/docs/guides/logging)
## License
MIT License. See [LICENSE](LICENSE) for details.