Open Research Data
GitHub Template for FAIR and Open Research Data
Transforming research documentation from static afterthought into living, executable environments.
This template provides an infrastructure for documenting, publishing, and archiving research data in line with the principles of FAIR and open science. It is independent of data type or format and implements best practices as outlined in The Turing Way. Core components include automated release management, integrated archiving with Zenodo, structured documentation via Quarto, and long-term accessibility through GitHub Pages.
🤝 Academic Recognition
This approach was presented at the Digital Humanities Tech Symposium (DHTech) 2025 and exemplifies how reusable templates can address persistent challenges in research data management.
Mähr, M., & Twente, M. (2025). One Template to Rule Them All: Interactive Research Data Documentation with Quarto. Digital Humanities Tech Symposium, NOVA University Lisbon. https://maehr.github.io/one-template-to-rule-them-all/.
Why use a template (even for small datasets)?
Conventional data publication as static supplementary files offers limited reproducibility and reusability. This template extends such practices by providing:
- 📊 Executable narratives that embed code outputs directly into documentation
- 🚀 Automated deployment and testing that reduces technical overhead
- 🏛️ Integrated archiving with DOI through seamless Zenodo integration
- 📈 Scalability and consistency across diverse project types and domains
- 🔒 Enhanced security with automated vulnerability monitoring
- 🤝 Community standards following accepted ethics and collaboration practices
Features
Open Research Data
- Citable via DOI and CITATION.cff
- Automatic long-term archiving with Zenodo
- Licensed under AGPL 3.0 and CC BY 4.0 according to The Turing Way
- Template for reporting data issues via
github/ISSUE_TEMPLATE/data_issue_report.yml
Documentation
README.md
following www.makeareadme.com and The Turing WayCHANGELOG.md
following keepachangelog.com- Automated changelog generation with git-cliff
- Machine-readable project metadata in
package.json
with npm - Accessible documentation with GitHub Pages and Quarto
Consistency
- Code formatting with Prettier
- Commit messages following Conventional Commits enforced via husky
- Versioning following Semantic Versioning
- Workflow based on fork and pull with GitHub branch protection
- Issue tracking via issue templates
- File and folder naming conventions following The Turing Way
Security
SECURITY.md
following GitHub guidelines- Vulnerability monitoring with GitHub Security Alerts
- Repository integrity enforced via GitHub branch protection
Ethics
CODE_OF_CONDUCT.md
following the Contributor Covenant- Supportive first interactions via Greetings
Selected Use Cases
The template has been applied across domains including public history, political science, digital humanities, and teaching infrastructures.
🔬 Research Data Documentation
Project | Preview |
---|---|
Stadt.Geschichte.Basel RDM Project documentation platform combining research data management with public history outreach |
|
sgb-figures Reproducible code and annotated data for publication-ready visualisations of research data |
📊 Reproducible Research Workflows
Project | Preview |
---|---|
nordatlantisk-ft Voting records from the parliament of Denmark with complete data scraping and analysis pipeline |
|
maxvogt-analysis Multi-step data compilation workflow documentation |
|
Modelling Marti Topic modeling project with interactive visualizations and multimedia content as narrative elements |
🎓 Academic Events & Teaching
Project | Preview |
---|---|
Digital History Switzerland 2024 Conference website with program, abstracts, and participant information |
|
Digital Humanities Bern Department hub featuring news, events, and course information |
|
Decoding Inequality 2025 University course website with syllabus and materials |
📚 Living Publications & Handbooks
Project | Preview |
---|---|
Non-discriminatory Metadata Comprehensive handbook that functions as both documentation and scholarly publication |
|
One Template to Rule Them All This repository’s own presentation site, demonstrating meta-application |
Installation
We recommend using GitHub Codespaces for a reproducible setup.
Getting Started
For Most Users: Reproducible Setup with GitHub Codespaces
Use this template for your project in a new repository on your GitHub account.
Click the green
<> Code
button at the top right of this repository.Select the “Codespaces” tab and click “Create codespace on
main
”. GitHub will now build a container that includes:- ✅ Node.js (via
npm
) - ✅ Python with
uv
- ✅ R with
renv
- ✅ Quarto
- ✅ Node.js (via
Once the Codespace is ready, open a terminal and preview the documentation:
uv run quarto preview
Note: All dependencies (Node.js, Python, R, Quarto) are pre-installed in the Codespace.
👩💻 Advanced Local Installation
Prerequisites
- Node.js
- R and Rtools (on Windows)
- uv (Python manager)
- Quarto
Note:
uv
installs and manages the correct Python version automatically.
Local Setup Steps
# 1. Install Node.js dependencies
npm install
npm run prepare
# 2. Setup Python environment
uv sync
# 3. Setup R environment
Rscript -e 'install.packages("renv"); renv::restore()'
# 4. Preview documentation
uv run quarto preview
Project Setup
After creating your project from this template (either via Codespaces or local setup), follow the comprehensive checklist in TODO.md to customize and finalize your project. The checklist includes essential setup tasks, optional enhancements, and verification steps to ensure your research data repository is properly configured.
Use
Check that all files are properly formatted.
npm run check
Format all files.
npm run format
Run the wizard to write meaningful commit messages.
npm run commit
Run the wizard to create a CHANGELOG.md.
npm run changelog
Preview the documentation.
quarto preview
Support
This project is maintained by @maehr. Please understand that we can’t provide individual support via email. We also believe that help is much more valuable when it’s shared publicly, so more people can benefit from it.
Type | Platforms |
---|---|
🚨 Bug Reports | GitHub Issue Tracker |
📊 Report bad data | GitHub Issue Tracker |
📚 Docs Issue | GitHub Issue Tracker |
🎁 Feature Requests | GitHub Issue Tracker |
🛡 Report a security vulnerability | See SECURITY.md |
💬 General Questions | GitHub Discussions |
Roadmap
There are currently no changes planned.
Contributing
Please see CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
License
The data in this repository is released under the Creative Commons Attribution 4.0 International (CC BY 4.0) License - see the LICENSE-CCBY file for details. By using this data, you agree to give appropriate credit to the original author(s) and to indicate if any modifications have been made.
The code in this repository is released under the GNU Affero General Public License v3.0 - see the LICENSE-AGPL file for details. By using this code, you agree to make any modifications available under the same license.