A config-driven GitHub Profile README generator that displays your stats in a neofetch-style format. Fork this repo to create your own dynamic profile README with auto-updating GitHub statistics.
- Neofetch-style display with customizable ASCII art
- Auto-updating GitHub stats (repos, stars, commits, followers, lines of code)
- Dark/light mode support (automatically matches GitHub's theme)
- Fully configurable via a simple PowerShell hashtable
- Daily updates via GitHub Actions
Fork this repository to your GitHub account, then clone it:
git clone https://github.com/YOUR_USERNAME/YOUR_USERNAME.git
cd YOUR_USERNAMENote: For this to work as your profile README, your repo must be named the same as your GitHub username.
Create a classic personal access token at github.com/settings/tokens with these scopes:
-
repo(orpublic_repofor public repos only) -
read:user
Go to your repo's Settings > Secrets and variables > Actions and add:
| Secret Name | Value |
|---|---|
ACCESS_TOKEN |
Your GitHub personal access token |
USER_NAME |
Your GitHub username |
Edit config.ps1 with your information:
$Config = @{
Username = "your-username"
BirthYear = 1990 # Used for "Uptime" display
Profile = [ordered]@{
OS = "Your OS"
Uptime = $null # Auto-calculated from BirthYear
Host = "Your Company"
Kernel = "Your Job Title"
IDE = "Your IDE"
"Languages.Programming" = "Your Languages"
Hobbies = "Your Hobbies"
}
Contact = [ordered]@{
LinkedIn = "your-linkedin"
Discord = "your-discord"
GitHub = "your-github"
Blog = "your-blog.com"
}
# ... rest of config
}Edit ascii-art.txt with your own ASCII art. Keep it around 25 lines tall for best results.
For local development, create env.ps1:
$env:ACCESS_TOKEN = "your_token_here"
$env:USER_NAME = "your_username"Then generate the SVG templates:
pwsh -NoProfile ./New-ProfileSvg.ps1And update with your GitHub stats:
pwsh -NoProfile ./today.ps1git add .
git commit -m "Personalize profile README"
git pushGo to Actions tab and enable workflows. The action runs daily at 4 AM UTC to update your stats.
├── config.ps1 # Your configuration (edit this!)
├── ascii-art.txt # Your ASCII art (customize this!)
├── New-ProfileSvg.ps1 # Generates SVG templates from config
├── today.ps1 # Updates dynamic GitHub stats
├── env.ps1 # Local credentials (don't commit!)
├── dark_mode.svg # Generated dark theme SVG
├── light_mode.svg # Generated light theme SVG
└── cache/ # LOC calculation cache
New-ProfileSvg.ps1reads your config and generates the SVG templates with placeholders for dynamic datatoday.ps1queries the GitHub GraphQL API for your stats and updates the SVGs- GitHub Actions runs
today.ps1daily to keep stats current - GitHub renders the SVG in your profile, automatically switching between dark/light mode
Based on Andrew6rant/Andrew6rant, converted to PowerShell with a config-driven architecture.
MIT