Configuration system — TOML loading & defaults #3
Labels
No labels
area:config
area:contracts
area:engine
area:eventsourcing
area:frontend
area:git
area:ipc
area:persistence
area:provider
area:scaffold
area:terminal
type:user-story
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/peon#3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
User story
As a user launching forge-agent for the first time, I want the application to load configuration from
~/.config/forge-agent/config.toml(creating a sensible default if absent), so that I can customize provider paths, terminal mode, git signature, and keybindings.Acceptance criteria
Config structs
AppConfigtop-level struct with sections:general,providers,terminal,git,keybindingsGeneralConfigwithdata_dir(default~/.local/share/forge-agent)ProvidersConfigwithclaude_code_pathandcodex_path(both optional, auto-detected if empty)TerminalConfigwithmodeenum (Embedded,Kitty,Foot,Auto) andEmbeddedTerminalConfig(font_family, font_size, scrollback_lines)GitConfigwithcommit_name,commit_email,auto_checkpoint: boolkeybindingsasHashMap<String, String>for user overridesLoading logic (
load_config())~/.config/forge-agent/config.tomlif it existsinclude_str!from adefault_config.tomlfileAppConfigor a clear error on parse failuredata_dirpath with~is expanded to actual home directoryDefault config file
default_config.tomlmatches the template in spec §13 exactlyTests
Out of scope
References
Dependencies
main