Skip to contentSkip to Content
ConventionsRepository layout

Repository layout

Stable

Top level

DirectoryHoldsPublished
content/Every published page, as MDX, plus its _meta.ts navigationYes
archive/The working files those pages describeNo
public/Files the site serves: assets, favicon, search indexYes
registry/The machine-readable index of every entityNo
schemas/JSON Schemas the registry is validated againstNo
templates/Starting points for new entity recordsNo
app/, components/, lib/, styles/The site itselfNo
docs/Internal working documents; not committed at allNo

Why pages and working files are separated

Two reasons, one technical and one editorial.

Technical. The site’s build compiles everything under content/. A BibTeX file or a YAML configuration in that tree fails the build with an unhelpful error, because the bundler has no idea what to do with it.

Editorial. content/ is deployed publicly. Keeping configurations, raw outputs and correspondence outside it means the question “could this be published by accident?” has a structural answer rather than depending on someone remembering.

The mirror

archive/ mirrors content/ path for path. The working files for the page at content/experiments/EXP-001-experiment-name/ are at archive/experiments/EXP-001-experiment-name/. Nothing has to be searched for, and the pairing survives a rename because both move together.

content/experiments/EXP-001-experiment-name/index.mdx <- the page archive/experiments/EXP-001-experiment-name/ configuration.yaml <- what actually ran logs/ <- run logs outputs/ <- raw outputs

Where research data goes

Not in this repository. It is documentation, and a multi-gigabyte capture committed to it makes every clone slow forever without making the data any more citable.

The DATA- record carries the location, version and checksum, which is what makes a result reproducible. Common research binary formats are refused by .gitignore so that this is a wall rather than a habit.

Assets

PathFor
public/assets/figures/Registered figures, in SVG, PNG and PDF forms
public/assets/diagrams/Rendered diagrams, where source cannot be inlined
public/assets/images/Photographs and screenshots
public/assets/pdf/Decks and documents served from the site
public/assets/audio/, public/assets/video/Media

A file under public/ is served to anyone who knows the URL, whether or not a page links to it. Nothing at advisor or confidential visibility goes there.

Last updated on