As a developer of ContextVibes CLI, I want to extend internal/config/config.go and related config handling so that new state (projectState.*) and AI collaboration preferences (ai.collaborationPreferences.*) can be robustly loaded, saved, and merged with defaults in .contextvibes.yaml.
This enables the kickoff command to manage its state and user preferences.
Related Epic: #EPIC_ISSUE_NUMBER
Acceptance Criteria:
internal/config/config.go:
Config struct includes ProjectState and AISettings (with AICollaborationPreferences).
GetDefaultConfig() initializes these new structs/fields with sensible defaults.
MergeWithDefaults() correctly merges these new nested structs, prioritizing user-defined values.
UpdateAndSaveConfig() successfully saves the updated config structure to .contextvibes.yaml.
- Unit tests in
internal/config/config_test.go cover:
- Default values for new fields.
- Correct merging of new fields.
- Successful saving and loading of new fields.
- An initial
.contextvibes.yaml (or update existing sample) is created in the contextvibes/cli repo root for dogfooding/testing, including placeholders/examples for the new sections.
As a developer of ContextVibes CLI, I want to extend
internal/config/config.goand related config handling so that new state (projectState.*) and AI collaboration preferences (ai.collaborationPreferences.*) can be robustly loaded, saved, and merged with defaults in.contextvibes.yaml.This enables the
kickoffcommand to manage its state and user preferences.Related Epic: #EPIC_ISSUE_NUMBER
Acceptance Criteria:
internal/config/config.go:Configstruct includesProjectStateandAISettings(withAICollaborationPreferences).GetDefaultConfig()initializes these new structs/fields with sensible defaults.MergeWithDefaults()correctly merges these new nested structs, prioritizing user-defined values.UpdateAndSaveConfig()successfully saves the updated config structure to.contextvibes.yaml.internal/config/config_test.gocover:.contextvibes.yaml(or update existing sample) is created in thecontextvibes/clirepo root for dogfooding/testing, including placeholders/examples for the new sections.