Write the rules
Edit global/AGENTS.md, merge it to master, and pull.gap sync only publishes merged rules.
Illustration: one large dithered disc of text, lit on its upper left rim in the accent colour, fully on screen with space around it.
Write your policy once. gap sync copies it into the file each agent already reads.
Go 1.25 or newer, plus git. Node is only needed for extra skills in global/skills.json.
One rules file, global/AGENTS.md. gap sync copies it into the file each agent already reads.
Edit global/AGENTS.md, merge it to master, and pull.gap sync only publishes merged rules.
Copies your rules into every agent's file and installs any listed skills that are missing.
gap status shows each component's pin and any skill drift. It writes nothing and exits 1 on drift.
Sync never moves a skill pin. Only gap pin <id>@<ref> changesgap.lock.
Drift is a signal, not a crash. gap status writes nothing and exits 1 on drift.
It asks before it changes a file it did not write. In a shell with no terminal, it printsRefusing to replace foreign file, skips that file, publishes the rest, and exits 1.