Most agent tools think one repo at a time. Real features rarely do. A change to an API touches the backend that serves it, the frontend that calls it, and sometimes the infra that deploys it. Termic lets a single task contain several repositories so an agent can see and edit all of them together.
What a multi-repo task is
A multi-repo project bundles N repositories under one wrapper. When you open a task from it, the agent is launched in that combined task and can work across every member repo. Each member is still its own git repository with its own history and its own branch; Termic just presents them as one working context.
This is genuinely useful when:
- a feature spans services (add a field in the backend, consume it in the web app),
- an SDK or shared-library bump needs to land in several consumers at once, or
- you want an agent to reason about how your systems fit together end to end.
The shared knowledge base
The biggest win is context. Put a CLAUDE.md (or AGENTS.md) at the task level describing all the repos, what each one does, and how they relate, and the agent reads it on launch. Now it isn’t guessing how your services connect; it has a map. Pair that with the agent being able to actually open files across all the repos, and you can develop end to end remarkably fast.
Per-member ports
Each member repo gets its own forwarded port, exposed to your scripts as $TERMIC_PORT_<MEMBER> (where <MEMBER> is the member’s name). So your backend’s run script can bind $TERMIC_PORT_API while the frontend binds $TERMIC_PORT_WEB, and your preview URLs can point at the right one. See Scripts: setup & run for how variables expand.
In the task footer, each member gets its own tab with its own Run and Open buttons. When there are more members than fit, the extras collapse into a +N menu so the controls never get clipped.
One aggregated diff
Reviewing work that spans repos would be tedious if you had to check each one separately. Termic aggregates the changes across all member repos into a single diff view, so you see everything the agent did in one place. Clicking a changed file opens its diff against HEAD, including in the task’s main checkout member. See Editor & diff viewer.
Searching across repos
File finding and find-in-files span the whole task, not one repo. ⌘P and ⇧⌘F run across every member repository and merge the results, each prefixed by the repo it came from. See File finder & search.
Adding repos
You build a multi-repo project from the member picker, available both in New Project and in a project’s Repository settings. Alongside picking from repos Termic already knows about, Add repo from disk opens a folder picker, registers the chosen path as a standalone project, and adds it as a member in one step.
You can also point at a folder that doesn’t exist yet: Termic creates it on submit, runs git init, and seeds a starter CLAUDE.md, so scaffolding a brand-new member repo alongside existing ones is one step instead of a detour to the shell.
A note on Spotlight
Spotlight (syncing a task into your main checkout to run the whole stack) is currently single-repo projects only. Multi-repo Spotlight is a known gap. Everything else, parallel agents, the sandbox, the aggregated diff, works with multi-repo tasks today.
Related
- Tasks & worktrees: the underlying model.
- Scripts: setup & run: per-member ports and preview URLs.
.termic.yaml: committing the shared setup so teammates inherit it.