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