Repository structure

BNR info-hub Technical Manual

1 Repository structure

1.1 Purpose

This page explains the main folders in the BNR info-hub repository and the role each folder plays in the Stata-to-Quarto publication workflow.

The repository is not just a website. It holds the publication layer, the Stata workflow files, approved public output bundles, documentation, and handover material.

1.2 Core model

The basic model is:

Stata scripts -> generated outputs -> Quarto publication site

The compute layer and publication layer are kept separate.

1.3 Main folders

info-hub/
├── scripts/
├── outputs/
├── site/
├── docs/
├── assets/
├── setup-checks/
├── .github/
├── README.md
├── CHANGELOG.md
├── DECISIONS.md
└── .gitignore

1.4 Folder roles

Folder Main role Usually edited by
scripts/ Stata, Python, and helper scripts analysts / maintainers
outputs/ approved or generated output artefacts code writes these; analysts review
site/ Quarto website source files content editors / maintainers
docs/ supporting project documentation and holding-bay material maintainers
assets/ shared source assets not necessarily part of the site maintainers
setup-checks/ local setup checks or setup validation material maintainers
.github/ GitHub Actions and repository automation maintainers

1.5 Stata script structure

The active Stata workflow is organised under:

scripts/stata/
├── ado/
├── common/
├── config/
└── briefings/
Folder Purpose
ado/ active project ADO helpers
common/ shared Stata DO files used by more than one product
config/ local path template and local path file
briefings/ one folder per static briefing workflow

Active scripts should sit under scripts/stata/.

Useful but inactive legacy helpers should sit under:

docs/holding-bay/stata-legacy/

This keeps the live workflow clean without losing potentially useful historical code.

1.6 Public output structure

Canonical approved Stata-generated outputs sit under:

outputs/public/

For static briefings, use:

outputs/public/briefings/{briefing_id}/
├── tables/
├── figures/
├── data/
├── meta.yml
└── build.yml

These files are generated by Stata and reviewed before being copied into the site download area.

1.7 Quarto site structure

The Quarto website source is under:

site/
├── about/
├── surveillance/
├── methods-data/
├── dashboards/
├── downloads/
├── operations-manual/
├── technical/
├── slides/
├── archive/
└── assets/

The rendered site output is:

site/_site/

Do not edit _site/ manually. It is generated by Quarto and ignored by Git.

1.8 Private data location

Confidential data should not live inside the repo.

The expected private sibling folder is:

C:\yoshimi-hot\output\analyse-bnr\info-hub-private\

The repo can be shared, committed, and deployed without requiring confidential source data.

1.9 Good practice

Ask:

  1. Is this source code, documentation, or approved public output?
  2. Is it confidential or local-only?
  3. Should it be tracked by Git?
  4. Will a future user know why it exists?

If the file is confidential, local-only, or temporary, it should not be committed to Git.

Back to top