gaal is local-only today. There is no server, no central registry, no push-from-the-cloud. Cross-machine consistency is your responsibility, and the cleanest way to deliver it is the same way you sync your shell config: a dotfiles repo.Documentation Index
Fetch the complete documentation index at: https://docs.getgaal.com/llms.txt
Use this file to discover all available pages before exploring further.
The pattern
- Create (or use your existing) dotfiles repository.
- Put your user-scope
config.yamlin there. - Optionally put per-project
gaal.yamlfiles in the repos they describe. - On every machine, after cloning, symlink the user file and run
gaal sync.
Repo layout
Bootstrap script
Per-project workspace files
A workspacegaal.yaml overrides the user file for the things it specifies. Use this for codebase-specific setup that should live with the repo:
gaal sync gets the project-specific MCP server and skills, on top of whatever’s in their personal user-scope config.
Pulling latest
The dotfiles approach degrades gracefully:- Pull your dotfiles repo (
git pullfrom the workflow you already have). - Run
gaal sync.
git pull.
What not to put in a shared gaal.yaml
- Anything secret. See Environment & secrets.
- Per-machine absolute paths (e.g.
args: [mcp-server-filesystem, /Users/me/...]). Use~/...so it works for anyone. telemetry:, workspace files can’t set it anyway. See Scopes.