Home/ Knowledge Base/ Projects & configuration/ Projects, repositories & the repo root
Projects & configuration

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.

This split is what makes a project portable. When you open the same project (or import its .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

Still need a hand?
Can’t find your answer here? Our team is happy to help.
Contact support