Small cores
The core module has no third-party dependencies, so importing it adds nothing to your go.sum.
ubgo is an ecosystem for building Go apps, in the spirit of the components Laravel ships for caching, logging and configuration. Every piece is its own Go module, so a service imports only what it uses. The main libraries share one shape, a small core with adapters outside it and a shared test suite, so learning one teaches you the next.
go get github.com/ubgo/<name>
or press Ctrl K to jump to any library
Pick a library to see its real core and the modules that plug into it.
Counted from the public repos' go.mod files and contrib/ folders.
ubgo is not one framework you adopt whole. It is a set of Go modules that follow the same rules.
contrib/ folders, so an integration's dependencies stay out of your build until you import it. For example errx, logger and health.cachetest), cache-obj (objtest), cfgkit (cfgkittest), sqlb (sqlbtest): a backend counts only when its tests run the suite.New: Volt
ubgo libraries are the parts your code runs on. Volt is the layer on top: the volt tool scaffolds a CLI, runs the CI gate, builds for every platform and makes releases it checks after publishing, and its kit modules give a CLI the parts every CLI needs.
brew install khanakia/tap/volt3 · Your app
A CLI, a library or a service
2 · Volt tooling
voltkit →The Volt tool
Kit modules you import
Real link: voltkit's versioncmd module requires ubgo/buildinfo in its go.mod.
The ones most services reach for first.
One structured error type with stable identity, class, redactable fields, return traces and a wire codec.
Adapter-based, slog-native structured logging with sampling, redaction, OpenTelemetry and rotation.
The core cache interface with generics, single-flight Remember, a distributed locker and a shared conformance suite.
Typed config from env, .env, JSON, YAML, TOML, flags and secret stores into one validated struct.
Typed SQL builder with compile-checked columns and joins, Postgres and ClickHouse packages and a driver conformance suite.
Generates typed GraphQL client SDKs for Go and TypeScript with compile-checked field selection.
Thread-safe health and readiness registry with k8s-style probes, framework adapters and ready-made checkers.
Go crypto with safe defaults (AES-GCM, ChaCha20-Poly1305, argon2id, HMAC, Ed25519, key rotation), byte-compatible with crypt-ts.
Finds the sentences in your docs that stopped being true when the code they describe changed.
True for the libraries named under each one, as their READMEs state. Not a promise for every repo.
The core module has no third-party dependencies, so importing it adds nothing to your go.sum.
Integrations (frameworks, OpenTelemetry, drivers, secret stores) ship as separate modules, so you only download what you import.
A family's contract is a test suite that every backend runs, so backends behave the same.
One cache interface with in-memory, Redis, Postgres, Memcached, tiered and cluster backends.
SQL building, JSON column types, IDs and locks.
Helpers and code generation for gqlgen and the ent ORM.
HTTP calls, health checks, graceful shutdown and build info.
More libraries are on the way.