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 ago.workmonorepo.