A build-it-yourself guide. The CI workflow (.github/workflows/ci.yml,
testing Python 3.10–3.13) already runs on every push and PR. This surfaces its result as a badge
at the top of the README — a cheap, at-a-glance signal of health for anyone evaluating the
package.
main.This one depends on CI landing first — and it has. GitHub auto-serves a badge SVG for any workflow at a predictable URL built from the repo and the workflow file name:
IsaiahKoamalu/modulearnci.yml (the name: inside is CI —
that's the badge's label).main. That's what you want at the top of a README — "is main
green right now?"# ModuLearn titleThe image links to the workflow's run history so a click goes straight to the logs.
# ModuLearn
[](https://github.com/IsaiahKoamalu/modulearn/actions/workflows/ci.yml)
?branch=main to the badge.svg URL to make the "reflects main" behavior
explicit and immune to anyone running the workflow from a fork branch.The SVG is public — you can fetch it before pushing to confirm the URL is right, then eyeball it on GitHub after.
curl -sI "https://github.com/IsaiahKoamalu/modulearn/actions/workflows/ci.yml/badge.svg" \
| grep -i "content-type" # expect: image/svg+xml
# after pushing: open the repo on GitHub — badge shows "CI passing" (green)
# click it — lands on the workflow's runs list
ci.yml and that a run exists via gh run list --workflow ci.yml.git add README.md
git commit -m "README: add CI status badge"
git push
gh run list --branch main --limit 1 # expect: success (and the badge follows it)
Add done:true, to the
{area:"hygiene", … title:"CI status badge"} item in
docs/roadmap.html.