A Zenodo record with a bare title and no keywords is a catalog record with no subject headings: retrievable if you already know it exists, invisible if you don’t.
The tools are GitHub topics, Zenodo fields, and a README. The question is the same: what would a seeker search for, and does this record contain it?
You already have a license, a CITATION.cff, and a DOI. This episode ties them together.
What counts as useful metadata?
Good metadata answers predictable questions with minimal effort from the reader:
What is this software? A short description or abstract
Who made it? Authors and ORCIDs
How do I cite it? CITATION.cff and a DOI
What field is it for? Keywords
What else does it relate to? A related article, dataset, or funder
Add GitHub Topics
On your repo’s front page, click the gear icon next to About, then fill in Topics:
Add a ## heading for each of the 7 sections: About, Features, Getting Started, Usage, Citation, License, Contact
Fill in what you can, then Commit changes to main
Short on time? Keep your title and DOI badge, replace everything below them with the starter README from the Etherpad, then replace YOUR-USERNAME, YOUR-DOI, and YOUR-RECORD-ID (from your Sandbox record’s web address).
Next: compare yours with the reference README.
Before → after
❌ Before (main, starting state)
# Biodiversity Analysis ToolkitAnalysis tools for biodiversityresearch data.
One line of description. No install steps, no usage, no citation, no license, no one to contact.
✅ After (05-add-metadata, abridged)
# Biodiversity Analysis Toolkit[DOI badge] [License badge]Analysis tools for biodiversity... <!-- 1 About -->## Features <!-- 2 -->- Citable, open source, documented## Getting Started <!-- 3 -->Prerequisites: Python 3.9+### Installation & Usage <!-- 4 -->pip install -r requirements.txtpython src/analysis.py## Citation <!-- 5 -->Cite via CITATION.cff or the DOI badge.## License <!-- 6 -->BSD 3-Clause. See LICENSE.## Contact <!-- 7 -->Open an issue in this repository.
Beyond the README: community health files
CONTRIBUTING.md
How to contribute. Add one if you want contributions, or say plainly that you don’t.
CODE_OF_CONDUCT.md
Behavioral standards. Contributor Covenant is the standard choice.
CHANGELOG.md
Version history: what’s new, what broke, what changed.
GitHub recognizes certain filenames
File
What GitHub does
README.md
Renders as the repository’s landing page
LICENSE
Shows the license in the repo sidebar
CITATION.cff
Adds “Cite this repository” with APA/BibTeX
CODE_OF_CONDUCT.md
Counts toward the community profile
CONTRIBUTING.md
Links guidelines when someone opens an issue/PR
SECURITY.md
Becomes the security policy
These only appear once the file is on the default branch. GitHub changes the details, so teach the pattern: the filename is the signal.
Where should software live?
Zenodo is the recommended deposit location for software:
Archives each GitHub release automatically
Mints a DOI for every version
Registers records with DataCite, which discovery services harvest
Free, run by CERN, recognized by journals and funders
Dataverse and Dryad are good for datasets, but don’t auto-integrate with GitHub releases the same way.
UC-specific: all UC campuses have Dryad. If you deposit data there, Dryad prompts a linked Zenodo code deposit automatically.
Zenodo metadata is what discovery systems see
Zenodo registers each record with DataCite. Search tools and discovery services pick it up from there, so the Zenodo record is what they show.
Add or refine: authors + ORCIDs, keywords, related works, funding, a readable description.
Caution: if a repo has a .zenodo.json, Zenodo uses that file, not CITATION.cff. Keep them in sync or you’ll publish two different citation records for the same software.
Supporting others: priority order when metadata is thin
A readable description, the biggest loss when it’s missing
Author ORCIDs: without them, every J. Chen on Zenodo looks the same
Keywords, reused consistently across GitHub, CITATION.cff, Zenodo
Related works: link the software to its paper, dataset, and grant
Challenge: improve your Zenodo record
⏱ 5 min
Open your record on Zenodo Sandbox (sandbox.zenodo.org) from the release episode. Select Edit, and add:
keywords
author ORCIDs, if they’re missing
a real description
optional: a related paper or funder, if you have one
Save and publish the updated record when done.
Challenge: which change makes it discoverable?
⏱ 3 min
A tool has been public on GitHub for a year: one-line README, no topics, a Zenodo record with only a title. Which single change matters most?
A. Add collaborators
B. Descriptive topics, matching keywords, and a description
C. More frequent commits
D. A shorter name
B. People find software through its description. Commit activity doesn’t help. It’s the same reason a catalog record with no subject headings is nearly invisible.
Key points
Description is what makes software findable, on GitHub, Zenodo, and beyond
Use the same title, names, and description in CITATION.cff, README, topics, and Zenodo
Get involved
Join
Slack: day-to-day questions and resources
Newsletter: sign up from the Contact page
Your campus mailing list: also on the Contact page
Show up
All-campus virtual meetup: first Thursday of each month, 10am