Documentation Index
Fetch the complete documentation index at: https://docs.roboticks.io/llms.txt
Use this file to discover all available pages before exploring further.
Multi-Repo Projects
Real robotics systems live in many repos. The perception stack, the motion stack, the simulation harness, the shared interfaces — each gets its own repo, its own release cadence, its own owners. Roboticks projects accept that reality: one project can be linked to many repos, and coverage rolls up across them.The model is many-to-one: many repositories belong to one project. The reverse is not supported — a repository cannot be split across projects. If you need that, factor the shared code into a third repo and connect it to its own project.
The model
All four repos write into the same project’s requirement set. Tests in any repo can@confirms any requirement. The matrix shows them all in a single grid with a Repository column for drill-in.
The default repo
One repo per project is designated default. The default repo is where Roboticks reads:roboticks/requirements.yaml(orrequirements.d/) — the project’s authoritative requirement set if you use inline YAML.roboticks.yaml— the project-level configuration (test commands per OS, runner pool selection, evidence pack policy).- Standards pin manifests.
Connecting multiple repos
After installing the GitHub App (see Installation), link each repo:Open the project's repositories settings
Dashboard → Settings → Repositories. You’ll see every repo the installation can access.
Link each repo
Click Link next to each repo you want in the project. Repos can be unlinked later without losing data.
Set the default
From the linked list, click the star icon next to the repo that owns the requirement set and config.
Coverage rollup across repos
A requirement is confirmed if any confirming test in any linked repo passes on its repo’s current SHA. Inputs to the rollup:- The current SHA on each linked repo’s default branch.
- The last-known-good result of each confirming test on that SHA.
amr-motion is at SHA abcd1234 with test_estop passing, and amr-simulation is at SHA 9876fedc with test_estop_sim passing, REQ-014 is confirmed. If either fails on its current SHA, the rollup degrades.
Freshness rules
Each linked repo has an last-run-at timestamp on its default branch. The dashboard shows it under Settings → Repositories. A repo with stale results (older than the project’sfreshness_threshold, default 7 days) shows an amber warning — its results still count toward the rollup, but the warning prompts you to either re-run the suite or accept that the repo is intentionally dormant.
To force a re-run on all repos at once:
Per-repo column in the matrix
The matrix gets a Repository column when the project has more than one linked repo. Each cell in the grid shows the repo the confirming test lives in:Affected-requirement detection across repos
Change-impact analysis crosses repo boundaries. Ifamr-interfaces changes the message definition for EStopState.msg, the change-impact step finds every test in every linked repo that imports it, then maps those tests to requirements.
The deterministic path needs the import graphs of all repos. The platform refreshes these lazily — first PR after a code addition rebuilds the graph and caches it.
Per-repo Check Runs vs project-level
Each PR on a linked repo gets its own Roboticks Check Run on that PR. The Check Run summary shows:- The affected requirements specific to this PR.
- The project-level coverage state — how this PR moves the needle across the full system.
amr-perception sees only the requirements their PR could affect, but is reminded that the project as a whole has 12 gaps still open in the safety set.
Releases and snapshots
A release in a multi-repo project pins one SHA per linked repo. The CLI:Permissions
The GitHub App installation needs access to every linked repo. If the installation is org-wide, this is automatic; if per-repo, you need to explicitly grant access to each repo on the GitHub side. The dashboard surfaces any repo where the link exists but the App can’t read — usually a sign the installation lost access.Limits
| Tier | Repos per project |
|---|---|
| Free | 3 (1 private) |
| Team | Unlimited |
| Enterprise | Unlimited |
| Sponsored | Unlimited |
Next
Matrix
The Repository column and filter.
Coverage
The rollup rules in detail.
Installation
Connecting more repos to a project.
Snapshotting
Multi-repo SHA pinning in releases.