Skip to Content
Tares

How do I write a spec a Claude Code crew can build test coverage from in a Go microservice?

Tares builds the spec with you: run tares factory spec in your Go repo and /tares:spec interviews you one question at a time, then writes the plan into a Tares project. A second model attacks the plan first. You get a spec, milestones with acceptance checks, tickets with a working doc each, and an AGENTS.md, and the crew builds the tickets into merged pull requests.

How it works

You do not write the spec by hand. You describe the goal, and /tares:spec (started by tares factory spec) drafts it with you.

  • The interview. Claude Code asks one question at a time. Your answers are kept in your own words on Tares.
  • The attack on the plan. A second model attacks the plan before it is written, so weak spots surface while you can still change them.
  • What lands in Tares. A Tares project holding the spec, milestones with acceptance checks, tickets with a working doc each, and an AGENTS.md.
  • The hand-over. The command ends by asking whether to give the project to the crew. Say yes and the orchestrator picks it up.

The crew then works the way a small team does. The orchestrator hands out work. Builders, one per milestone and repo, each take a ticket, work on their own branch and open a pull request. The reviewer reviews every pull request to a fixed bar and posts its verdict. A builder merges once the reviewer passes it and CI is green. The plan, tickets, reviews and your answers stay on Tares, so a crew that restarts carries on where it stopped.

For a Go service, tares factory doctor reads go.mod to detect Go in each handed-over repo. It checks whether Claude Code has a language server for it, gopls, so builders and the reviewer can find definitions, references and callers. If it is missing, doctor prints what to run, and tares factory crew up offers the same install and runs it only when you say yes.

Set it up

  1. Check what you need: Claude Code signed in on a plan that allows background sessions, gh signed in with write access to the repos the crew works in, and git, jq and curl installed.
gh auth login
  1. Install the CLI.
uv tool install tares # or: brew install glassflow/tap/tares
  1. On a local Tares, start it, then start the MCP endpoint in a second terminal. Every crew session reaches Tares only through that endpoint.
tares up tares mcp --transport streamable-http
  1. On Tares Cloud, sign in instead and pick your workspace in the browser. There is no MCP endpoint to start.
tares login
  1. Give Tares access to GitHub: Settings > GitHub on a local Tares, or Connect GitHub on Tares Cloud. Builders push with your gh login, while Tares reads the pull request, CI and merge state itself.

  2. Bring up the crew. The first run asks how far the crew may go: merge on its own or wait for your yes, whether it releases, whether a second model checks every commit, and how many builders run at once.

tares factory crew up
  1. In your Go service’s repo, or a folder that holds its repos, plan the project. Replace the text with your goal, for example the service name and the coverage you want in your own words.
tares factory spec "what you want to build"
  1. Answer the interview one question at a time. Name the packages that matter and what “covered” means to you, because your answers become the spec the milestones and tickets come from. Review the milestones and their acceptance checks before you agree.

  2. When asked, say yes to handing the project to the crew. Then answer its questions in the orchestrator’s session.

tares factory crew attach orchestrator

The full flow is in Get started. Run tares factory doctor at any point to check everything the crew needs.

What you get

  • A Tares project with the spec, milestones with acceptance checks, and tickets that each carry a working doc.
  • An AGENTS.md the crew and your own sessions share.
  • A plan that a second model has already attacked.
  • Pull requests for each ticket, reviewed by the reviewer and merged on main once CI is green.
  • A record on Tares of the assumptions the crew made, the questions it asked and your answers, so you can check its choices at the end of each milestone.
  • The Crew page in the Tares console, which shows the question waiting for you, each project’s builders and the pull requests waiting for review. Locally it is at http://127.0.0.1:8787/crew.

When something else fits

  • For a small piece of work that does not need a crew, run tares factory session with your idea. It plans a short spec and ticket list on Tares and builds it in your own Claude Code session.
  • If your tickets already live in Linear or GitHub Issues, say so during /tares:spec, or link them from the project’s Tickets page. Tares only reads them.
  • To stop merges while you think, use tares factory crew halt with a reason, and tares factory crew resume when you are ready.

Still stuck? Get help

Last updated on