blinklabs-io / blinklabs-io/dingoctl

Configuration system: types, profiles, env vars, config subcommand

Open
#2 0 comments 0 reactions 1 assignee Claimed by @jkawan View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.