Where does a builder put its changes when the project changes a Python backend?
Tares builders put changes to a Python backend on their own branch and open a pull request, so main only changes through a pull request the reviewer has passed. Each builder takes a ticket, works on that branch, and merges the pull request once the reviewer passes it and CI is green. Builders do not commit to main directly. The Get started page covers setting up the crew that does this.
How it works
Tares runs a software factory for Claude Code: a crew of Claude Code sessions on your machine made up of an orchestrator, a reviewer and builders. For a project that changes a Python backend, the flow is the same as for any other project.
- The orchestrator starts builders. It starts one builder per milestone and repo of the project, up to the number of builders you allow.
- A builder takes a ticket. It works on its own branch, so its edits to the Python backend stay off main while it works.
- The builder opens a pull request. The pull request is the only way the change leaves the branch.
- The reviewer holds it to a fixed bar. The reviewer reviews every pull request and posts its verdict on the pull request.
- The builder merges after the pass. It merges once the reviewer has passed the pull request and CI is green. Until both are true, main stays as it was.
Builders push and open pull requests with your gh login. Tares reads the pull request, CI and merge state of every ticket itself, so it needs its own access to the repos too. Tares holds the plan, the tickets and their stages, and every review, so a crew that restarts carries on from the record.
If the project has a releaser, which you add only if you ask for one, it tags and deploys after the merge. Without a releaser, tickets end at merged on main.
Set it up
- Check that Claude Code is signed in, that
ghis signed in with write access to the repo that holds your Python backend (gh auth login), and thatgit,jqandcurlare installed. Builders push their branches with thisghlogin. - Give Tares access to GitHub so it can read pull requests, CI and merge state. On Tares Cloud, choose Connect GitHub in your workspace settings and pick the repos. On a local Tares, add a GitHub token or App under Settings > GitHub. The GitHub connector page has both paths.
- Bring up the crew. The first run asks how far the crew may go, including whether it merges on its own after review and green CI (recommended) or waits for your yes.
- Plan the project from the repo that holds the Python backend, or from a folder that holds its repos. When the plan is written, say yes to handing it to the crew, and the orchestrator picks it up.
tares factory crew up
tares factory spec "what you want to build"- Run
tares factory doctorto check everything the crew needs. For a Python repo, doctor finds the language frompyproject.toml,setup.py,setup.cfg,Pipfileorrequirements.txt. It tells you whether Claude Code has a language server for it, because builders and the reviewer search less when Claude Code cannot look up a definition, its references and its callers. When one is missing,tares factory crew upoffers to install it and installs only when you say yes. - Follow the builders and their pull requests with
tares factory projects, or on the Crew page of the Tares console. It lists each open project with its builders and the pull requests waiting for review.
What you get
- Every change to your Python backend arrives as a pull request from a branch that belongs to one builder, so you can read it like any other pull request.
- The reviewer’s verdict is posted on each pull request, and main changes only after that pass and a green CI run.
- A project can wait for your yes before every merge, even when the rest of the crew merges on its own. You choose this in the crew settings.
- Each project’s builders and their pull requests appear on the Crew page, so you see where the work is without watching terminals.
- If a station stops, the record stays on Tares and the crew resumes where it left off.
When something else fits
- If you want to work on the Python backend yourself, with the same Tares plan and tickets, run
tares factory sessioninstead. It opens your own Claude Code session bound to the project. If the crew has the project, the session asks whether to take it over, and it carries on from the builders’ branches and pull requests. - If you do not want any merge without your approval, set the crew to wait for your yes. It still works on branches and pull requests, and you decide when each one merges.