Consumer Sync Guide¶
This guide covers syncing BaseCoat assets into a consumer repository and keeping them up to date.
What gets synced¶
The sync script copies all distributable assets to .github/base-coat/ in your repo:
agents/— all agent definition filesskills/— all skill directoriesinstructions/— all instruction filesprompts/— prompt templatesversion.json— version metadata
Files that are not synced: test scripts, CI workflows, internal tooling, docs/.
Sync commands¶
# Sync latest release (from main)
$env:BASECOAT_REPO = 'https://github.com/IBuySpy-Shared/basecoat.git'
.\sync.ps1
# Sync a specific version tag
$env:BASECOAT_REPO = 'https://github.com/IBuySpy-Shared/basecoat.git'
$env:BASECOAT_REF = 'v3.25.0'
.\sync.ps1
# Sync to a custom target directory
$env:BASECOAT_REPO = 'https://github.com/IBuySpy-Shared/basecoat.git'
$env:BASECOAT_TARGET_DIR = '.github/my-basecoat'
.\sync.ps1
# Sync latest release (from main)
BASECOAT_REPO=https://github.com/IBuySpy-Shared/basecoat.git ./sync.sh
# Sync a specific version tag
BASECOAT_REPO=https://github.com/IBuySpy-Shared/basecoat.git \
BASECOAT_REF=v3.25.0 ./sync.sh
# Sync to a custom target directory
BASECOAT_REPO=https://github.com/IBuySpy-Shared/basecoat.git \
BASECOAT_TARGET_DIR=.github/my-basecoat ./sync.sh
Checking your version¶
Automating upgrades¶
Add the callable drift-detection workflow to get automatic issue notifications when a new BaseCoat version is available. See Getting Started.
Naming convention¶
BaseCoat uses two names intentionally:
| Name | Used for |
|---|---|
basecoat |
GitHub repo, internal scripts, environment variables (BASECOAT_*) |
base-coat |
Distributed artifact, sync target (.github/base-coat/), version.json, release archives |
See ADR-001 for full details.
See also¶
- BaseCoat Config (.basecoat.yml) — full field reference for sync and memory sweep configuration
- Make It Your Own — customization levels from zero-config to full fork