
Sponge is a powerful and easy-to-use Go development framework. Built on the core philosophy of "Definition is Code", it aims to reshape the backend development experience through automatic generation technology, unleashing productivity and boosting development efficiency.
Sponge deeply integrates a code generation engine, Gin (Web framework), and gRPC (microservice framework), covering the full software lifecycle from project generation, development, and testing to API documentation and deployment.
Core Features:
RESTful API, gRPC, HTTP+gRPC, gRPC Gateway, etc.Sponge is suitable for building high-performance, maintainable backend systems, specifically for:
No installation required, experience the code generation feature directly in your browser: Code Generation
Note: If you need to run the downloaded service code locally, you must first complete the local installation of Sponge.
Install Sponge: Supports Windows, macOS, Linux, and Docker environments. View the Sponge Installation Guide.
Open the Code Generation UI Page
bash
sponge run
Access http://localhost:24631 in your local browser to generate code.

- Operation Process:
- **Fill Parameters**: Connect to the database and select tables in the UI.
- **Download Code**: Click generate and download the complete project package.
- **Generate Swagger Documentation**: Execute `make docs` in the project root directory.
- **Start Service**: Execute `make run`.
- **Test Interface**: Access `http://localhost:8080/swagger/index.html` in the browser to test APIs via the Swagger interface.
Sponge follows the "batteries included" principle, integrating 30+ mainstream Go ecosystem components, loaded on demand:
| Category | Component |
|---|---|
| Frameworks | Gin, gRPC |
| Database | GORM (MySQL, PostgreSQL, SQLite, etc.), MongoDB |
| Cache/Messaging | Redis, Kafka, RabbitMQ |
| Service Governance | Etcd, Consul, Nacos, Jaeger, Prometheus, OpenTelemetry |
| Others | DTM (Distributed Transaction), WebSocket, Swagger, PProf |
| ... | ... |
👉 View the complete list of tech stacks and components.
Sponge provides multiple code generation engines, supporting built-in templates, custom templates, and AI-assisted generation.



The code generated by Sponge follows a typical layered architecture with built-in service governance capabilities. The structure is clear and easy to maintain. The microservice framework structure of Sponge is shown below:

Based on tests with 50 concurrency and 1 million requests, services generated by Sponge demonstrate excellent performance:


👉 View detailed test code and environment.
The service code directory structure created by Sponge follows the project-layout, supporting Monolith, Multi-Repo, and Mono-Repo patterns.
1. Monolith / Multi-Repo Structure Details.
.
├── api # Directory for protobuf files and generated *pb.go files
├── assets # Directory for other assets used with the repository (images, logos, etc.)
├── cmd # Main application entry directory
├── configs # Directory for configuration files
├── deployments # Deployment scripts directory for bare metal, docker, k8s
├── docs # Directory for design documents and interface documentation
├── internal # Private application and library code directory
│ ├── cache # Cache directory wrapped based on business logic
│ ├── config # Go structure configuration file directory
│ ├── dao # Data access directory
│ ├── database # Database directory
│ ├── ecode # Custom business error code directory
│ ├── handler # HTTP business functionality implementation directory
│ ├── model # Database model directory
│ ├── routers # HTTP routing directory
│ ├── rpcclient # Client directory for connecting to gRPC services
│ ├── server # Service entry, including http, grpc, etc.
│ ├── service # gRPC business functionality implementation directory
│ └── types # HTTP request and response types directory
├── pkg # Library directory that can be used by external applications
├── scripts # Execution scripts directory
├── test # Additional external test applications and test data
├── third_party # Directory for dependent third-party protobuf files or other tools
├── Makefile # Collection of commands related to development, testing, and deployment
├── go.mod # Go module dependency and version control file
└── go.sum # Go module dependency checksum file
2. Mono-Repo Structure Details.
.
├── api
│ ├── server1 # Protobuf files and generated *pb.go directory for Service 1
│ ├── server2 # Protobuf files and generated *pb.go directory for Service 2
│ ├── server3 # Protobuf files and generated *pb.go directory for Service 3
│ └── ...
├── server1 # Code directory for Service 1, basically same structure as multi-repo
├── server2 # Code directory for Service 2, basically same structure as multi-repo
├── server3 # Code directory for Service 3, basically same structure as multi-repo
├── ...
├── third_party # Dependent third-party protobuf files
├── go.mod # Go module dependency and version control file
└── go.sum # Go module dependency checksum file
Click to view the Official Sponge Documentation, covering core content such as development guides, components, service configuration, and deployment solutions.
Issues and PRs are welcome! Contribution Guide.
If Sponge is helpful to you, please give it a ⭐ Star! This will be our motivation for continuous updates.
$ claude mcp add sponge \
-- python -m otcore.mcp_server <graph>