// the find
go-dev-frame/sponge
A powerful and easy-to-use Go development framework that enables you to effortlessly build stable, reliable, and high-performance backend services with a "low-code" approach.
Sponge is a Go code-generation framework that scaffolds full backend services (CRUD, routing, gRPC/HTTP layers, docs, deployment configs) from SQL, protobuf, or JSON definitions, then optionally uses an AI assistant to fill in business logic. It's aimed at Go teams who want a standardized project skeleton across monolith, microservice, and mono-repo setups without hand-rolling the same layered structure every time.
The generation engine is real, not just claimed: the tree has actual .tpl/.exp template pairs driving dao/handler/service/router output, plus custom protoc plugins (protoc-gen-go-gin, protoc-gen-go-rpc-tmpl) rather than relying solely on third-party ones. It covers a wide combination matrix — HTTP-only, gRPC-only, gRPC-gateway, mixed HTTP+gRPC — with working example projects for each under cmd/, so you can see what you're actually getting before committing. Component list is broad and swappable (MySQL/Postgres/SQLite/Mongo, Redis/Kafka/RabbitMQ, etcd/consul/nacos, Jaeger/Prometheus/OTel) rather than hard-locking you to one stack. Active project — pushes as recent as Dec 2025, CI, goreportcard, codecov all wired up.
This is a project skeleton generator, not a library — once you generate code you own thousands of lines of boilerplate, and diverging from the standard layered structure means fighting the templates instead of using them. The AI-assisted business logic feature is described in marketing terms in the README ("AI-Native", "Infrastructure Automation, Business Intelligence") with no detail on what guardrails exist around what it writes into your service layer — worth reading cmd/sponge/commands/assistant directly before trusting it on anything real. Support and docs skew toward the Chinese-language original (README is a translation, community links point to a WeChat group), which may be a friction point if you need fast answers in English. Generated tests cover scaffolded CRUD, not the business logic you write into the gaps, so test coverage looks better in the repo stats than it will in your actual service.