Hand over a ticket.
Get a pull request.
A Goatfied agent reads the code, makes the change, runs your tests and comes back with a branch. On your machine or on ours — you review code either way, not a chat log.
Local · Cloud · CLI · Free to start
- Clonedacme/billing @ main
- Environmentpnpm install · 41s
- Readcheckout.ts, tax.ts, pricing.ts
- Ranpnpm test --filter billing
- Edited4 files, +118 −37
- Tests214 passed
- Pull request#2481 opened
Where it runs
Your machine, or one you never have to think about.
The same agent, the same models and the same review. The only difference is whose computer is warm.
On your machine
The agent edits the files in front of you and runs commands in your terminal. You watch it think, interrupt it mid-turn, and keep the diff under your own review.
- Works against uncommitted changes
- Uses the tools already on your PATH
- Nothing leaves the machine but the prompt
On ours
Send the task away and close the lid. It clones into an isolated sandbox, installs the environment you prepared, does the work and opens a pull request.
- Environments you set up once and reuse
- Repository access scoped to what you name
- A spend ceiling per workspace
One list either way
Where a run happens is a property of the run, not a reason to keep it somewhere else. Local and cloud sessions sit in the same list, grouped by repository, with a cloud mark on the ones that are not yours.
Staying in control
Autonomy you can take back.
An agent that can change your repository has to be one you can stop, correct, audit and undo. All four are built in rather than bolted on.
Checkpoints
Undo an agent's edit without losing your own. Every run is a point you can return to, and returning to it leaves the work you did by hand alone.
Hooks
Your project can refuse to let an agent finish. Run your linter, your tests or your policy check — a failed hook blocks the turn and says exactly what it objected to.
Worktrees
Give a session its own branch and its own directory so two agents never fight over the same files. Old ones are pruned for you.
Scoped credentials
A run gets a short-lived token narrowed to the repositories you named. No organisation-wide token, no standing access, nothing to revoke afterwards.
Interrupt and redirect
Type while it works and your message queues as the next turn. Change your mind halfway and it takes the correction rather than finishing the wrong thing.
A trace you can read
Every tool call, file read, diff and command is kept — including long output, which is stored rather than truncated. Open a run and see why it did what it did.
What to give it
Work that is real, but not precious.
Agents are best on the jobs you keep putting off because they are tedious rather than hard.
Fix the failing test
Reproduce it, find the cause, patch it, prove the suite is green again, and open the PR with the reasoning in the description.
Bump the dependencies
Update the lockfile, run the matrix, and read the changelogs of anything that broke so the migration notes come with the diff.
Carry a refactor across the repo
Rename an interface, thread a new argument, split a module — in every file that touches it, not just the ones you remembered.
Triage the issue queue
Read an incoming report, write the reproduction, and either fix it or hand you a labelled issue with the failing case attached.
Run it from CI
Trigger the same agents from GitHub Actions, GitLab CI or your shell. A nightly run that opens one small pull request is a real strategy.
Starting one
Three steps, once.
- 1
Open a folder
In the desktop app or in the browser. Goatfied indexes it in the background while you get on with something else.
- 2
Describe the change
One sentence is usually enough. Press Enter to run it here, or send it to the cloud if you would rather not wait.
- 3
Review the diff
It arrives as a branch and a pull request, with the trace of how it got there attached.
Give one something to do.
Agents are on the free plan with limits. No card required.