Dynamic SVG widgets for GitHub, ready to embed into your README
Explore the docs »
Report Bug
·
Request Feature
Open the official widget builder at github-widgets.kretoffer.com, pick a widget, customize it, and copy the generated snippet into your README.md. That's it.
A roadmap card generated from repository issues, with status badges (open/closed), labels and a custom heading.

| Parameter | Default | Description |
|---|---|---|
count |
20 |
Number of issues to show |
header-text |
Roadmap |
Card heading text |
width |
700 |
Card width in px, 300 – 1600 |
theme |
default |
Predefined widget theme |
labels |
true |
Show labels on issue card |
closed |
false |
Show closed issues |
animation-duration |
0.7 |
Time in seconds (s) for one issue to appear, not the whole animation. Issues appear one by one; total animation time = animation-duration × number of issues. 0 — no animation |

Run your own instance with Docker:
docker run -e GITHUB_TOKEN=your_token -p 8000:8000 ghcr.io/kretoffer/github-widgets:latestRequired environment variables (see .env.example):
GITHUB_TOKEN— GitHub token used to fetch repository data
Then point your embeds to your own host instead of the public instance.
uv sync --all-groups
uv run github-widgetsQuality checks:
uv run ruff check
uv run pyright
uv run pytestProject layout:
src/
├── api/ # FastAPI routes
├── schemas/ # Pydantic models
├── templates/ # SVG templates
└── tools/ # GitHub API and render logic