Skip to content

Kickoff: Implement Configuration Foundation #9

@duizendstra

Description

@duizendstra

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions