diff --git a/TODO b/TODO index f0ae4ab..00a6d22 100644 --- a/TODO +++ b/TODO @@ -242,3 +242,22 @@ Description: Add a new sub-package byteb4rb1e.utils.saas.forgejo, supporting the needed in CI (no SSH host keys on the Woodpecker runner). The wrapper SHOULD expose both, either as ssh_clone_url and https_clone_url, or a single clone_url(..., scheme="ssh"|"https"). + +--ISSUE +Content-Type: application/issue +ID: 19 +Type: feature +Title: config framework with CLI integration +Status: open +Priority: medium +Created: 2026-06-06 +Relationships: +Description: Add byteb4rb1e.utils.config: INI-backed config dataclasses where a + dataclass is the single source of truth for settings, with three + layers (field defaults, INI file sections, CLI overrides). Includes + INI loading/writing (load_ini, ensure_ini, ensure_ini_multi, + format_section), per-flag CLI integration (add_config_arguments, + apply_cli_overrides), dotted-path overrides via a unified --config + KEY=VALUE flag (apply_overrides, format_help), and the companion + argparse KeyValueAction (byteb4rb1e.utils.argparse.actions) that + accumulates KEY=VALUE pairs into a dict.