Update Badges
Refresh the badges in your README.md from nova.config.json.
Summary
The update-badges recipe rewrites the badges of a README.md file so the npm, Docker, GitHub, and funding shields stay in sync with nova.config.json. It reuses the exact builder the generate must-haves read-me command uses, so the spliced badges are byte-identical to a freshly generated region.
The recipe only touches the marked region. Everything before the <!-- nova-region: badges --> marker and everything after the <!-- nova-region-end: badges --> marker is left byte-identical, so hand-written prose around the badges is never disturbed.
Prerequisites
- An existing
README.md— The recipe updates a file in the project root; it does not create one. Usegenerate must-haves read-meto create the initial file. - The
badgesregion markers — TheREADME.mdmust contain the<!-- nova-region: badges -->and<!-- nova-region-end: badges -->markers. Agenerate must-haves read-mefile has them by default. - Badge inputs — At least one of
github.ownerandgithub.repo,urls.npm,urls.docker, orurls.fundSourcesinnova.config.jsonso there are badges to render.
Behavior
The recipe follows an in-place splice so it can only ever rewrite the region it owns.
- Region gate — The
badgesregion markers must both be present and correctly ordered. If the markers are absent, misordered, or theREADME.mdwas not generated by Nova, the recipe warns that the region markers were not found and returns without writing. - Region-only splice — Only the content between the markers is replaced. The markers and all content outside them are preserved exactly.
- Not applicable — When the current
nova.config.jsonyields no badges, the recipe warns and returns without touching the file. - Idempotent — When the regenerated badges already match the file on disk, the recipe reports that the badges are already up to date and makes no write.
Settings
Settings are configured in nova.config.json under the recipes.read-me key. The update-badges recipe is controlled by a single enabled toggle:
{
"recipes": {
"read-me": {
"update-badges": {
"enabled": true
}
}
}
}
When the recipe is not enabled, it warns and returns without touching any files.
Usage
Options
| Flag | Description |
|---|---|
-d, --dry-run | Run without writing any files. |
-r, --replace-file | Replace the original file without creating a backup. |