ubgo is in early alpha: libraries and APIs may still change.

Skip to content
ubgo Alpha

volt-api starter

The batteries-included Go backend starter, with schema-first GraphQL (gqlgen), Ent ORM, NATS JetStream events, typed config via cfgkit, OpenTelemetry, a Cobra CLI and cron workers in a go.work monorepo.

Clone the repo, then follow its README's short path:

task workvendor          # sync the go.work workspace
cp env.sample .env       # set PORT + deploy/config values
task dev                 # air hot reload (port from config/$PORT)
Language
Go
Go version
–
Core deps
–
Latest
main (no tagged release yet)
License
Apache-2.0
Go modules
8

Highlights from the README

  • Schema-first GraphQL — edit the .graphqls, run one task, and gqlgen regenerates resolvers with your Ent entity types auto-mapped. No hand-written marshaling.
  • Ent ORM — a typed schema with a shared BaseMixin, auto-migrations, and pgvector support.
  • Type-safe config — one Go file is the schema, the defaults and the validation; zero input is already valid, and secrets still come from the environment.
  • Event-driven — NATS JetStream handlers slot into the app bootstrap lifecycle, not import-time globals.
  • Observability on by default — OpenTelemetry tracing and structured logging with trace correlation, out of the box.
  • Separate binaries — independent API, cron, and CLI processes sharing one domain and a lace/ utility library, under a go.work monorepo.