{"id":13942225,"url":"https://github.com/maehr/open-research-data-template","last_synced_at":"2026-04-01T18:38:46.925Z","repository":{"id":163318379,"uuid":"614287827","full_name":"maehr/open-research-data-template","owner":"maehr","description":"GitHub template for FAIR and open research data","archived":false,"fork":false,"pushed_at":"2026-03-19T20:59:19.000Z","size":14983,"stargazers_count":29,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-20T05:47:29.653Z","etag":null,"topics":["fair","github-pages","open-data","open-research-data","open-science","ord","repository-pattern","template","template-repository"],"latest_commit_sha":null,"homepage":"https://maehr.github.io/open-research-data-template/","language":"Markdown","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maehr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-AGPL.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":".github/MAINTAINERS.md","copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2023-03-15T09:33:25.000Z","updated_at":"2026-03-19T20:52:21.000Z","dependencies_parsed_at":"2024-10-27T11:14:12.364Z","dependency_job_id":"919d338c-4fc0-4c61-9504-172f23401a18","html_url":"https://github.com/maehr/open-research-data-template","commit_stats":{"total_commits":10,"total_committers":2,"mean_commits":5.0,"dds":"0.30000000000000004","last_synced_commit":"5c8abf5973f45ddf0f778b68e255b09ff80d5b0e"},"previous_names":["maehr/open-research-data-template"],"tags_count":3,"template":true,"template_full_name":"maehr/github-template","purl":"pkg:github/maehr/open-research-data-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maehr%2Fopen-research-data-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maehr%2Fopen-research-data-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maehr%2Fopen-research-data-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maehr%2Fopen-research-data-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maehr","download_url":"https://codeload.github.com/maehr/open-research-data-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maehr%2Fopen-research-data-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fair","github-pages","open-data","open-research-data","open-science","ord","repository-pattern","template","template-repository"],"created_at":"2024-08-08T02:01:45.719Z","updated_at":"2026-04-01T18:38:46.919Z","avatar_url":"https://github.com/maehr.png","language":"Markdown","funding_links":[],"categories":["Markdown"],"sub_categories":[],"readme":"# GitHub Template for FAIR and Open Research Data\n\n**Transforming research documentation from static afterthought into living, executable environments.**\n\nThis template provides an infrastructure for documenting, publishing, and archiving research data in line with the principles of [FAIR](https://www.go-fair.org/fair-principles/) and open science. It is independent of data type or format and implements best practices as outlined in [The Turing Way](https://book.the-turing-way.org/). Core components include automated release management, integrated archiving with [Zenodo](https://zenodo.org/), structured documentation via [Quarto](https://quarto.org/), and long-term accessibility through [GitHub Pages](https://pages.github.com/).\n\n[![GitHub issues](https://img.shields.io/github/issues/maehr/open-research-data-template.svg)](https://github.com/maehr/open-research-data-template/issues)\n[![GitHub forks](https://img.shields.io/github/forks/maehr/open-research-data-template.svg)](https://github.com/maehr/open-research-data-template/network)\n[![GitHub stars](https://img.shields.io/github/stars/maehr/open-research-data-template.svg)](https://github.com/maehr/open-research-data-template/stargazers)\n[![Code license](https://img.shields.io/github/license/maehr/open-research-data-template.svg)](https://github.com/maehr/open-research-data-template/blob/main/LICENSE-AGPL.md)\n[![Data license](https://img.shields.io/github/license/maehr/open-research-data-template.svg)](https://github.com/maehr/open-research-data-template/blob/main/LICENSE-CCBY.md)\n[![DOI](https://zenodo.org/badge/614287827.svg)](https://doi.org/10.5281/zenodo.19111355)\n\n\u003e [!IMPORTANT]\n\u003e This `README.md` describes the **template repository itself**. If you created a new repository from this template, start with [TODO.md](TODO.md), then customize the project-facing template files: [CITATION.template.cff](CITATION.template.cff), [CODE_OF_CONDUCT.template.md](CODE_OF_CONDUCT.template.md), [SECURITY.template.md](SECURITY.template.md), [README.template.md](README.template.md), and [CHANGELOG.template.md](CHANGELOG.template.md), and rename them into place as directed there.\n\n## 🤝 Academic Recognition\n\nThis approach was presented at the [Digital Humanities Tech Symposium (DHTech) 2025](https://dh-tech.github.io/2025/06/04/digital-humanities-tech-symposium-agenda/) and exemplifies how reusable templates can address persistent challenges in research data management.\n\n\u003e Mähr, M., \u0026 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/](https://maehr.github.io/one-template-to-rule-them-all/).\n\n## Why use a template (even for small datasets)?\n\nConventional data publication as static supplementary files offers limited reproducibility and reusability. This template extends such practices by providing:\n\n- 📊 **Executable narratives** that embed code outputs directly into documentation\n- 🚀 **Automated deployment and testing** that reduces technical overhead\n- 🏛️ **Integrated archiving with DOI** through seamless Zenodo integration\n- 📈 **Scalability and consistency** across diverse project types and domains\n- 🔒 **Enhanced security** with automated vulnerability monitoring\n- 🤝 **Community standards** following accepted ethics and collaboration practices\n\n## Features\n\n### Open Research Data\n\n- Citable via the template [DOI](https://doi.org/10.5281/zenodo.19111355), the live [CITATION.cff](CITATION.cff), and the downstream [CITATION.template.cff](CITATION.template.cff)\n- Automatic long-term archiving with [Zenodo](https://zenodo.org/), plus a commit-ready rendered site archive for tagged snapshots\n- Licensed under [AGPL 3.0](https://www.gnu.org/licenses/agpl-3.0.html) and [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed) according to [The Turing Way](https://book.the-turing-way.org/reproducible-research/rdm/rdm-sharing.html#step-3-choose-a-licence-and-link-to-your-paper-and-code)\n- Template for reporting data issues via `github/ISSUE_TEMPLATE/data_issue_report.yml`\n\n### Documentation\n\n- `README.md` following [www.makeareadme.com](https://www.makeareadme.com/) and [The Turing Way](https://book.the-turing-way.org/project-design/pd-overview/project-repo/project-repo-readme)\n- `CHANGELOG.md` for template release notes and `CHANGELOG.template.md` as the downstream project scaffold\n- Automated changelog generation with [git-cliff](https://github.com/orhun/git-cliff)\n- Machine-readable project metadata in `package.json` with [npm](https://docs.npmjs.com/cli/v7/configuring-npm/package-json)\n- Accessible documentation with [GitHub Pages](https://docs.github.com/en/pages) and [Quarto](https://quarto.org/)\n\n### Consistency\n\n- Code formatting with [Prettier](https://prettier.io/) for general files, [Ruff](https://github.com/astral-sh/ruff) for Python, and [styler](https://styler.r-lib.org/) and [lintr](https://lintr.r-lib.org/) for R\n- Python type checking with [ty](https://github.com/astral-sh/ty)\n- Python dependency management with [uv](https://github.com/astral-sh/uv)\n- R dependency management with [renv](https://rstudio.github.io/renv/)\n- Commit messages following [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) enforced via [prek](https://prek.j178.dev/)\n- Versioning following [Semantic Versioning](https://semver.org/spec/v2.0.0.html)\n- Workflow based on [fork and pull](https://gist.github.com/Chaser324/ce0505fbed06b947d962) with [GitHub branch protection](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule)\n- Issue tracking via [issue templates](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository)\n- File and folder naming conventions following [The Turing Way](https://book.the-turing-way.org/project-design/info-management/filenaming/)\n\n### Security\n\n- `SECURITY.md` following [GitHub guidelines](https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository), with `SECURITY.template.md` for downstream projects\n- Vulnerability monitoring with [GitHub Security Alerts](https://github.blog/2017-11-16-introducing-security-alerts-on-github/)\n- Repository integrity enforced via [GitHub branch protection](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule)\n\n### Ethics\n\n- `CODE_OF_CONDUCT.md` following the [Contributor Covenant](https://www.contributor-covenant.org/), with `CODE_OF_CONDUCT.template.md` for downstream projects\n\n## Selected Use Cases\n\nThe template has been applied across domains including public history, political science, digital humanities, and teaching infrastructures. The examples below come from the\n[\"One Template to Rule Them All\"](https://maehr.github.io/one-template-to-rule-them-all/)\npresentation and now call out the parts that coding agents can help automate.\n\n### 🔬 Research Data Documentation\n\n| Project                                                                                                                                                                                                                                                                         | Preview                                                                                                                                                                                                                            |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [**Stadt.Geschichte.Basel RDM**](https://dokumentation.stadtgeschichtebasel.ch/)\u003cbr\u003eProject documentation platform combining research data management with public history outreach; agents can update metadata, maintain setup checklists, and validate publication-ready docs. | \u003ca href=\"https://dokumentation.stadtgeschichtebasel.ch/\"\u003e\u003cimg src=\"https://maehr.github.io/one-template-to-rule-them-all/paper/images/dokumentation_stadtgeschichtebasel_ch.png\" width=\"540px\" alt=\"\"\u003e\u003c/a\u003e                         |\n| [**sgb-figures**](https://dokumentation.stadtgeschichtebasel.ch/sgb-figures/)\u003cbr\u003eReproducible code and annotated data for publication-ready visualisations of research data; agents can keep captions, changelog entries, and formatting in sync with analytical updates.       | \u003ca href=\"https://dokumentation.stadtgeschichtebasel.ch/sgb-figures/\"\u003e\u003cimg src=\"https://maehr.github.io/one-template-to-rule-them-all/paper/images/dokumentation_stadtgeschichtebasel_ch_sgb_figures.png\" width=\"540px\" alt=\"\"\u003e\u003c/a\u003e |\n\n### 📊 Reproducible Research Workflows\n\n| Project                                                                                                                                                                                                                                                        | Preview                                                                                                                                                                                 |\n| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [**nordatlantisk-ft**](http://mtwente.github.io/nordatlantisk-ft/)\u003cbr\u003eVoting records from the parliament of Denmark with complete data scraping and analysis pipeline; agents can scaffold scrapers, refresh documentation, and run formatting before release. | \u003ca href=\"http://mtwente.github.io/nordatlantisk-ft\"\u003e\u003cimg src=\"https://maehr.github.io/one-template-to-rule-them-all/paper/images/nordatlantisk_ft_report.png\" width=\"540px\" alt=\"\"\u003e\u003c/a\u003e |\n| [**maxvogt-analysis**](https://mtwente.github.io/maxvogt-analysis/)\u003cbr\u003eMulti-step data compilation workflow documentation; agents can keep processing notes, metadata edits, and changelog updates aligned across the pipeline.                                | \u003ca href=\"https://mtwente.github.io/maxvogt-analysis\"\u003e\u003cimg src=\"https://maehr.github.io/one-template-to-rule-them-all/paper/images/maxvogt_analysis.png\" width=\"540px\" alt=\"\"\u003e\u003c/a\u003e       |\n| [**Modelling Marti**](https://mtwente.github.io/modelling-marti)\u003cbr\u003eTopic modeling project with interactive visualizations and multimedia content as narrative elements; agents can automate notebook-to-doc updates, link checks, and release preparation.    | \u003ca href=\"https://mtwente.github.io/modelling-marti\"\u003e\u003cimg src=\"https://maehr.github.io/one-template-to-rule-them-all/paper/images/modelling_marti.png\" width=\"540px\" alt=\"\"\u003e\u003c/a\u003e         |\n\n### 🎓 Academic Events \u0026 Teaching\n\n| Project                                                                                                                                                                                                                                           | Preview                                                                                                                                                                                           |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [**Digital History Switzerland 2024**](https://digihistch24.github.io/)\u003cbr\u003eConference website with program, abstracts, and participant information; agents can batch-edit schedules, validate links, and keep publication assets consistent.      | \u003ca href=\"https://digihistch24.github.io/\"\u003e\u003cimg src=\"https://maehr.github.io/one-template-to-rule-them-all/paper/images/digihistch24.png\" width=\"540px\" alt=\"\"\u003e\u003c/a\u003e                                |\n| [**Digital Humanities Bern**](https://dhbern.github.io/)\u003cbr\u003eDepartment hub featuring news, events, and course information; agents can maintain navigation, announcement pages, and formatting checks for multi-page sites.                        | \u003ca href=\"https://dhbern.github.io/\"\u003e\u003cimg src=\"https://maehr.github.io/one-template-to-rule-them-all/paper/images/dhbern.png\" width=\"540px\" alt=\"\"\u003e\u003c/a\u003e                                            |\n| [**Decoding Inequality 2025**](https://dhbern.github.io/decoding-inequality-2025/)\u003cbr\u003eUniversity course website with syllabus and materials; agents can help update teaching materials, sync metadata, and prepare changelog-ready release notes. | \u003ca href=\"https://dhbern.github.io/decoding-inequality-2025/\"\u003e\u003cimg src=\"https://maehr.github.io/one-template-to-rule-them-all/paper/images/decoding_inequality_2025.png\" width=\"540px\" alt=\"\"\u003e\u003c/a\u003e |\n\n### 📚 Living Publications \u0026 Handbooks\n\n| Project                                                                                                                                                                                                                                                                    | Preview                                                                                                                                                                                                        |\n| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [**Non-discriminatory Metadata**](https://maehr.github.io/diskriminierungsfreie-metadaten/)\u003cbr\u003eComprehensive handbook that functions as both documentation and scholarly publication; agents can keep long-form docs, citations, and accessibility checks aligned.         | \u003ca href=\"https://maehr.github.io/diskriminierungsfreie-metadaten/\"\u003e\u003cimg src=\"https://maehr.github.io/one-template-to-rule-them-all/paper/images/diskriminierungsfreie_metadaten.png\" width=\"540px\" alt=\"\"\u003e\u003c/a\u003e |\n| [**One Template to Rule Them All**](https://maehr.github.io/one-template-to-rule-them-all/)\u003cbr\u003eThis repository's own presentation site, demonstrating meta-application; agents can reuse the same setup, validation, and publication workflow documented in this template. | \u003ca href=\"https://maehr.github.io/one-template-to-rule-them-all/\"\u003e\u003cimg src=\"https://maehr.github.io/one-template-to-rule-them-all/paper/images/one_template_to_rule_them_all.png\" width=\"540px\" alt=\"\"\u003e\u003c/a\u003e     |\n\n## Installation\n\nWe recommend using **[GitHub Codespaces](https://github.com/features/codespaces)** for a reproducible setup.\n\n## Getting Started\n\n### Prek Git Hooks\n\nThis template uses [Prek](https://prek.j178.dev/) for managing Git hooks with a pre-commit-compatible configuration. To install hooks locally:\n\n```bash\nnpm install\nnpm run prepare\n```\n\nTo run all hooks on demand:\n\n```bash\nprek run --all-files\n```\n\nIf Prek is not installed globally, you can run:\n\n```bash\nnpx @j178/prek run --all-files\n```\n\n### For Most Users: Reproducible Setup with GitHub Codespaces\n\n1. **[Use this template](https://github.com/new?template_name=open-research-data-template\u0026template_owner=maehr)** for your project in a new repository on your GitHub account.\n\n   \u003cdiv align=\"center\"\u003e\n     \u003cimg src=\"https://github.com/maehr/open-research-data-template/raw/main/.github/docs/assets/img_use.png\" alt=\"Use the repository\" style=\"width: 540px; margin: 1em 0;\" /\u003e\n   \u003c/div\u003e\n\n2. Click the green **`\u003c\u003e Code`** button at the top right of this repository.\n\n3. Select the **“Codespaces”** tab and click **“Create codespace on `main`”**.\n   GitHub will now build a container that includes:\n   - ✅ Node.js (via `npm`)\n   - ✅ Python with `uv`\n   - ✅ R with `renv`\n   - ✅ Quarto\n\n   \u003cdiv align=\"center\"\u003e\n     \u003cimg src=\"https://github.com/maehr/open-research-data-template/raw/main/.github/docs/assets/img_codespace.png\" alt=\"Create Codespace\" style=\"width: 540px; margin: 1em 0;\" /\u003e\n   \u003c/div\u003e\n\n4. Once the Codespace is ready, open a terminal and preview the documentation:\n\n   ```bash\n   uv run quarto preview\n   ```\n\n   \u003cdiv align=\"center\"\u003e\n     \u003cimg src=\"https://github.com/maehr/open-research-data-template/raw/main/.github/docs/assets/img_terminal.png\" alt=\"Terminal window showing command\" style=\"width: 540px; margin: 1em 0;\" /\u003e\n   \u003c/div\u003e\n\n\u003e **Note:** All dependencies (Node.js, Python, R, Quarto) are pre-installed in the Codespace.\n\n\u003cdetails\u003e\n\u003csummary\u003e👩‍💻 \u003cstrong\u003eAdvanced\u003c/strong\u003e Local Installation\u003c/summary\u003e\n\n#### Prerequisites\n\n- [Node.js](https://nodejs.org/en/download/)\n- [R](https://cran.r-project.org/) and Rtools (on Windows)\n- [uv (Python manager)](https://github.com/astral-sh/uv#installation)\n- [Quarto](https://quarto.org/docs/get-started/)\n\n\u003e _Note: `uv` installs and manages the correct Python version automatically._\n\n#### Local Setup Steps\n\n```bash\n# 1. Install Node.js dependencies\nnpm install\nnpm run prepare\n\n# 2. Setup Python environment\nuv sync\n\n# 3. Setup R environment\nRscript -e 'install.packages(\"renv\"); renv::restore()'\n\n# 4. Preview documentation\nuv run quarto preview\n```\n\n\u003c/details\u003e\n\n## Project Setup\n\nAfter creating your project from this template (either via Codespaces or local setup), follow the comprehensive checklist in [TODO.md](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.\n\nIf you want a coding agent to help, point it to [.github/copilot-instructions.md](.github/copilot-instructions.md) first and then ask it to work through the checklist items marked as agent-assisted.\n\n| Setup step                                                            | Typical owner                                  | References                                                                                                        |\n| --------------------------------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |\n| Replace placeholders, customize metadata, and update documentation    | 🤖 Agent-assisted                              | [TODO.md](TODO.md), [.github/copilot-instructions.md](.github/copilot-instructions.md)                            |\n| Run formatting, changelog, preview, and validation commands           | 🤖 Agent-assisted                              | [Use](#use), [.github/template-site/agent-release-workflow.qmd](.github/template-site/agent-release-workflow.qmd) |\n| Enable GitHub Security, Branch Protection, Pages, and Zenodo settings | 👤 Manual in GitHub/Zenodo                     | [TODO.md](TODO.md)                                                                                                |\n| Approve the final release and publish production artifacts            | 🤝 Shared: agent prepares, maintainer confirms | [.github/template-site/agent-release-workflow.qmd](.github/template-site/agent-release-workflow.qmd)              |\n\n## Use\n\nCheck that all files are properly formatted.\n\n```bash\nnpm run check\n```\n\nFormat all files with [Prettier](https://prettier.io/).\n\n```bash\nnpm run format\n```\n\nFormat all Python files with [Ruff](https://github.com/astral-sh/ruff) and lint with [ty](https://github.com/astral-sh/ty) (if applicable).\n\n```bash\nuv run ruff format\nuv run ruff check\nuv run ty check\n```\n\nFormat all R files with [styler](https://styler.r-lib.org/) and lint with [lintr](https://lintr.r-lib.org/).\n\n```r\nstyler::style_dir(\".\")\nlintr::lint_dir(\".\")\n```\n\nRun the wizard to write meaningful commit messages.\n\n```bash\nnpm run commit\n```\n\nFor agent workflows, prefer one focused commit per logical change so `git-cliff` can turn the Conventional Commit subject into a short changelog line without extra cleanup. Multi-line commit messages are now truncated to their first line in changelog output, so keeping the subject specific is what matters most.\n\nRun the wizard to draft changelog entries.\n\n```bash\nnpm run changelog\n```\n\nFor repositories created from this template, curate the result in `CHANGELOG.template.md` and rename it to `CHANGELOG.md` during finalization.\n\nIf you only need a compact preview while iterating with a coding agent, use:\n\n```bash\nnpm run changelog:unreleased\n```\n\nIf your clone is shallow, fetch the full history first so the generated changelog reflects the history you want to summarize:\n\n```bash\ngit fetch --tags --unshallow origin\n```\n\nPreview the documentation.\n\n```bash\nquarto preview\n```\n\nCheck for broken links in the source documentation with [Lychee](https://lychee.cli.rs/).\n\nLychee is a Rust-based CLI tool. Install it first:\n\n- macOS: `brew install lychee`\n- Linux: `cargo install lychee`\n- Other: See [lychee.cli.rs](https://lychee.cli.rs/)\n\nThen run the link check:\n\n```bash\nnpm run lychee-check\n```\n\nPrepare a Zenodo-friendly site archive before creating a GitHub release.\n\n```bash\nnpm run site:build\nnpm run site:archive -- --tag v1.0.0\n```\n\nOr run the combined helper, which builds the site, creates `release-artifacts/site-v1.0.0.zip`, and stages the archive directory for commit:\n\n```bash\nnpm run release:prepare -- --tag v1.0.0\nnpm run commit\n```\n\nCommit the generated archive before you publish the GitHub release. Zenodo captures files that are already in the tagged repository snapshot, while the release workflow only mirrors the same ZIP onto the GitHub release page for convenient downloading.\n\nIf you change Quarto's output directory from `_site`, pass the matching folder with `--site-dir`, for example `npm run site:archive -- --tag v1.0.0 --site-dir site`.\n\n## Support\n\nThis project is maintained by [@maehr](https://github.com/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.\n\n| Type                                   | Platforms                                                                              |\n| -------------------------------------- | -------------------------------------------------------------------------------------- |\n| 🚨 **Bug Reports**                     | [GitHub Issue Tracker](https://github.com/maehr/open-research-data-template/issues)    |\n| 📊 **Report bad data**                 | [GitHub Issue Tracker](https://github.com/maehr/open-research-data-template/issues)    |\n| 📚 **Docs Issue**                      | [GitHub Issue Tracker](https://github.com/maehr/open-research-data-template/issues)    |\n| 🎁 **Feature Requests**                | [GitHub Issue Tracker](https://github.com/maehr/open-research-data-template/issues)    |\n| 🛡 **Report a security vulnerability** | See [SECURITY.md](SECURITY.md)                                                         |\n| 💬 **General Questions**               | [GitHub Discussions](https://github.com/maehr/open-research-data-template/discussions) |\n\n## Template roadmap\n\n### v1.0.0 release readiness\n\n- [x] Document agent-assisted setup, validation, and release preparation workflows\n- [x] Ship changelog guidance that is based on commit history and ready for automation\n- [x] Preserve rendered HTML documentation in tagged repository snapshots for Zenodo archival\n- [x] Record the template repository's Zenodo concept DOI and live citation metadata\n- [ ] Publish the first stable GitHub release for the repository\n\n### Post-v1.0.0\n\n- [ ] Expand agent recipes for project-specific metadata, showcase updates, and support tasks\n- [ ] Add smoke tests for preview and template customization paths\n- [ ] Grow the showcase gallery with more agent-assisted research data projects\n\n## Contributing\n\nPlease see [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.\n\n## Authors and credits\n\n- **Moritz Mähr** - _Initial work_ - [maehr](https://github.com/maehr) - [ORCID](https://orcid.org/0000-0002-1367-1618)\n- **Moritz Twente** - _Enhancements_ - [mtwente](https://github.com/mtwente) - [ORCID](https://orcid.org/0009-0005-7187-9774)\n\nSee also the list of [contributors](https://github.com/maehr/open-research-data-template/graphs/contributors) who contributed to this project.\n\n## License\n\nThe data in this repository is released under the Creative Commons Attribution 4.0 International (CC BY 4.0) License - see the [LICENSE-CCBY](LICENSE-CCBY.md) 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.\n\nThe code in this repository is released under the GNU Affero General Public License v3.0 - see the [LICENSE-AGPL](LICENSE-AGPL.md) file for details. By using this code, you agree to make any modifications available under the same license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaehr%2Fopen-research-data-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaehr%2Fopen-research-data-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaehr%2Fopen-research-data-template/lists"}