Configuration
Locations
| Scope | Path |
|---|---|
| Global | ~/.config/git-gist/config.toml (macOS: ~/Library/Application Support/git-gist/config.toml) |
| Local | .gg.toml or .git-gist.toml (ancestors of cwd) |
| Ignore | .ggignore at search root |
| Cache | ~/.cache/git-gist/discovery.json |
Example file: examples/config.toml.
Schema
schema_version = 1 — bump with migrations documented in CHANGELOG.
Keys: root, depth, jobs, ignore, aliases, groups, tags, remotes, profiles, hook_packs, theme, include_submodules, repo_overrides, auto_enroll.
gg config show
gg config get depth
gg config set depth 8
gg alias add api ~/src/api
gg group add work api web
CLI overrides for one invocation: --root, --depth, -j, --theme, --include-submodules.
Auto-enroll
Declare watch folders; gg update creates aliases for newly discovered git repos and adds them to the listed groups/tags:
[[auto_enroll]]
path = "/home/you/src/learning"
depth = 6
tags = ["learning"]
[[auto_enroll]]
path = "/home/you/src/oss"
depth = 3
groups = ["oss"]
gg update --dry-run # preview
gg update # write aliases / groups / tags
gg --format json update
Notes:
- Existing aliases are left in place; missing group/tag membership is repaired.
- Alias names prefer the directory basename, then a path-derived name, then numeric suffixes on collision.
- Missing watch roots are skipped with a warning.
gg updatedoes not use--root/-iselection; it only follows[[auto_enroll]]rules.
Themes
theme = "default" | "mono" | "vivid" (or --theme on the CLI). Overview / sync / stale tables use semantic cell colors for dirty trees, stale ages (≥30d / ≥90d), and ahead/behind drift.