Skip to Content
Tares

How do I write a spec a Claude Code crew can build dependency upgrades from in a Python backend?

Tares writes the spec for you through an interview: run tares factory spec in your Python repo and answer the questions about your dependency upgrades. /tares:spec asks one question at a time, has a second model attack the plan, and saves a spec, milestones with acceptance checks, tickets with a working doc each, and an AGENTS.md to a Tares project. It then asks whether to hand the project to the software factory for Claude Code crew.

How it works

You do not write the spec file by hand. /tares:spec runs as a Claude Code session and interviews you.

  • One question at a time. You answer in your own words, and Tares keeps your answers.
  • A second model attacks the plan. Before anything is saved, the plan gets challenged, so gaps surface while they are cheap to fix.
  • The plan lands in a Tares project. You get the spec, milestones with acceptance checks, tickets with a working doc each, and an AGENTS.md.
  • The hand-over is your call. The interview ends by asking whether to give the project to the crew. If you say yes, the orchestrator picks it up.

The crew is an orchestrator, a reviewer and builders, with one builder per milestone and repo. Tares holds the plan, the tickets, every review and the assumptions the crew made, so a crew that restarts carries on where it stopped. See Get started for the whole crew.

For a Python backend, doctor reads pyproject.toml, setup.py, setup.cfg, Pipfile or requirements.txt to detect Python. It then checks whether Claude Code has a language server for it, so builders and the reviewer can find definitions, references and callers.

Set it up

  1. Check that Claude Code is signed in, gh is signed in with write access to your backend repo, and git, jq and curl are installed.

    gh auth login
  2. Install the CLI and start Tares locally.

    uv tool install tares # or: brew install glassflow/tap/tares tares up
  3. In a second terminal, start the MCP endpoint every crew session shares.

    tares mcp --transport streamable-http

    On Tares Cloud, run tares login instead and pick your workspace in the browser. There is no MCP endpoint to start.

  4. Give Tares access to GitHub: Settings > GitHub on a local Tares, or Connect GitHub on Tares Cloud. Tares reads the pull request, CI and merge state of every ticket itself.

  5. Bring up the crew. The first run asks how far the crew may go: whether it 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.

    tares factory crew up
  6. In your Python repo, plan the project. Replace the text in quotes with your idea.

    tares factory spec "what you want to build"

    Name the upgrades in that sentence: the packages and the target versions. Then answer each interview question in concrete terms. Say what finished looks like for each milestone, such as the test suite passing on the new versions. Give the reasons for any package you want to hold back. Challenge the second model’s objections instead of waving them through, because the plan it attacks is the one the crew builds.

  7. If you want the tickets in Linear or GitHub Issues instead of Tares, say so during the interview. For GitHub Issues, name the repo.

  8. Answer the crew’s questions in the orchestrator’s session.

    tares factory crew attach orchestrator
  9. Run tares factory doctor at any point to check everything the crew needs, including the Python language server.

What you get

  • A Tares project with a spec, milestones with acceptance checks, tickets with a working doc each, and an AGENTS.md, all written from your answers.
  • A plan that a second model has already attacked, so you find weak spots before the crew starts building.
  • Builders that take a ticket, work on their own branch and open a pull request. A pull request merges once the reviewer passes it and CI is green.
  • A reviewer that reviews every pull request to a fixed bar and posts its verdict on the pull request.
  • Questions that reach you one at a time, each with a recommendation. The Crew page of the Tares console shows the question waiting for you, the builders and the pull requests waiting for review.
  • Every choice the crew made on its own written down, so you can check it at the end of each milestone instead of during every step.

When something else fits

  • For a small upgrade you do not need a crew. Run tares factory session to plan it and build it in your own Claude Code session, still on Tares.
  • If you want a yes before every merge on one project, you can set that, and the rest of the crew still merges on its own.
  • The software factory runs on one machine, on your own Claude Code login, so it fits solo developers and very small teams best.

Still stuck? Get help

Last updated on