Skip to content

Configuration

Forge uses YAML configuration files at two levels:

  • Project: .crucible/forge.config.yaml (in your repo)
  • Global: ~/.crucible/forge.config.yaml (user-wide defaults)

Project config overrides global config.

assistants:
- claude-code
- cursor
sources:
- name: team-skills
type: git
url: [email protected]:myorg/ai-skills.git
# Assistants to sync to
assistants:
- claude-code
- cursor
- windsurf
- copilot
- cline
# Sources to fetch from
sources:
- name: team-skills
type: git
url: [email protected]:myorg/ai-skills.git
branch: main # default: main
layout: auto # auto | canonical | pre-structured
include: # glob patterns to include
- 'skills/**'
- 'rules/**'
exclude: # glob patterns to exclude
- '**/*.test.md'
map: '' # virtual directory prefix
- name: local-rules
type: local
path: ~/my-rules
# Sync behavior
sync:
sourceConflict: last-wins # last-wins | first-wins | error
localConflict: remote-wins # remote-wins | local-wins | error
backup: true # create .bak when overwriting local changes
keepLocal: true # keep files removed from source
# Scheduler
scheduler:
schedule: '*/30 * * * *' # cron expression (default: every 30 min)
# Telemetry
telemetry:
enabled: false # opt-in anonymous usage tracking
Field Required Default Description
name yes Identifier for this source
type yes Must be git
url yes SSH or HTTPS git URL
branch no main Branch to fetch
layout no auto Layout detection mode
include no Glob patterns to include
exclude no Glob patterns to exclude
map no Virtual directory prefix
Field Required Default Description
name yes Identifier for this source
type yes Must be local
path yes Path on disk (supports ~)
layout no auto Layout detection mode
include no Glob patterns to include
exclude no Glob patterns to exclude
map no Virtual directory prefix

When multiple sources produce the same target path:

Strategy Behavior
last-wins Last source in the list wins (default)
first-wins First source in the list wins
error Fail the sync with an error

When a locally modified file also changed remotely:

Strategy Behavior
remote-wins Overwrite local with remote (default), creates .bak if backup is on
local-wins Keep local changes, skip remote update
error Fail the sync with an error