Layered Configuration

Configuration is managed through grove.yml files located at multiple levels. Settings are merged in a specific order, allowing project-level configurations to override more general ones.

The merge order is as follows:

  1. Global: ~/.config/grove/grove.yml
  2. Ecosystem: grove.yml at the root of an ecosystem.
  3. Project: grove.yml at the root of a specific project.

Each tool defines its own configuration block within these files (e.g., flow:, context:, gemini:).

For example, a project can specify a different model than the global default:

yaml
# In ~/.config/grove/grove.yml
gemini:
  model: "gemini-1.5-flash"
yaml
# In ~/path/to/project/grove.yml
gemini:
  model: "gemini-1.5-pro" # Overrides the global setting for this project