A change to an API often 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 presents them as one working context.
Use one 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
Put a CLAUDE.md (or AGENTS.md) at the task level describing all the repos, what each one does, and how they relate. The agent reads it on launch, so it knows how your services connect before it opens files in any of them.
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
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 cover the whole task. ⌘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.