Skip to content

An extremely opinionated set of go modules to help keep some consistency between apps 🔬

License

Notifications You must be signed in to change notification settings

thisiserico/golib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

golib

An extremely opinionated set of modules

go.dev reference

🧐 Motivation

When kicking off a new project, often times engineers decide not to care about consistency, debuggability and other little details that are not completely necessary to "deliver". This set of modules provide exactly that: a way to keep things consistent without getting in your way.

At the same time, it provides an opinionated way on how certain elements should look like. Examples are the oops or logger packages, which expose a simpler interface from what we're used to.

👩‍💻 Provided modules

The halt package lets you handle graceful shutdowns.

The kv package lets you define key-value pairs to be used in multiple situations.

The logger package lets you log as you'd normally do, only a simplified contract is used.

The o11y package contains functionality that opentelemetry uses to ingest telemetry data.

The oops package lets you create contextual errors using a simplified contract.

The pubsub package lets you publish and subscribe to messages.

🥺 What's next

Existing packages are subject to change. Semantic versioning is used, backwards compatibility will be kept. Different concrete implementations or packages will be added when needed.

About

An extremely opinionated set of go modules to help keep some consistency between apps 🔬

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published