Browse docs

Git, diffs & commits

How thread work is saved to its branch each turn and how to inspect changed files.

darting is git-native. Each thread works on its own branch, and the end-of-turn pipeline commits uncommitted changes there. With a repository connected, it also pushes that branch; before a project's first Ship it, the branch history lives in the thread's sandbox. You don't need a separate save button for a completed turn, and saving a turn does not merge it into the default branch. Shipping is a separate publish action.

Review the files that changed

Open a changed file from the thread's Changes view or click a file path in a write action in the transcript to jump to its diff. Tool headers show the file's path, not just a bare filename; if the header must shorten it to fit, hover for the full path. The viewer keeps the file and its branch-aware changes together.

For a changed file, use the Diff / Full file toggle. Diff shows the changed hunks in context, with added and removed lines and word-level highlights within paired lines. Full file shows the complete current file, with marks on changed lines, so you can read the surrounding code without leaving the viewer. An unchanged file opens directly as a full file.

Group files for review

Changes are grouped into Code, Tests, Docs, Tooling, and Derived so you can separate application changes from tests, configuration, and regenerated output. Derived files include build output, generated code, source maps, and test snapshots.

Team managers can adjust Project Settings → File categories using one glob per line, relative to the repository root. Prefix a pattern with ! to exclude files from that category. Matching runs in this order: Derived, Tests, Tooling, Docs; unmatched files are Code. Click away from a list to save, or use Reset to defaults to undo the project's custom patterns.

Work in your own editor

If you prefer a local review, fetch the thread's actual branch name and open it in your editor's source-control tools. New branch names use agent-swarm/<slug>-<short-id> or agent-swarm/t-<short-id>; substitute the full branch name for THREAD_BRANCH:

git fetch origin THREAD_BRANCH
git checkout THREAD_BRANCH

Cursor and VS Code can then show side-by-side diffs. Your local checkout is optional: the branch and its commits already exist without it.

From a commit to a PR

A turn-end commit saves work to the thread branch. It does not open a PR, merge into main, or deploy the app. Ship it handles the publish step: it syncs with the default branch, opens a PR for a GitHub-backed project, follows checks, and can merge when you arm auto-merge. The merge queue handles overlapping PRs; update from main explains how a branch stays current. A project whose repository is stored by darting ships directly to main rather than opening a GitHub PR.