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:
- Is this source code, documentation, or approved public output?
- Is it confidential or local-only?
- Should it be tracked by Git?
- Will a future user know why it exists?
If the file is confidential, local-only, or temporary, it should not be committed to Git.