Problem
src/config/user.rs already defines load_user_config() and a UserConfig struct with an [abbreviations] table, but nothing in the CLI path ever calls it. The config file is effectively dead code — users can't put anything in ~/.config/diecut/config.toml and have it affect diecut behavior.
Several deferred features want persistent user preferences: git_protocol (from #131), named template bookmarks (#136), potentially others. A working config file is a prerequisite for those.
Proposed feature
- Actually invoke
load_user_config() during CLI startup
- Merge user config into the resolution pipeline
- Define precedence: CLI flag > env var > config file > built-in default
- Initial keys supported:
- Document location, schema, and precedence in the docs site
Acceptance criteria
Problem
src/config/user.rsalready definesload_user_config()and aUserConfigstruct with an[abbreviations]table, but nothing in the CLI path ever calls it. The config file is effectively dead code — users can't put anything in~/.config/diecut/config.tomland have it affectdiecutbehavior.Several deferred features want persistent user preferences:
git_protocol(from #131), named template bookmarks (#136), potentially others. A working config file is a prerequisite for those.Proposed feature
load_user_config()during CLI startupgit_protocol(from fix: default shortcodes to SSH and remove gh config protocol detection #131)[abbreviations](currently defined but unreachable — wire it up)Acceptance criteria
git_protocolkey honored in shortcode expansion[abbreviations]table honored in source resolution