A tool to generate beautiful SVG cards showing your GitHub statistics and programming language distribution.
- Generates an overview SVG card with GitHub statistics:
- Total contributions
- Total stars and forks
- Lines of code changed
- Repository views
- Creates a languages SVG card showing your programming language distribution
- 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@latest
- Set up your GitHub token as an environment variable:
export GITHUB_TOKEN=your_github_token # Required: GitHub personal access token
export CUSTOM_ACTOR=your_github_username # Optional: Defaults to GITHUB_ACTOR
- Run the program:
github-status --output ./output
- The generated SVG files will be available in the output directory.
The following environment variables can be used to customize the behavior:
GITHUB_TOKEN
orACCESS_TOKEN
: Your GitHub personal access token (required)GITHUB_ACTOR
orCUSTOM_ACTOR
: GitHub usernameEXCLUDE_REPOS
: Comma-separated list of repositories to exclude (e.g., "repo1,repo2")EXCLUDE_LANGS
: Comma-separated list of languages to exclude (e.g., "HTML,CSS")INCLUDE_OWNER
: Comma-separated list of GitHub usernames to include (defaults to your username)IGNORE_FORKED_REPOS
: Set to "true" to ignore forked repositoriesIGNORE_ARCHIVED_REPOS
: Set to "true" to ignore archived repositoriesIGNORE_PRIVATE_REPOS
: Set to "true" to ignore private repositoriesIGNORE_CONTRIBUTED_TO_REPOS
: Set to "true" to ignore repositories you've contributed toWEBHOOK_URL
: URL to send the generated statistics to (optional)
--output
: Specify the output directory for generated SVG files (default: "output")--debug
: Enable debug mode to generate additional JSON output
The program generates three files in the output directory:
overview.svg
: Contains general GitHub statisticslanguages.svg
: Shows programming language distributionstats.json
: Raw statistics data in JSON format
# Basic usage with token
export ACCESS_TOKEN=ghp_your_token_here
github-status --output ./my-stats
# Advanced usage with filters
export ACCESS_TOKEN=ghp_your_token_here
export EXCLUDE_REPOS=repo1,repo2
export EXCLUDE_LANGS=HTML,CSS
export IGNORE_FORKED_REPOS=true
export IGNORE_PRIVATE_REPOS=true
github-status --output ./my-stats --debug
# Using with multiple owners
export ACCESS_TOKEN=ghp_your_token_here
export INCLUDE_OWNER=owner1,owner2,owner3
github-status --output ./my-stats
You can integrate the generated SVG files into your GitHub profile README by adding the following markdown:


- Go 1.23 or higher
- GitHub Personal Access Token with the following scopes:
repo
: Full access to private and public repositoriesread:user
: Read access to user profile data
# Clone the repository
git clone https://github.com/tbxark/github-status.git
cd github-status
# Build the binary
make build-linux-amd # For Linux AMD64
make build-linux-arm # For Linux ARM64
This project was inspired by the jstrieb/github-stats project
github-status is released under the MIT license. See LICENSE for details.