Files
ConfigKit/README.md

1.2 KiB

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, then report domain errors and warnings through read-only semantic validation. Composition, profiles, overrides, secrets, and rendering are still under development.

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 describes implemented behavior. The initial target design describes planned behavior. The implementation plan owns the pending stages. See the development guide for repository orientation.