How do I require green CI before Claude Code merges changes to a Go microservice?
Tares runs a software factory for Claude Code in which a builder merges its pull request only after the reviewer passes it and CI is green. You choose this when you bring up the crew, by answering that it merges on its own after review and green CI. Tares reads the pull request, CI and merge state through its own GitHub access, so the setup is the same for a Go microservice repo as for any other.
How it works
The software factory for Claude Code is a crew of Claude Code sessions on your machine: an orchestrator, a reviewer and builders. Tares holds the plan, the tickets, every review and your answers.
- Builders take a ticket, work on their own branch and open a pull request with your
ghlogin. A builder merges once the reviewer passes the pull request and CI is green. - The reviewer reviews every pull request to a fixed bar and posts its verdict on the pull request.
- Tares reads the pull request, CI and merge state of every ticket itself, using its own access to your repos. That access is separate from your
ghlogin. - Merge policy is one of the settings
crew upasks for. The recommended answer is that the crew merges on its own after review and green CI. The other answer makes the crew wait for your yes.
A single project can also wait for your yes before every merge, even when the rest of the crew merges on its own. That suits a service you want to watch closely.
Set it up
Follow these steps in order. They are the same for your Go microservice as for any repo the crew works in. The Get started page has the full walkthrough.
-
Check that Claude Code is signed in on a plan that allows background sessions. Sign in to
ghwith write access to the repos the crew works in, and make suregit,jqandcurlare installed.gh auth login -
Install the CLI.
uv tool install tares # or: brew install glassflow/tap/tares -
On a local Tares, start it, then start the MCP endpoint every crew session shares in a second terminal.
tares up tares mcp --transport streamable-httpOn Tares Cloud, run
tares logininstead and pick your workspace in the browser. There is no MCP endpoint to start.tares login -
Give Tares its own access to GitHub, so it can read the pull request, CI and merge state of every ticket. On Tares Cloud, choose Connect GitHub in your workspace settings and pick the repos, including your Go microservice. On a local Tares, add a GitHub token or App under Settings > GitHub.
-
Bring up the crew.
tares factory crew upThe first run asks how far the crew may go. Answer that it merges on its own after review and green CI, which is the recommended choice. If you want a human gate as well, choose to wait for your yes instead. The answers are kept on Tares. You can also have a second model check every commit.
-
In the repo of your Go microservice, plan the work. The crew builds the tickets into pull requests.
tares factory spec "what you want to build" -
Run
tares factory doctorat any point to check everything the crew needs.
What you get
- A merge rule that is easy to state: reviewer passed and CI green, then the builder merges.
- A review verdict on every pull request, posted by the reviewer to the same fixed bar each time.
- Tickets that end as merged on main, with the plan, reviews and your answers kept on Tares. A crew that restarts carries on where it stopped.
- The Crew page of the Tares console, which shows the pull requests waiting for review and each project’s builders. Locally it is at
http://127.0.0.1:8787/crew. - A stop switch.
tares factory crew haltstops merges, pushes and new sessions untiltares factory crew resume. - Questions that need you arrive in the orchestrator’s session, one at a time, each with a recommendation. Open it with
tares factory crew attach orchestrator.
When something else fits
- If you want to approve every merge yourself, answer that the crew waits for your yes, or set that for one project only.
- If you are working on one service on your own,
tares factory sessionlets you work in your own Claude Code session, still on Tares, instead of running a crew. - If the repo is not reachable through your GitHub token or App, fix that access first, because Tares needs its own access to read pull request, CI and merge state.
Related
- Build a software factory with Claude Code
- How do I require green CI before Claude Code merges changes to a monorepo?
- How do I require green CI before Claude Code merges changes to a Python backend?
- How do I require green CI before Claude Code merges changes to a Node/TypeScript app?
Still stuck? Get help