Task branches
The agent leaves your project folder unchanged while it works. You decide from the result email whether the change lands.
Where a task runs
In a git project, each task runs in its own git worktree on the branch atgent/TASK_ID. Your project folder does not change until you merge. Tasks that run at the same time never edit the same files. Each finished turn saves one commit on that branch.
Reply to the branch
Reply with one word to act on the branch:
mergeprundorevertdiscarddiffmerge lands the whole task as one commit on the branch checked out in your project folder. If git reports a conflict or local changes, the merge rolls back and nothing changes. Reply with an instruction to fix the problem, then reply merge again. pr requires the GitHub CLI gh and a signed-in account. Add here to a subject to run the task directly in the project folder, or set "isolation": "none" for one project or every project.
A conflict leaves no half merge.
If git stops the merge, atgent rolls it back. Your project folder stays exactly as it was. The reply lists the conflicting files.
What the result email shows
The result email shows how long the turn took, which files changed and their line counts, and a short diff. Reply diff to receive the full patch as an attachment. When a project sets checks, the runner runs that command in the task folder after each turn and reports whether it passed. Without checks, the email shows the test result reported by the agent. When a project sets preview and the turn changes UI files, the runner starts the preview in the task folder and attaches screenshots. Screenshots require Playwright with Chromium installed.
Prepare a new worktree
A new worktree contains only files tracked by git. Use worktree_links to link folders such as node_modules or a .env file from the project folder. Use worktree_setup to run a command such as npm ci when atgent creates a worktree.
checks runs in the task folder after each turn that changed files. It has a 15 minute limit, which checks_timeout changes in seconds. preview starts your dev server in the task folder on a free port, waits for the page, captures up to 3 pages and stops the server. The first capture uses phone size.
"projects": {
"website": {
"path": "/absolute/path/to/website",
"checks": "npm test",
"preview": {"command": "npm run dev -- --port {port}", "url": "http://127.0.0.1:{port}", "paths": ["/", "/pricing"]},
"worktree_links": ["node_modules", ".env"],
"worktree_setup": "npm ci"
}
}