gaal.yaml is the entire user-facing surface of gaal. Everything else, commands, audit, planning, rendering, exists to read this file and reconcile it against your filesystem.
File location
gaal looks for the configuration file in this order:- The path passed to
--config, if any. gaal.yamlin the current working directory.~/.config/gaal/config.yaml(user scope)./etc/gaal/config.yaml(system scope).
Top-level keys
gaal.yaml
Every key is independent. A file with only
skills: is a valid gaal.yaml and a sync only touches skills.
A complete example
gaal.yaml
Validate before sync
Two ways to check agaal.yaml is well-formed:
IDE auto-completion
gaal schema writes the JSON Schema for gaal.yaml. Drop it into your editor and you get inline validation and completion as you type:
gaal schema for VS Code and JetBrains setup.