How do I set up a Tares software factory for Claude Code on a Go microservice?
Tares sets up a software factory for Claude Code on a Go microservice with one crew that you bring up once and a spec you run inside the service’s repo. If the project spans several repos, run tares factory spec in the folder that holds them. The crew needs Claude Code, gh, git, jq and curl on your machine.
How it works
The software factory for Claude Code is a crew of Claude Code sessions that run in the background on your machine: an orchestrator, a reviewer and builders. Tares holds the plan, the tickets, the reviews and your answers, so a crew that restarts carries on where it stopped.
Two choices decide where you run things:
- Where you run
tares factory spec. Run it in the repo the project builds on, or in a folder that holds its repos. For a single Go microservice, that is the service’s repo. If the project touches the service and, say, a shared library in a second repo, run it in the folder above both. - Where the crew lives. The crew has a folder of its own,
~/factory, and serves every project you hand it. You do not bring up a crew per repo.
Builders are started per milestone and repo of a project. Each takes a ticket, works on its own branch, opens a pull request, and merges it once the reviewer passes it and CI is green. A single-repo Go service therefore gets builders in that repo, and a multi-repo project gets builders in each repo.
Tares can run next to the crew or on Tares Cloud. On a local Tares, the crew reaches Tares only through the MCP endpoint, so you start that before the crew. On Tares Cloud you sign in and there is no MCP endpoint to start.
Set it up
-
Check the machine. Claude Code must be signed in, on a plan that allows background sessions. The crew uses your Claude Code login, so there is no separate model API key.
ghmust be signed in with write access to the repos the crew works in.git,jqandcurlmust be installed. The Codex CLI is optional, if you want a second model to check every commit.gh auth login -
Install the CLI.
uv tool install tares # or: brew install glassflow/tap/tares -
Start Tares locally. Skip this on Tares Cloud.
tares upThe console opens at
http://127.0.0.1:8787. -
Start the MCP endpoint in a second terminal. Local only. Every crew session shares it.
tares mcp --transport streamable-httpWith auth on, start it with
TARES_AUTH_TOKENset to your token.crew upandspecstop and tell you when the endpoint does not answer. -
Sign in to Tares Cloud. Cloud only. Pick your workspace in the browser and choose Connect.
tares login -
Give Tares access to GitHub. Builders push and open pull requests with your
ghlogin, while Tares reads the pull request, CI and merge state itself. On a local Tares, add a token or App under Settings > GitHub. On Tares Cloud, choose Connect GitHub and pick the repos. The Get started page covers both. -
Bring up the crew.
tares factory crew upThe first run offers to open Claude Code in
~/factoryso you can trust the folder once. It then asks whether the crew merges on its own after review and green CI or waits for your yes, whether it releases, whether a second model checks every commit, and how many builders run at once. -
Plan the project from the right folder. Open a terminal in your Go service’s repo, or in the folder that holds all the repos for a multi-repo project, and run:
tares factory spec "what you want to build"Claude Code opens with
/tares:spec, interviews you one question at a time and writes the plan into a Tares project. Say yes when it asks whether to hand the project to the crew. -
Check and answer. Run
tares factory doctorat any point to check everything the crew needs. Answer questions in the orchestrator’s session withtares factory crew attach orchestrator.
What you get
- A crew of Claude Code sessions that turns the plan for your Go microservice into pull requests merged on main.
- A plan with a spec, milestones with acceptance checks, tickets with a working doc each, and an AGENTS.md.
- A reviewer that reviews every pull request to a fixed bar and posts its verdict on the pull request.
- One session to talk to. Questions from every project reach the orchestrator one at a time, each with a recommendation.
- A Crew page in the console, at
http://127.0.0.1:8787/crewon a local Tares, with each project’s progress, builders and pull requests waiting for review. - A record on Tares of the plan, the assumptions the crew made and your answers, so you can check its choices at the end of each milestone.
- The option to hand the crew more projects later without bringing up anything new.
When something else fits
- For a small change to one service, work in your own Claude Code session with
tares factory session "<idea>". It plans a small project and builds it there, still on Tares, without a crew. - If your tickets already live in Linear or GitHub Issues, keep them there. Tares reads them about once a minute and never writes to them.
Related
- Build a software factory with Claude Code
- How do I require green CI before Claude Code merges changes to a Go microservice?
- How do I keep parallel Claude Code builders from colliding in a Go microservice?
- How do I have a second model review bug fixes in a Go microservice before each commit?
Still stuck? Get help