Mergehand

How it works

Mergehand has two parts: the server you use in the browser, and a runner on your own machine where the agent works.

Two parts

Mergehand server

The web application at app.mergehand.com: projects, members, integrations, plans waiting for approval, reports and merge requests. It talks to your code host and tracker, and it is the only part that pushes branches and opens merge requests – after your approval.

Runner on your machine

A small service in Docker that you install on your computer or your own server. It keeps clones of your repositories and starts a fresh, isolated container for every run of the agent. The runner connects out to the server, so no inbound port needs to be opened.

What stays with you

Mergehand runs the AI agent as its provider ships it. Each member uses their own runner with their own AI sign-in – one shared account for the whole team is not how it works.

A task, step by step

  1. You start a task
    Enter the issue ID. The server downloads the issue, comments and attachments and hands them to the runner.
  2. Analysis and plan
    The agent reads the code and writes a plan with numbered acceptance criteria. Questions come to you.
  3. Plan approval
    You approve with a click. No code is written before that.
  4. Implementation
    The agent works in a separate working copy and runs the checks your repository defines – on the changed files.
  5. Review
    A fresh agent, which did not write the code, reviews it. Findings go back to be fixed.
  6. Testing
    Another fresh agent tests each acceptance criterion and reports every check as passed, failed, not applicable or not run.
  7. Result approval
    You read the report, open findings and checks that did not run. You approve, or send it back.
  8. Push and merge request
    The server checks the branch – it builds on what is already on the remote, and the commits are yours – then pushes and opens a draft merge request.

On GitHub and Bitbucket, the merge request is a pull request.

When your runner is off

Work waits in the queue and the application shows whose runner is not connected. When the runner connects again, the queued work starts.

What the runner needs

After you sign up, the app walks you through installing the runner.