Sync machines
Put your omp setup in a private git repo, and every machine that syncs it loads the same skills, agents, hooks and settings. This is rematch’s profile, not omp’s --profile.
What it holds and what stays per machine: the profile.
Set up
Section titled “Set up”-
Create a private, empty git repo anywhere (GitHub, a server, a USB disk).
-
On the first machine, create the profile and bring your setup in:
rematch profile init --remote git@github.com:you/omp-profile.git --adopt --text--adoptmoves kept entries and your hand-written skills and agents into the profile, and leaves a link where each was. omp loads them as before. -
On every other machine:
rematch profile init --remote git@github.com:you/omp-profile.git --textIt clones, links every skill, agent and hook into
~/.omp/agent/and~/.rematch/skills/, and adds the machine’s name toprofile.json. Add--adoptto bring that machine’s own skills in too.
- Hand-written skills become pinned entries: measured like any entry, never moved, replaced or retired by the loop.
- Without
--remotethe profile stays local. Add one later:git -C ~/.rematch/profile remote add origin <url>.
Add one more skill or agent
Section titled “Add one more skill or agent”rematch profile adopt ~/.agents/skills/scratchrematch profile adopt ~/.omp/agent/agents/reviewer.mdSyncing happens on its own: each omp process runs rematch profile sync in the background at its first session start. It is bounded to 8 s; offline, the session simply goes on. What it pulls loads in your next session.
A sync commits local changes as <machine> <time>, pulls with rebase, relinks, and pushes. By hand:
rematch profile sync --text # --no-push to only pull; --timeout <s> for the network part (default 10)To also sync on a timer (macOS):
rematch profile install-launchd --interval 300 --textlaunchctl load -w ~/Library/LaunchAgents/com.vncp.rematch.profile-sync.plistThe first command writes the plist and prints the launchctl load line; it never loads it for you. Output goes to ~/.rematch/profile-sync.log.
Pick models per machine
Section titled “Pick models per machine”profile/config/roles.yml is read before ~/.omp/agent/config.yml. Format: model roles.
rematch profile status --text # lists this machine's rolesResolve a conflict
Section titled “Resolve a conflict”When two machines changed the same file, the sync stops the rebase, leaves the repo clean at your local commit, and does not push. The digest says which files until you resolve it:
profile: 1 conflict(s) not synced (skills/hand-notes/SKILL.md); resolve with git -C ~/.rematch/profile pull --rebase, then rematch profile syncgit -C ~/.rematch/profile pull --rebase- Edit the file, then
git addit. git rebase --continuerematch profile sync
Check status
Section titled “Check status”rematch profile status --textShows branch, remote, ahead/behind as of the last fetch, uncommitted changes and conflicts.
Skills kept on another machine appear in library ls, loaded here but not counted:
kept (profile, from machine-a) skill run-tests-before-commit [profile] not counted on this machinerematch uninstall --yesKeeps ~/.rematch/profile/ (it is your repo), removes the links into it, and puts your hand-written skills and agents back in ~/.omp/agent/ as plain files.