Sync Configuration Guide
Version: 1.0.0 For: SpecWeave v0.24.0 and later
Overview
SpecWeave automatically syncs your work across three levels:
- Living Docs (internal documentation)
- Specs (feature/module specifications)
- External Tools (GitHub, JIRA, Azure DevOps)
Control WHAT syncs and WHEN using permission-based configuration.
Quick Start
Default Configuration (Recommended)
{
"sync": {
"settings": {
"canUpsertInternalItems": true,
"canUpdateExternalItems": true,
"autoSyncOnCompletion": true
},
"github": { "enabled": true }
}
}
Result: Living docs + GitHub issues update automatically when you complete work.
Permission Settings
canUpsertInternalItems
Controls living docs creation and updates.
true: Living docs sync automaticallyfalse: NO sync (read-only mode)
canUpdateExternalItems
Controls pushing changes TO external tools.
true: SpecWeave can update GitHub/JIRA/ADOfalse: External tools remain read-only
autoSyncOnCompletion
Controls automatic vs manual sync.
Default: true (automatic sync enabled)
true(default): Sync happens automatically on/specweave:donefalse: Requires manual/specweave-github:synccommand
canUpdateStatus
Controls status field updates in external tools.
true: Can mark issues as "closed"false: Comment-only (preserves status)
Common Scenarios
Full Auto-Sync (Greenfield)
{
"sync": {
"settings": {
"canUpsertInternalItems": true,
"canUpdateExternalItems": true,
"autoSyncOnCompletion": true
},
"github": { "enabled": true }
}
}
Manual Sync (Staged Releases)
{
"sync": {
"settings": {
"canUpsertInternalItems": true,
"canUpdateExternalItems": true,
"autoSyncOnCompletion": false
}
}
}
Workflow: Complete increment � Review docs � Manual sync when ready
Read-Only External
{
"sync": {
"settings": {
"canUpsertInternalItems": true,
"canUpdateExternalItems": false
}
}
}
Result: Import from external tools, never push back.
Troubleshooting
"Living docs sync BLOCKED"
Fix: Set canUpsertInternalItems = true in config.json
"Automatic sync DISABLED"
Option 1: Set autoSyncOnCompletion = true
Option 2: Run /specweave-github:sync manually
"GitHub sync SKIPPED"
Fix: Set github.enabled = true in config.json
Best Practices
- New projects: Enable all permissions
- Sensitive projects: Use manual mode (
autoSyncOnCompletion = false) - Multi-tool: Enable only your primary tool
- Test first: Use
--dry-runbefore enabling auto-sync
Reference
See .specweave/docs/internal/architecture/hld-permissions.md for technical architecture details.