Configuration
gitrepoforge uses three configuration files at different levels to control behavior across a workspace.
Configuration Files Overview
| Configuration | File | Location | Purpose |
|---|---|---|---|
| Workspace Config | .gitrepoforge-config | Workspace root | Points to the config repo, defines exclude patterns, and configures Git automation. |
| Per-Repo Config | .gitrepoforge | Each managed repo root | Declares repo metadata and config values that feed into templates. |
| Config Repository | config/, outputs/, templates/ | Config repo directory | Contains shared config definitions, output rules, and template files. |
How They Work Together
workspace/
├── .gitrepoforge-config ← Workspace Config
├── config-repo/ ← Config Repository
│ ├── config/ Shared config definitions
│ ├── outputs/ Output rules
│ └── templates/ Template files
├── repo-a/
│ └── .gitrepoforge ← Per-Repo Config
├── repo-b/
│ └── .gitrepoforge ← Per-Repo Config
└── ...
- The Workspace Config (
.gitrepoforge-config) tells gitrepoforge where to find the config repo and which repos to exclude. - The Config Repository defines the allowed config keys, output file rules, and templates.
- Each Per-Repo Config (
.gitrepoforge) provides repo-specific values that are validated against the config definitions and used to render templates.