Transform your GitHub activity into a unique, mathematically-derived piece of generative art.
Your code has a soul. This is its aura. โจ
Git-Aura analyzes your GitHub statistics and creates a beautiful, animated SVG visualization โ your coding "aura". No more boring bar charts. This is art derived from math.
| Feature | Description |
|---|---|
| ๐จ Unique Identity | Each aura is deterministically generated from your GitHub user ID |
| ๐ Language Colors | Color palette derived from your top programming languages |
| ๐ Particle Flow | Organic curves using Simplex noise algorithms |
| ๐ซ Activity Glow | Commit streaks influence the glow intensity |
| ๐ Dark Mode | Designed for GitHub's dark theme |
| ๐ Auto Updates | GitHub Action keeps your aura fresh daily |
You MUST complete this step first, or the workflow will fail!
๐ Step 1: Create Personal Access Token (PAT)
The default GITHUB_TOKEN cannot read user contribution data. Create a PAT:
- ๐ Go to github.com/settings/tokens/new
- โ๏ธ Note:
git-aura - โฐ Expiration: 90 days (or custom)
- โ๏ธ Select scope:
read:user - ๐ข Click "Generate token"
- ๐ Copy the token (starts with
ghp_...)
๐ Step 2: Add Token to Your Repository
- Go to your forked repository
- Click Settings โ Secrets and variables โ Actions
- Click "New repository secret"
- Fill in:
Field Value Name GH_PATSecret paste your token - Click "Add secret" โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1๏ธโฃ Fork this repository โ
โ โโโโถ Click "Fork" button above โ
โ โ
โ 2๏ธโฃ Add GH_PAT secret (see Prerequisites โ๏ธ) โ
โ โโโโถ Settings โ Secrets โ Actions โ New secret โ
โ โ
โ 3๏ธโฃ Run the workflow โ
โ โโโโถ Actions โ "Generate Git Aura" โ "Run workflow" โ
โ โ
โ 4๏ธโฃ Done! Your aura.svg is generated ๐ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# 1. Clone the repository
git clone https://github.com/ThanhNguyxn/git-aura.git
cd git-aura
# 2. Install dependencies
pip install -r requirements.txt
# 3. Set your GitHub token (with read:user scope)
export GITHUB_TOKEN="ghp_your_token_here"
# 4. Generate your aura! ๐จ
python main.py YOUR_USERNAME -o my-aura.svgYour GitHub activity is treated as a feature vector and transformed through mathematical functions:
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ ๐ GitHub Data โ โโโถ โ ๐ข Normalize โ โโโถ โ ๐จ Visual โ
โ โ โ โ โ โ
โ โข Commits โ โ โข Log scaling โ โ โข Particle โ
โ โข Streak โ โ โข Sigmoid โ โ density โ
โ โข Languages โ โ โข Entropy โ โ โข Glow effect โ
โ โข Commit times โ โ โข Color blend โ โ โข Flow chaos โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
| Metric | Formula | Visual Effect |
|---|---|---|
| Total Commits | Particle density | |
| Max Streak | Glow intensity | |
| Commit Times | Flow turbulence | |
| Languages | Weighted RGB average | Color palette |
Legend:
$\sigma$ = Sigmoid function for smooth normalization$H$ = Shannon entropy for chaos measurement
๐ฑ Initialize ๐ Flow Field
โโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ
โ Fibonacci โ โ Simplex Noise โ
โ Spiral โ โโโโ drives โโโโถโ Vectors โ
โโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ
โ Particles โ โโโ guided by โโโ Force Field โ
โโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโ
โ SVG Paths โ โโโถ ๐จ Final Aura
โโโโโโโโโโโโโโโโโ
python main.py [USERNAME] [OPTIONS]| Argument | Default | Description |
|---|---|---|
USERNAME |
$GITHUB_ACTOR |
GitHub username |
-o, --output |
aura.svg |
Output file path |
-w, --width |
800 |
SVG width (px) |
-H, --height |
800 |
SVG height (px) |
--no-animation |
false |
Disable CSS animation |
--check-changes |
false |
Only save if changed |
-v, --verbose |
false |
Debug logging |
| Variable | Required | Description |
|---|---|---|
GITHUB_TOKEN |
โ | PAT with read:user scope |
GITHUB_ACTOR |
โ | Default username (auto-set in Actions) |
The workflow runs daily at midnight UTC. Customize in .github/workflows/aura.yml:
on:
schedule:
- cron: '0 0 * * *' # โ Modify schedule here| Secret Name | Required | How to Get |
|---|---|---|
GH_PAT |
โ | Create token with read:user |
The workflow compares file hashes before committing:
- โ Changed โ Commit & push
- โญ๏ธ Same โ Skip commit
# Square (default)
python main.py username -w 800 -H 800
# Wide banner
python main.py username -w 1200 -H 400
# Vertical
python main.py username -w 400 -H 800<div align="center">
<img src="https://raw.githubusercontent.com/YOUR_USERNAME/git-aura/main/aura.svg" width="400" />
<br/>
<i>My coding aura โจ</i>
</div>git-aura/
โโโ ๐ .github/
โ โโโ ๐ workflows/
โ โโโ ๐ aura.yml # ๐ Daily generation workflow
โโโ ๐ src/
โ โโโ ๐ __init__.py # ๐ฆ Package init
โ โโโ ๐ data_loader.py # ๐ GitHub GraphQL API
โ โโโ ๐ generative_engine.py # ๐ Particle system & noise
โ โโโ ๐ renderer.py # ๐จ SVG generation
โโโ ๐ main.py # ๐ Entry point
โโโ ๐ requirements.txt # ๐ Dependencies
โโโ ๐ README.md # ๐ You are here!
โโโ ๐ผ๏ธ aura.svg # โจ Generated output
| Technology | Purpose |
|---|---|
| Core language | |
| Vector mathematics | |
| svgwrite | SVG generation |
| OpenSimplex | Noise functions |
| requests | GitHub API calls |
๐ด Workflow fails with "GraphQL errors" or exit code 1
Cause: Missing or invalid GH_PAT secret.
Solution:
- โ
Check if
GH_PATsecret exists: Settings โ Secrets โ Actions - โ
Ensure your token has
read:userscope - โ Token might be expired โ regenerate if needed
- โ Re-run the workflow after adding the secret
๐ด No aura.svg generated
Cause: Workflow completed but file not committed.
Solution:
- Check Actions log for errors
- Verify
contents: writepermission in workflow - Try running workflow manually
๐ด Aura looks empty or minimal
Cause: Low GitHub activity or new account.
Solution: This is expected! Your aura grows with your contributions. Keep coding! ๐ช
MIT License - feel free to fork, modify, and share!
Created with ๐ by @ThanhNguyxn
Inspired by the beauty of mathematical visualization and the art of code.
โญ Star this repo if you like it! โญ