Projects, repositories & the repo root
How a project maps to your folders, why the repo root is stored per-machine, and where the built-in Source Control client lives.
Last updated 2026-07-25
A project is the top-level unit in AppRelay. It groups everything about one product: its repositories, build lanes, recipes, brand, tests, docs, and quick links. A project can be a single app or a whole family of repos that ship together.
The project value tree
Under the hood, a project is a portable value tree. The parts you'll work with most:
- Repositories
- The git repos that make up the product. Each has a title, a relative path, a symbol/branch, and an optional PR host.
- Lanes
- The buildable targets — see Lanes & toolchains.
- Brand
- The project's color palette — see Brand & theming.
- Tests, Docs, Mockups, Links
- Test suites to run, documentation folders to render, mockup folders to browse, and handy URLs.
Repositories
Each repository row points at a folder relative to the project's repo root. For a product family — say a domain (web), an iOS app, and an Android app — you'd have one row per repo. AppRelay uses these rows to drive the Source Control section and to resolve the {root} of each lane's working directory.
A repository row carries:
- a title and a short symbol used in the UI;
- a relative path from the repo root;
- a default branch; and
- an optional PR host so “open a pull request” links go to the right place.
The repo root, and why it's per-machine
Absolute paths never live inside a project. Instead, the configuration stores only relative paths plus detection signals. The one absolute path — where the repos actually live on this computer — is the repo root, and it's stored in this machine's own preferences, keyed to the project id.
.relay archive) on another machine, AppRelay simply re-prompts for the repo root — nothing in the shared data assumes your username or folder layout.AppRelay locates the root using detection folders: a couple of the most distinctive subfolder names (for example hydrants-ios and firedash-domain) plus a walk-up limit. If you move your repos, re-point the root and the relative paths resolve again.
Source Control
The Source Control section is a full git client for the active project's repositories, built right into AppRelay. Pick a repository, review and stage changes against an inline diff, commit and push, switch or create branches, and read GitHub pull requests — without opening a separate git tool. It works on the folders already on disk, so there's nothing to configure. See Source Control: branches, diffs, commits & pull requests for the full walkthrough.
Editing a project
The project editor is a sectioned form: General, Brand, Repos, Lanes (each with its toolchain, version source, and distributions), Recipes, Tests, Docs, Mockups, and Links. Changes are saved into the project's data and — for anything but the per-machine repo root — travel with the project when you export it.
Next steps
- Source Control: branches, diffs, commits & pull requests
- Lanes, toolchains & version sources
- The .relay archive — how a project becomes a portable file