Git, diffs & Commit Thread
Reviewing agent work and integrating it with Commit Thread.
darting.dev is git-native. Everything an agent does lands as commits on a branch, so review and integration use tools you already trust.
Reviewing changes
The Code tab is branch-aware. Selecting a thread points the file tree and diff view at that thread's sandbox, so you always see the right version. Clicking a file in a write tool-call jumps straight to its diff.
The Git tab shows the branch graph. Click any commit to see its full diff grouped by file, with the message, timestamp, and a +/- summary.
View in your IDE
For deeper review, the View in IDE action fetches an agent's branch locally and opens it in your editor's native source-control panel:
git fetch origin agent-swarm/<id>
git checkout agent-swarm/<id>
Cursor and VS Code then show side-by-side diffs with accept/reject per file. No custom extension required.
Commit Thread
When the work is ready, Commit Thread integrates it. A dialog fetches an LLM-drafted title and body, lets you edit them, and confirms — then it merges the thread into a feature branch and opens a pull request. Integration is never silent: it always lands as a PR, so nothing reaches your default branch without passing through review and CI.
If the PR can't be created (a transient GitHub hiccup, say), the merge to the feature branch still lands and the dialog offers a one-click Retry PR.
The PR keeps working after you leave
Opening a PR starts a feedback loop the orchestrator runs on its own:
- It tracks CI and surfaces check status on the thread's status banner.
- If checks fail, the agent reads the failing logs and pushes a fix — for a few attempts — without you prompting it.
- When checks pass, the PR is ready to merge. Arm auto-merge when you want green checks to land without you — nothing merges until you opt in.
The merge queue
Open PRs enter a smart merge queue that groups them by the files they touch. Unrelated groups can land in parallel; within a group the oldest merges first so conflicts never surprise you. The queue keeps main releasable while many branches land.
Update from main
While a thread is in flight, main may move — including when a teammate merges outside the app. The timeline shows how far behind the thread is and offers Update from main: a merge by default (append-only, no force-push surprises), or a rebase when you specifically want linear history. Either runs as part of the thread and resolves conflicts in place.
Merge conflicts are detected and flagged on the branch so you can resolve them before integrating.