Expand description
Configuration management for grove.
Grove uses a layered configuration system:
-
Global config (
~/.config/grove/config.toml) — The project registry. Maps project names to repository paths, with optional database and hooks config. -
Repo config (
.grove/config.tomlin the repository root) — Per-repo defaults for database URLs, hooks, and environment variables. Committed to the repo so all contributors share the same base config. -
Environment variables (
~/.config/grove/envs/) — Per-project and per-worktree env var overrides stored outside the repo. Worktree values override project values, which override repo defaults.
Structs§
Enums§
Functions§
- config_
dir 🔒 - config_
path 🔒 - env_
path 🔒 - envs_
dir 🔒 - export_
merged_ env - load_
merged_ env - merge_
project - resolve_
main_ 🔒repo_ from_ dot_ git_ file - Resolve a git worktree’s
.gitfile to find the main repository root. - resolve_
main_ 🔒repo_ from_ jj_ workspace - Resolve a jj workspace’s
.jj/reposymlink to find the main repository root. - resolve_
project - Resolve a project by explicit name or auto-detection from cwd.
Returns
(name, project, repo_env_vars). - resolve_
project_ for_ path - Resolve a project for a filesystem path (used by env export).
Returns
(name, project, worktree_name, repo_env_vars). - shell_
escape 🔒 - worktree_
env_ 🔒path
Type Aliases§
- Resolved
Project ForPath - Resolved project info for a filesystem path.