Files
ConfigKit/README.md

31 lines
1.1 KiB
Markdown

# ConfigKit
An opinionated Go library for applications that use YAML configuration files.
ConfigKit is in early implementation. Its current loader accepts one strict YAML
source (or explicit defaults-only input), applies typed defaults, optionally checks
an application schema version, and returns detached metadata and safe diagnostics.
Applications may perform audited defaulting and normalization through a resolver.
Composition, profiles, semantic validation, overrides, secrets, and rendering are
still under development.
```go
type Config struct {
Enabled bool `yaml:"enabled"`
Workers int `yaml:"workers"`
}
func ReadConfig(path string) (Config, error) {
result, err := configkit.Load[Config](configkit.File(path))
if err != nil {
return Config{}, err
}
return result.Config, nil
}
```
The [configuration contract](docs/config.md) describes implemented behavior. The
[initial target design](docs/roadmap/initial.md) describes planned behavior.
The [implementation plan](docs/roadmap/implementation.md) owns the pending stages.
See the [development guide](docs/development.md) for repository orientation.