Skip to content

Repository files navigation

go-libs

License CI

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.

Installation

Install only the module you need:

go get github.com/devctllabs/go-libs/<module>@latest

Modules

Application foundations

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.

Operations and observability

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.

Health

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.

Data and infrastructure

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.

Codex integration

Module Description
codexapp A process-owning Go client for the Codex App Server JSONL JSON-RPC protocol. See its package guide.

Development

The repository pins its development tools with mise:

mise install
mise run lint
mise run test:race
mise run check-generated

Run the PostgreSQL integration suite separately when changing postgresdb or txmanager:

mise run postgresdb:test-integration

Releases

Modules 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.

License

Licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages