A configuration management tool for your Go project. Takes care of generating the configuration files and loaders.
By adding //go:generate gonfigen -type=Config
to your configuration struct (where Config
is the name of said struct) and then running go generate
you will get a cmd/gonfig/gonfig.go
command which is used to (non)interactively create and manage a config file (gonfig.toml
by default) by creating it either directly from the struct itself or from a template distributed with your project. You will also get a gonfig_loaders.go
generated in your main package, containing the LoadConfig()
method.
This is the most simplest usage as both gonfigen and gonfig have more flags/customization options that will get documented in time.
- show types (--show-types?)
- load from env (json/xml?)
- readme
- tests
- heavy heavy refactor