Skip to content

Remote Sync

Available

CutReady can sync your project with a GitHub remote repository, enabling backup, multi-device workflows, and team collaboration. Remote sync is entirely optional — solo users who don’t need it see zero additional UI.

  1. Open SettingsRepository tab
  2. Enter your remote URL (e.g., https://github.com/you/your-project.git)
  3. Choose an authentication method
  4. Click Test Connection to verify
MethodDescription
GitHub CLI (gh)Recommended. Uses your existing gh auth credentials
Personal Access TokenEnter a GitHub PAT with repo scope
SSH KeyUses Draftline remote support with your system SSH keys

Once a remote is configured, a Sync Bar appears in the Snapshots panel showing your connection status and sync state:

  • ↑ N unpublished — Local snapshots not yet pushed to remote
  • ↓ N incoming — Remote snapshots not yet pulled
  • Up to date — Local and remote are in sync
ButtonWhen it appearsWhat it does
SyncUnpublished + incomingPushes local, then pulls remote
PushOnly unpublishedSends local snapshots to remote
PullOnly incomingFetches remote snapshots
FetchAlwaysChecks for remote changes without applying them

Local timelines are just that — local. To share a timeline with collaborators or back it up to the remote:

  1. Switch to the timeline you want to publish
  2. The Sync Bar shows “Timeline ‘X’ is local only”
  3. Click Publish Timeline to push it as a remote branch

Once published, the timeline syncs like Main — push/pull/sync all work.

When pulling remote changes that conflict with your local work, CutReady opens the same Merge Conflict Panel used for timeline merging:

  • Remote changes appear as “theirs”
  • Your local changes appear as “ours”
  • Resolution works identically — keep yours, keep theirs, or edit

See Merging & Conflicts for the full conflict resolution workflow.

CutReady automatically fetches from the remote:

  • On project open — Checks for new remote changes immediately
  • Every 5 minutes — Periodic background fetch keeps counts fresh

Auto-fetch only downloads metadata — it doesn’t modify your local files. You always explicitly choose when to pull or sync.

For published non-main timelines, CutReady offers an Open Pull Request button that opens your browser to create a PR on GitHub. This integrates your CutReady workflow with standard GitHub collaboration.

CutReady works fully offline — all project data is local. When you’re offline:

  • Saving, branching, merging, and all local operations work normally
  • The Sync Bar shows a disconnected state
  • When connectivity returns, a simple Sync catches up

Remote sync uses a normal GitHub repository as the transport, but CutReady keeps the workflow at the Draftline level:

  • Snapshots are the user-facing unit of saved work, not commits.
  • Timelines are the user-facing unit of branching, not raw branch names.
  • Sync transfers Draftline-managed snapshots and timeline refs.
  • Runtime state stays local and is not pushed, including chat trajectories, locks, local UI state, and recording takes.

If you inspect the remote with Git tooling, you may see implementation details. Do not edit them by hand unless you are intentionally debugging Draftline storage.

CutReady uses progressive disclosure for remote features:

User TypeWhat They See
Solo (no remote)Just the Snapshots panel — Save, Discard, Navigate
Timelines (no remote)Timeline selector + graph, no sync UI
Collaborator (remote configured)Full Sync Bar + publishing + timeline sync

No git terminology appears in the default UI. CutReady uses “snapshots” not “commits”, “timelines” not “branches”, “publish” not “push”, and “sync” not “fetch/pull”.