CLI Spec (v1)
Binary name: syncctl
Global
syncctl --helpsyncctl --versionsyncctl doctor- includes health score and actionable findings (locks/runs, source auth, recent failures, cache config)
- includes governance drift and workspace layout drift findings with remediation hints
CLI/TUI Parity Contract
- Top-level command-group parity is defined in
docs/reference/cli-tui-parity-matrix.yaml. - Human-readable parity reference is
docs/reference/cli-tui-parity-matrix.md. synctuicommand palette must expose everysyncctltop-level command group.- Parity is enforced by automated tests in
tests/integration/parity/.
Exit Codes
0: success1: runtime/operational failure (I/O, provider, state, install, update, etc.)2: usage/validation failure (unknown command/flag, missing required args/flags, invalid values)
Output Stability
- Human-readable success lines are stable and automation-friendly.
- Structured command outputs follow either:
key: valuelines (for detail/status commands), or- tab-separated records (for list/event style commands).
- Error output is always prefixed with
error:on stderr.
Source Management
syncctl source add github <source-id> [--account <name>] [--org <name>]syncctl source add azure <source-id> [--account <name>] [--org <name>]syncctl source remove <source-id>syncctl source listsyncctl source show <source-id>
Repo Management
syncctl repo add <path> [--remote origin] [--source-id <id>]syncctl repo clone <source-id> <repo-slug> [--into managed]syncctl repo remove <path>syncctl repo listsyncctl repo show <path>syncctl repo sync <path> [--dry-run]
Workspace
syncctl workspace showsyncctl workspace set-root <path>syncctl workspace layout checksyncctl workspace layout fix [--dry-run]
Sync Actions
syncctl sync all [--dry-run]syncctl sync repo <path> [--dry-run]
Daemon Control
syncctl daemon startsyncctl daemon stopsyncctl daemon restartsyncctl daemon statussyncctl daemon logs [--follow] [--limit N]
Configuration
syncctl config initsyncctl config showsyncctl config get <key>syncctl config set <key> <value>syncctl config validate
Credentials
syncctl auth login <source-id> [--token <pat>] [--force-fallback]syncctl auth test <source-id>syncctl auth logout <source-id>
Cache
syncctl cache showsyncctl cache refresh [providers|branches|all]syncctl cache clear [providers|branches|all]
Stats
syncctl stats show [--format kv|json|csv] [--source-id <id>] [--repo-path <path>] [--since <rfc3339>] [--until <rfc3339>]- includes repo/event counters and in-flight run count
syncctl events list [--limit N] [--format table|json|csv] [--source-id <id>] [--repo-path <path>] [--since <rfc3339>] [--until <rfc3339>]syncctl trace show <trace-id> [--limit N] [--format table|json|csv] [--source-id <id>] [--repo-path <path>] [--since <rfc3339>] [--until <rfc3339>]
Export behavior:
jsonandcsvoutputs are intended for compliance/audit pipelines.- Export output applies redaction-safe message formatting for common secret patterns.
- Time window filters are bounded and require RFC3339 timestamps.
State
syncctl state checksyncctl state backup --output <path> [--overwrite]syncctl state restore --input <path>
Install and Service
syncctl install --user|--systemsyncctl uninstall --user|--systemsyncctl service registersyncctl service unregister
Update
syncctl update checksyncctl update apply [--channel stable]