BarnDog

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.

PathContents
config.yamlYour harnesses, server connection, and Skill selections. You can edit this.
credentials.jsonYour sign-in credential for each server. Private (mode 0600). Don't share it.
state.jsonWhich 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.lockExists only while a sync is running.

config.yaml

barndog init creates this file. Installing or connecting to a server adds the rest.

~/.barndog/config.yaml
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
FieldDescription
version1 for local-only configurations, 2 once connected to a server. Version 1 files keep working.
harnessesWhich harnesses BarnDog manages: any of claude, codex, cursor.
connectionThe server, organization, and developer this machine is connected to. Written by init or install.
skillsYour 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.

On this page