This guide describes the minimal “publishable” research-code repository for HESCOR (README + LICENSE + CITATION), and a set of nice-to-haves that improve reuse and discoverability.
Must-have (minimum)
- What does this repo do (and for whom)?
- 1–3 sentences are enough.
Nice-to-have (recommended)
- What was it used for? (paper/project, analysis goal, method context)
- Quick start: how to install/run it (or where the docs are)
- Expected input/output (for code/data)
- Current status (prototype / stable / archived, etc.)
Add an explicit license so others know what is allowed.
Minimum requirement
- Add a file named
LICENSE(orLICENSE.md)
Common choices depend on your intent (e.g., MIT for code, CC-BY-4.0 for text/data). If you’re unsure, ask for guidance.
Add a CITATION.cff file to the root of your repo so GitHub shows a “Cite this repository” UI.
Minimal example
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "YOUR PROJECT TITLE"
type: software
authors:
- family-names: "LastName"
given-names: "FirstName"
orcid: "https://orcid.org/0000-0000-0000-0000"
version: 0.1.0
date-released: 2025-12-17
doi: 10.5281/zenodo.XXXXXXXIf someone can install, run one example, and cite it, it is already a win.
- Create versioned releases (
v0.1,v1.0, …) - If connected to Zenodo, each GitHub Release is typically archived and can get a DOI
Concept DOI vs Version DOI
- Version DOI = one specific release
- Concept DOI = represents all versions (stable “software as a whole” DOI)
Metadata note
If you have both .zenodo.json and CITATION.cff, Zenodo will use .zenodo.json for its archiving metadata.
Include at least one:
requirements.txt,environment.yml,pyproject.toml,renv.lock, etc.
- What data is needed?
- Where to get it?
- Any access restrictions / ethics notes?
- A minimal runnable example is often more valuable than long prose.
Topics improve discoverability and grouping.
- Open your repo on GitHub
- Right sidebar → About
- Gear icon → add topics (include hescor) → Save
Nice-to-have minimum
hescor
Suggested topics (pick what fits)
Domains: archaeology, paleoclimate, paleovegetation, remote-sensing, phenology, geospatial, machine-learning
Languages: python, r, julia, …
[](https://github.com/HESCOR)GitHub orgs only list org-owned repos in the Repositories tab. To also feature member-owned repos, we curate the org Overview page using:
HESCOR/.github→profile/README.md
How to add your repository
- Open a PR:
https://github.com/HESCOR/.github - Edit:
profile/README.md - Add a bullet under the right section (Research software / Infrastructure / Tools)
- Include: repo link + 1–2 sentences + DOI (if applicable)
Template bullet
- [OWNER/REPO](https://github.com/OWNER/REPO) — One-sentence description. (Language) (License) (DOI if available)-
README.mdcontains at least: what the repo does - License file present (
LICENSEorLICENSE.md) -
CITATION.cffpresent
- README also includes: what it was used for + quick start + inputs/outputs + status
- Dependencies file present
- Data note present
- Example config + toy dataset
- Releases used; Zenodo connected (if DOI desired)
- Topics set (includes
hescor) - HESCOR badge added
- Repo listed on HESCOR org overview page
- Repo is public (if possible)