A tool to generate beautiful SVG cards showing your GitHub statistics and programming language distribution.
- Generates an overview SVG card with GitHub statistics
- Creates a languages SVG card showing your programming language distribution
- Exports the render data of both cards as JSON (
overview.json,languages.json) for custom UIs - Highly customizable through environment variables
- Supports excluding specific repositories and languages
- Smart filtering options for forked, archived, and private repositories
- Flexible configuration for multiple GitHub owners
- Webhook support for integration with other services
go install github.com/tbxark/github-status@latestexport ACCESS_TOKEN=ghp_xxxxxxxx
export GITHUB_ACTOR=yourname
./github-status --output ./outputEvery run writes four files into the output directory:
| File | Description |
|---|---|
overview.svg |
Overview card |
languages.svg |
Languages card |
overview.json |
Sanitized render data of the overview card |
languages.json |
Sanitized render data of the languages card |
The JSON files contain exactly the aggregated values displayed on the cards (no repository level details), so they can be published next to the SVGs and reused by other pages to render the same UI without querying the GitHub API again.
All configuration is done through environment variables. Here are all the available options:
| Environment Variable | Type | Description | Default |
|---|---|---|---|
ACCESS_TOKEN / GITHUB_TOKEN |
string | GitHub access token for API authentication | Required |
CUSTOM_ACTOR / GITHUB_ACTOR |
string | GitHub username | Required |
EXCLUDE_REPOS |
string[] | Comma-separated list of repositories to exclude | [] |
EXCLUDE_LANGS |
string[] | Comma-separated list of languages to exclude | [] |
INCLUDE_OWNER |
string[] | Comma-separated list of GitHub owners to include | [username] |
IGNORE_PRIVATE_REPOS |
bool | Whether to ignore private repositories | false |
IGNORE_FORKED_REPOS |
bool | Whether to ignore forked repositories | false |
IGNORE_ARCHIVED_REPOS |
bool | Whether to ignore archived repositories | false |
IGNORE_CONTRIBUTED_TO_REPOS |
bool | Whether to ignore repositories you've contributed to | false |
IGNORE_LINES_CHANGED |
bool | Whether to ignore lines of code changed in statistics | false |
IGNORE_REPO_VIEWS |
bool | Whether to ignore repository view counts | false |
WEBHOOK_URL |
string | URL for webhook notifications | "" |
ANIMATION |
bool | Whether to enable animation in the SVG cards | false |
Note:
GITHUB_TOKENis limited requests on GitHub API, so it is recommended to use a personal access tokenACCESS_TOKENwith thereposcope.
Reference My GitHub Action
Create a repository action to automatically update the stats. The action will update the stats and push the changes to the main branch. And you can use it svg card in your README.md.
This project was inspired by the jstrieb/github-stats project
github-status is released under the MIT license. See LICENSE for details.