go-libs is a monorepo of focused Go modules for building and operating services. Each
top-level module is versioned independently with tags named <module>/vX.Y.Z.
Install only the module you need:
go get github.com/devctllabs/go-libs/<module>@latest| Module | Description |
|---|---|
config |
Ordered, composable configuration loaders for defaults, files, dotenv data, and environment variables. |
di |
A small, type-safe dependency container with explicit resource ownership and shutdown. |
lifecycle |
Coordination for long-running tasks and graceful shutdown. |
| Module | Description |
|---|---|
debugserver |
A standalone HTTP server for Go pprof endpoints. |
log |
Production JSON zap logger construction without global logger state. |
telemetry |
Instance-owned OpenTelemetry trace and metric providers for Go services. |
| Module | Description |
|---|---|
health |
Transport-neutral liveness and readiness probes. |
healthotel |
OpenTelemetry metrics for health check observations. |
healthserver |
OpenAPI-generated Echo endpoints for liveness and readiness probes. |
healthzap |
Structured zap logging for health check failures and recoveries. |
| Module | Description |
|---|---|
filesystem |
Rooted filesystem operations that compose with the standard io/fs package. |
oapivalidator |
OpenAPI request validation middleware for Echo. |
postgresdb |
Instrumented pgx reader and writer pools for PostgreSQL. |
sqlitedb |
Instrumented SQLite reader and writer endpoints. |
txmanager |
Shared transaction boundaries for services and database adapters. |
| Module | Description |
|---|---|
codexapp |
A process-owning Go client for the Codex App Server JSONL JSON-RPC protocol. See its package guide. |
The repository pins its development tools with mise:
mise install
mise run lint
mise run test:race
mise run check-generatedRun the PostgreSQL integration suite separately when changing postgresdb or txmanager:
mise run postgresdb:test-integrationModules are released independently. Release notes are generated on demand and tags follow the
<module>/vX.Y.Z convention. See RELEASING.md for the release process and module
dependency order.
Licensed under the MIT License.