Configuration

Repo layout

Orbit does a partial + sparse clone — it fetches only src/content (plus your assetsDir and the folders holding any declared data: files) rather than the whole repo. A couple of conventions keep that working:

  • Editable content usually lives under src/content/, but it doesn’t have to: if a collection’s glob() loader points somewhere else (AstroWind keeps its blog in src/data/post), Orbit fetches and publishes that folder too. Keep assets under assetsDir (default src/assets) and data: files where those entries point.
  • The content config is read via a single-blob fetch, so its location must be one of the supported paths (see Astro versions).
  • Orbit only shows content history: the dashboard’s Recent activity lists changes to pages, images and declared data files. Code changes — layouts, dependencies, build settings — never appear there, so editors aren’t left wondering what “bump deps” means.

Schema-less fallback

With no content config, Orbit can still open a site manually: it discovers collections by the folders under src/content/ and edits frontmatter generically — no typed fields, no enums, no required markers. It works, but a content config gives a much better editing experience, so prefer one.

Several sites in one repository

Orbit works with monorepos — one repository holding several sites in sub-folders, such as sites/blog and sites/docs.

  • Add the repository as usual. If its top level isn’t a site, Orbit lists every folder that holds an Astro site and asks which one to edit. It only downloads the content of the site you pick.
Orbit MD's landing screen asking which site to edit: orbit-extras has 4 sites — blog-astropaper, business-astrowind, docs-starlight and portfolio, each with its folder underneath
A repository with several sites — pick the one to edit.
- **Each site keeps its own settings.** Put an `orbit.config.yaml` in each site's folder, next to its `src/`. Content, images, data files and publish requests all stay inside that folder. - **Sites share the repository's branches**, so one preview branch and one live branch serve them all. Publishing a page only touches that site's files, and **Undo last publish** undoes that site's last publish, even if another site has published since. - **Each site is its own entry** in *Your sites*, shown by its title with the repository and folder underneath. To edit another site from the same repository, add it again and pick the other folder. Each one counts as a site for [licensing](/docs/licence-keys).