Summary
The current docvet badge is static — it always says docs vetted | docvet in purple regardless of actual results. A dynamic badge would show real status, similar to how Codecov shows a coverage percentage.
Desired behavior
- Passing:
docvet | passing (green)
- Findings:
docvet | 3 findings (yellow/red)
Implementation options
- GitHub Action writes badge JSON — the docvet GitHub Action writes a shields.io endpoint JSON file (e.g., to GitHub Pages or a gist), then consumers use
shields.io/endpoint?url=... to render it dynamically
- Badge service — a lightweight service that reads docvet results and returns shields.io-compatible JSON
- GitHub Action output — the Action outputs badge markdown that users can capture in their workflows
Option 1 is the simplest and most maintainable — no external service needed, just a JSON file alongside the docs site.
Prior art
- Codecov dynamic badges via endpoint URL
- Ruff's official badge via
raw.githubusercontent.com endpoint
- shields.io
endpoint badge documentation
Summary
The current docvet badge is static — it always says
docs vetted | docvetin purple regardless of actual results. A dynamic badge would show real status, similar to how Codecov shows a coverage percentage.Desired behavior
docvet | passing(green)docvet | 3 findings(yellow/red)Implementation options
shields.io/endpoint?url=...to render it dynamicallyOption 1 is the simplest and most maintainable — no external service needed, just a JSON file alongside the docs site.
Prior art
raw.githubusercontent.comendpointendpointbadge documentation