Configuration files
What the CLI stores under ~/.barndog/ and what each file is for.
Everything lives under ~/.barndog/ and belongs to your user on this machine. The directory you run a command from never changes which configuration is used.
| Path | Contents |
|---|---|
config.yaml | Your harnesses, server connection, and Skill selections. You can edit this. |
credentials.json | Your sign-in credential for each server. Private (mode 0600). Don't share it. |
state.json | Which links BarnDog created. Don't delete it. |
packages/ | Downloaded copies of published Skills. |
workspaces/ | Records for your working copies, including conflict state and snapshots. |
sync.lock | Exists only while a sync is running. |
config.yaml
barndog init creates this file. Installing or connecting to a server adds the rest.
version: 2
harnesses: [claude, codex, cursor]
connection:
server: https://barndog.example.com
organizationId: 10000000-0000-4000-8000-000000000001
developerId: 10000000-0000-4000-8000-000000000002
skills:
# A published Skill, installed with `barndog skills install`
- kind: api
id: 20000000-0000-4000-8000-000000000001
enabled: true
# A Skill from a folder on this machine
- kind: local
id: 729b9d5a-4a8c-4aa7-9b8d-975a55ac373e
source: ./skills/my-skill
enabled: true| Field | Description |
|---|---|
version | 1 for local-only configurations, 2 once connected to a server. Version 1 files keep working. |
harnesses | Which harnesses BarnDog manages: any of claude, codex, cursor. |
connection | The server, organization, and developer this machine is connected to. Written by init or install. |
skills | Your Skill selections. enabled: false keeps a Skill selected but removes it from your harnesses. |
For kind: local entries, source can be absolute, or relative to the configuration file. See Use a Skill from a local folder.
state.json
This file records which links and entries BarnDog owns, so sync never touches anything it didn't create. If you delete it, sync treats its own old links as unmanaged and refuses to replace them. Keep it.
packages/
Published Skills are downloaded here, partitioned by server, organization, developer, Skill, and version. Harness links point into this folder. Don't edit these files: sync detects local edits and stops. To change a Skill, pull a working copy.