blinklabs-io / blinklabs-io/dingoctl
Configuration system: types, profiles, env vars, config subcommand
- Dominant language
- Go
- Stars
- 1
- Forks
- 1
- Avg merge
- 6d 13h
- Merged PRs (30d)
- 9
Description
Configuration is currently minimal: Viper reads ~/.dingoctl.yaml but there are no typed config structs, no profile support, no env var mapping, and no config management subcommand.
Scope:
- Move config path to ~/.config/dingoctl/config.yaml (XDG-compliant)
- Typed config structs that validate on load
- Named profiles (e.g., default, preview, mainnet) selectable with --profile or DINGOCTL_PROFILE
- Per-profile fields: connect address, TLS settings, default timeout, output format
- Environment variable mapping (DINGOCTL_*) for every config field
- config subcommand: get, set, list, use, current
- Sensible defaults so a fresh install works without a config file
Acceptance:
- Profiles can be created, switched, and removed via the config subcommand
- Env vars override config file; flags override env vars
- Loading an invalid config produces a clear error pointing at the offending field
Contributor guide
Assessment
This issue has not been assessed yet.