Reference
External dependencies
Every underlying library, its version, its role, and its official documentation, grouped by category.
Following the "centralize, don't abstract" principle, the kit doesn't hide the libraries underneath it: their types flow freely through the public API. This page is the full inventory: what the kit uses, at what version, in which package, and where its official documentation lives. For a pattern-level breakdown, see Design patterns.
Versions reflect the kit's
go.mod at the time of writing. A generated project's own go.mod follows go mod tidy: mise run upgrade (kit side) and go get -u (project side) bump them.HTTP engines
| Dependency | Version | Role | Kit package | Docs |
|---|---|---|---|---|
| gofiber/fiber/v3 | v3.3.0 | fasthttp-based web framework | server/fiberx | docs.gofiber.io |
| gofiber/contrib/v3/otel | v1.2.0 | Fiber OTel middleware | server/fiberx | github.com/gofiber/contrib |
| go-chi/chi/v5 | v5.3.0 | net/http-based router | server/chix | github.com/go-chi/chi |
| go-chi/cors | v1.2.2 | CORS middleware for chi | server/chix | github.com/go-chi/cors |
| go.opentelemetry.io/contrib/.../otelhttp | v0.69.0 | net/http OTel instrumentation | server/chix | opentelemetry-go-contrib |
Validation, configuration, pagination
| Dependency | Version | Role | Kit package | Docs |
|---|---|---|---|---|
| go-playground/validator/v10 | v10.30.3 | struct-tag-based validation | validate | github.com/go-playground/validator |
| caarlos0/env/v11 | v11.4.1 | env var → struct parsing | envconf | github.com/caarlos0/env |
| joho/godotenv | v1.5.1 | .env file loading | envconf | github.com/joho/godotenv |
| none | none | offset and cursor pagination (no 3rd-party dependency) | paginate | none |
Database
| Dependency | Version | Role | Kit package | Docs |
|---|---|---|---|---|
| jackc/pgx/v5 | v5.10.0 | PostgreSQL driver + connection pool | dbx/pg | github.com/jackc/pgx |
| exaring/otelpgx | v0.11.1 | OTel tracer over the pgx pool | dbx/pg | github.com/exaring/otelpgx |
| uptrace/bun | v1.2.18 | SQL-first query builder | dbx/bunx | bun.uptrace.dev |
| uptrace/bun/dialect/pgdialect | v1.2.18 | bun PostgreSQL dialect | dbx/bunx | bun.uptrace.dev |
| uptrace/bun/extra/bunotel | v1.2.18 | bun OTel query hook | dbx/bunx | bun.uptrace.dev |
| sqlc | optional, project-side | SQL → typed Go code generator; the dbx/pg.DBTX interface is compatible with it | none | sqlc.dev |
| pressly/goose | in the generated project | SQL migrations | cmd/migrate | github.com/pressly/goose |
Security
| Dependency | Version | Role | Kit package | Docs |
|---|---|---|---|---|
| golang-jwt/jwt/v5 | v5.3.1 | JWT signing and verification | auth | github.com/golang-jwt/jwt |
Async processing
| Dependency | Version | Role | Kit package | Docs |
|---|---|---|---|---|
| hibiken/asynq | v0.26.0 | Redis-backed distributed task queue | queue, worker | github.com/hibiken/asynq |
| redis/go-redis/v9 | v9.21.0 | Redis client | queue, scheduler (lease) | redis.uptrace.dev |
| golang.org/x/sync | v0.22.0 | errgroup and friends | internal concurrency in events/worker | pkg.go.dev/golang.org/x/sync |
Observability
| Dependency | Version | Role | Kit package | Docs |
|---|---|---|---|---|
| go.opentelemetry.io/otel | v1.44.0 | OTel API (trace, metrics) | otelx | opentelemetry.io/docs/languages/go |
go.opentelemetry.io/otel/sdk (+/metric) | v1.44.0 | OTel SDK implementation | otelx | opentelemetry.io/docs/languages/go |
go.opentelemetry.io/otel/sdk/log, /log | v0.20.0 | OTel logs SDK/API (pre-1.0, which is why the kit isolates it behind otelx) | otelx | opentelemetry.io/docs/languages/go |
| go.opentelemetry.io/contrib/bridges/otelslog | v0.19.0 | slog → OTel log bridge | otelx | opentelemetry-go-contrib |
| go.opentelemetry.io/contrib/exporters/autoexport | v0.69.0 | env-driven exporter selection (OTEL_TRACES_EXPORTER etc.) | otelx | opentelemetry-go-contrib |
| getsentry/sentry-go | v0.47.0 | error reporting, breadcrumbs | sentryx | docs.sentry.io/platforms/go |
getsentry/sentry-go/otel (+/otlp) | v0.47.0 | Sentry span exporter wired into the OTel tracer provider | sentryx | docs.sentry.io/platforms/go |
Storage and mail
| Dependency | Version | Role | Kit package | Docs |
|---|---|---|---|---|
aws/aws-sdk-go-v2 (+config, credentials, service/s3) | v1.42.0 / v1.32.25 / v1.19.24 / v1.103.3 | S3-compatible object storage client | storage/s3 | aws.github.io/aws-sdk-go-v2 |
| go.opentelemetry.io/contrib/.../otelaws | v0.69.0 | AWS SDK OTel instrumentation | storage/s3 | opentelemetry-go-contrib |
| wneessen/go-mail | v0.8.1 | SMTP client | mail/smtp | github.com/wneessen/go-mail |
| Boostport/mjml-go | v0.16.0 | MJML → HTML compilation (WASM, mjml.io language) | mail/mjml | github.com/Boostport/mjml-go |
CLI and codegen
| Dependency | Version | Role | Used by | Docs |
|---|---|---|---|---|
| spf13/cobra | v1.10.2 | CLI command tree | cmd/gpsystem, internal/cli | cobra.dev |
| oapi-codegen/oapi-codegen/v2 | v2.8.0 | OpenAPI → Go server code generator | the generated project's go tool; the kit's own Fiber v3 templates | github.com/oapi-codegen/oapi-codegen |
| golang.org/x/tools | v0.47.0 | goimports, formatting generated files | internal/generator | pkg.go.dev/golang.org/x/tools |
| gopkg.in/yaml.v3 | v3.0.1 | gpsystem.yaml manifest serialization | internal/generator | pkg.go.dev/gopkg.in/yaml.v3 |
| @typespec/compiler, http, openapi, openapi3 | 1.10.0 (npm, in the generated project) | API contract spec language → OpenAPI 3.0 compilation | spec/typespec/** | typespec.io/docs |
| google/uuid | v1.6.0 | UUID generation | events/queue/scaffold | github.com/google/uuid |
Dev tooling
| Tool | Role | Docs |
|---|---|---|
| mise | toolchain pinning (Go, Node) + task runner (build, test, lint, e2e, ...) | mise.jdx.dev |
| golangci-lint (v2 schema) | static analysis, mise run lint | golangci-lint.run |
commitlint (@commitlint/config-conventional) | Conventional Commits enforcement in the gpsystem repo | commitlint.js.org |
| RustFS | S3-compatible object store for dev/compose (instead of MinIO) | rustfs.com |
| mailpit | SMTP trap for dev/compose | github.com/axllent/mailpit |
| PostgreSQL 17 (alpine image) | dev database in compose.yml | hub.docker.com/_/postgres |
| Redis 7 (alpine image) | queue/scheduler backend in compose.yml | hub.docker.com/_/redis |
Where to next
- The design patterns behind these dependencies (why
storage.Storeorsentryxis a wrapper and the rest aren't) are covered in Design patterns. - Every package's environment variables are listed on Configuration.