Minimal, modern GitHub statistics cards for your profile README.
- 🎨 Minimal Design - Clean and modern SVG cards
- 🌏 i18n Support - English and Japanese localization
- 🎭 Themes - Multiple built-in themes
- ⚡ Fast - Powered by Cloudflare Workers
- 📊 Three Card Types - Stats, Languages, and Repository cards
Show your GitHub statistics:
| Parameter | Description | Default |
|---|---|---|
username |
GitHub username | Required |
hide |
Hide specific stats (comma-separated: stars,commits,prs,issues,contribs) |
None |
hide_rank |
Hide the rank circle | false |
show_icons |
Show icons | false |
theme |
Theme name | default |
locale |
Language (en or ja) |
en |
include_all_commits |
Count all commits | false |
card_width |
Card width in pixels | 450 |
Display your most used programming languages:
| Parameter | Description | Default |
|---|---|---|
username |
GitHub username | Required |
layout |
Layout type (normal or compact) |
normal |
langs_count |
Number of languages to show | 8 |
exclude_repo |
Exclude specific repos (comma-separated) | None |
theme |
Theme name | default |
locale |
Language (en or ja) |
en |
card_width |
Card width in pixels | 300 |
Showcase a specific repository:
| Parameter | Description | Default |
|---|---|---|
username |
GitHub username | Required |
repo |
Repository name | Required |
show_owner |
Show owner name | false |
theme |
Theme name | default |
locale |
Language (en or ja) |
en |
card_width |
Card width in pixels | 400 |
Available themes:
default- Light themedark- Dark themeradical- Gradient thememerko- Green themegruvbox- Gruvbox themetokyonight- Tokyo Night themeonedark- One Dark themecobalt- Cobalt themesynthwave- Synthwave themedracula- Dracula theme
Add locale=ja to any card URL for Japanese:
- Node.js 18+
- pnpm
- Cloudflare account
- GitHub personal access token
- Clone the repository:
git clone https://github.com/paveg/devcard.git
cd devcard- Install dependencies:
pnpm install- Create
.dev.varsfile:
GITHUB_TOKEN=your_github_token_here
- Start development server:
pnpm devDeploy to Cloudflare Workers:
pnpm deploy- Cloudflare KV: API responses are cached to reduce GitHub API calls
- Stats: 1 hour
- Languages: 2 hours
- Repository: 30 minutes
- Browser caching: Proper cache headers for CDN and browser caching
- Error caching: Failed requests are cached for 5 minutes to prevent API hammering
- Per IP: 30 requests/minute, 100 requests/hour
- Per username: 50 requests/hour (prevents abuse of specific users)
- Returns 429 status with retry information when exceeded
- Compression: SVG responses are automatically compressed
- Minimal design: Optimized SVG output for smaller file sizes
This service uses the GitHub GraphQL API. Each card request counts against your rate limit:
- Unauthenticated: 60 requests/hour
- Authenticated: 5,000 requests/hour
Consider deploying your own instance for heavy usage.
MIT
Inspired by github-readme-stats