Document Duration wrapper type usage

- config package doc: explain Duration fields, TOML format, env vars
- duration.go: expanded godoc with access pattern examples
- README: show .Duration access in quick start

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 15:39:14 -07:00
parent 96d420ac82
commit 9e98eb0a21
3 changed files with 33 additions and 2 deletions

View File

@@ -5,6 +5,24 @@
// the standard sections (Server, Database, MCIAS, Log). Use [Load] to
// parse a TOML file, apply environment overrides, set defaults, and
// validate required fields.
//
// # Duration fields
//
// Timeout fields in [ServerConfig] use the [Duration] type rather than
// [time.Duration] because go-toml v2 does not natively decode strings
// (e.g., "30s") into time.Duration. Access the underlying value via
// the embedded field:
//
// cfg.Server.ReadTimeout.Duration // time.Duration
//
// In TOML files, durations are written as Go duration strings:
//
// read_timeout = "30s"
// idle_timeout = "2m"
//
// Environment variable overrides also use this format:
//
// MCR_SERVER_READ_TIMEOUT=30s
package config
import (