Transform your GitHub Profile into a developer's workspace.
This repository generates a dynamic SVG card that displays your GitHub statistics with a terminal interface aesthetic. Unlike static images, this card features a slick typing animation, making your profile feel alive and active.
It is fully automated using GitHub Actions, so your stats are always up-to-date without any manual work.
- 📺 Terminal Aesthetic: Mimics a real CLI environment.
- ⌨️ Typing Animation: Stats appear as if they are being typed in real-time.
- 🎨 Multiple Themes: Includes 10+ themes like Ubuntu, Dracula, Monokai, and Hacker.
- 🔄 Fully Automated: Updates daily via GitHub Actions.
- ⚡ Lightweight: Optimized SVG format for fast loading.
Follow these steps to add this to your profile in less than 5 minutes.
You can either fork this repository or use it as a template to create a new one.
To allow the script to read your stats and update the SVG, you need a GitHub Token.
- Go to Settings → Developer settings → Personal access tokens → Tokens (classic).
- Click Generate new token (classic).
- Select the following scopes:
- ✅
repo(Full control of private repositories) - ✅
workflow(Update GitHub Action workflows)
- ✅
- Click Generate token and copy it immediately.
- Go to your repository's Settings tab.
- Navigate to Secrets and variables → Actions.
- Click New repository secret.
- Name:
GHT - Value: Paste the token you copied in Step 2.
- Click Add secret.
- Go to Settings → Actions → General.
- Scroll down to Workflow permissions.
- Select Read and write permissions.
- Click Save.
- Go to the Actions tab in your repository.
- Click on the Update Github Stats workflow on the left.
- Click Run workflow.
Once finished, a file named github_stats.svg will be generated in your repository!
You can change the appearance of your terminal by modifying the workflow file.
- Open
.github/workflows/main.yml. - Look for the step running
node dist/bin/github-stats-terminal.js. - Change the command to use your desired theme:
node dist/bin/github-stats-terminal.js ${{ github.repository_owner }} <themeName>| Theme Sample | Theme Name | Theme Sample | ThemeName |
|---|---|---|---|
| ubuntu | hacker | ||
| dracula | monokai | ||
| github | powershell |
node dist/bin/github-stats-terminal.js ${{ github.repository_owner }} <themeName>By default, the stats update every day at 02:47 UTC. To change this:
- Open .github/workflows/main.yml.
- Edit the cron line:
on:
schedule:
# Runs every day at 2:47 UTC
- cron: '47 2 * * *'You can use crontab.guru to generate a custom schedule.
Once your github_s❤️tats.svg is generated, you can add it to your profile README.md or anywhere
Contributions are welcome! If you want to add a new theme or feature:
- Fork the project.
- Create your feature branch (git checkout -b feature/AmazingTheme).
- Commit your changes.
- Open a Pull Request.
This project is licensed under the MIT License.
Thank You ❤️