Make consumer documentation easier to follow

This commit is contained in:
2026-11-01 19:04:48 +00:00
parent e74c26a4b3
commit 6db441893d
12 changed files with 1065 additions and 399 deletions

22
doc.go
View File

@@ -1,9 +1,17 @@
// Package configkit provides deterministic, application-owned configuration
// loading for Go programs.
// Package configkit loads YAML into an application's Go configuration type and
// lets the application inspect where the final values came from.
//
// Load supports file, byte, reader, and explicit no-input sources with strict YAML,
// typed defaults, imports, overlays, CLI overrides, schema-version checks, detached
// metadata, recorded application resolution, typed secret references, safe effective
// rendering, read-only semantic validation, and structured load errors. The
// configuration contract is documented in docs/config.md.
// Start with Load and a File, Bytes, Reader, Mapping, or Filesystem.File source.
// Use NoSource for deliberately absent input or SearchConfig for an explicitly
// chosen search. Applications supply types, defaults, version rules, and callbacks
// for deriving and validating values. LoadLayered adds lower-priority input groups.
//
// A successful load returns the final configuration and saved inspection state.
// Metadata tracks supplied values, including false and zero; explanations retain
// safe earlier values. WriteEffective and Diff use the saved state even if the
// application later changes Result.Config. Secret references resolve credentials
// during loading, while inspection follows the configured hiding rules.
//
// The consumer guide is in docs/consumers/README.md. The exact YAML, combination,
// lifecycle, and ownership rules are documented in docs/config.md.
package configkit