BarnDog

barndog sync

Bring every selected harness in line with your configuration and the latest published versions.

barndog sync

Installs your enabled assets into your selected harnesses and follows newly published versions.

barndog sync
OptionDescription
--config <path>Use a different configuration file for this run. See below.

Sync works from any directory. It always reads ~/.barndog/config.yaml unless you pass --config.

What it does

  1. Reads your selections and fetches the catalog from your server, if you're connected.
  2. Downloads and validates every package it needs, before changing anything.
  3. Adds, updates, or removes links in each selected harness.
  4. Prints what changed, grouped by harness.
BarnDog sync

  Installed  Claude Code ~/.claude/skills/code-review
  Unchanged  Codex       ~/.agents/skills/code-review
  Removed    Cursor      ~/.cursor/skills/old-skill

Sync complete. 1 installed, 1 removed, 1 unchanged
Restart your harness to pick up the changes.

Running sync twice in a row is safe. The second run reports everything as unchanged.

Safety

Sync only manages what it created, and it stops instead of overwriting:

  • If a package can't be downloaded or doesn't validate, nothing is changed.
  • If something BarnDog didn't create sits where a link should go, sync stops.
  • If a link BarnDog created was replaced, sync stops.
  • If you edited a downloaded package in the cache, sync stops so your edits aren't lost.

Network and sign-in failures keep your settings and installed files as they were.

Only one sync runs at a time per user. If a sync is killed partway, you may see an error about ~/.barndog/sync.lock. Delete that folder only after checking that no other sync is running.

Using another configuration file

barndog sync --config /absolute/path/config.yaml

The file must include version, harnesses, and skills. It replaces your selections for this run only, and it doesn't change ~/.barndog/config.yaml. It uses the same installation state as normal syncs.

Offline use

If your configuration only contains Skills from local folders, sync works without a server or a sign-in.

On this page