Skip to content

river-li/VibeProfile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ Vibe Profile

A privacy-focused, local-first tool that analyzes your AI coding assistant usage (Claude Code, GitHub Copilot/Codex CLI, and Gemini CLI) to generate beautiful, GitHub-style profile stats cards.

Display your "Vibe Coding" activity exactly like GitHub Contributions directly in your README.md!

✨ Features

  • Zero-Dependency Core: Shell extraction script runs seamlessly without downloading massive packages.
  • Privacy First: Only aggregate metadata (token counts, session timestamps) is extracted. No code or conversation history leaves your machine.
  • Headless SVG Generator: Native layout building supports multiple themes (default, light, dracula) and modes.
  • Interactive UI: Drag-and-drop HTML dashboard is also included for real-time rich local visualization.
  • Multi-Machine Sync: Built-in scripts and GitHub Action workflow to sync data across your laptop, desktop, and remote servers.

🚀 Quickstart (Local)

  1. Collect your data:

    chmod +x collect.sh
    ./collect.sh

    This generates a profile-data.json file in the current folder. (Note: You can override source directories by setting CLAUDE_DIR, CODEX_DIR, or GEMINI_DIR optionally).

  2. Generate the SVG Profile Badge:

    node generate.js --in=data/profile-data.json

    You can customize the design using --layout, --theme (default/light/dracula), --name, and --month (for heatmaps) parameters.

    Layout Options:

    Default (--layout=default) Grade (--layout=grade)
    Displays top models parsed and overall generation progress bar. Features an automated overall grade based on your AI utilization.
    Heatmap (--layout=heatmap) Chart (--layout=chart)
    Configurable 3/6/12 month GitHub-style contribution grid (--month=3). A smooth cubic-bezier curve showing estimated cost trends over 7 days.

    Note: If you have data stored on multiple machines such as data/profile-data.json and data/profile-data-server.json, you can execute node generate.js and all files inside the data/ directory will be automatically merged into one unified SVG card. You can also explicitly merge files directly via CLI by parsing multiple comma-separated filenames: --in="local-data.json,remote-data.json".

  3. View the Interactive Dashboard (Optional):

    open index.html

    Drag and drop the generated profile-data.json into the browser to see the responsive glassmorphism UI.

☁️ Setting up Automated GitHub Profile Display

You can set up Vibe Profile to automatically generate stat cards for your username/username GitHub Profile repo or a dedicated metrics repo!

1. Setup GitHub Actions

  1. Commit this entire folder to a repository (or your profile repo).
  2. The included .github/workflows/vibe-profile.yml is already configured.
  3. Whenever a .json file is pushed to the data/ directory, the action will merge the data and automatically commit a vibe-profile.svg.

2. Add Cronjob on your Machines

To actively send your latest AI coding stats to the repository automatically, setup the cron sync agent. Open your terminal and run crontab -e, then add:

# Push latest data to GitHub every Sunday at midnight
0 0 * * 0 /path/to/your/cloned/repo/agent-sync.sh

(Remember to update REPO_DIR inside agent-sync.sh to match your actual clone directory).

3. Embed in your Profile README

<p align="center">
  <img src="https://raw.githubusercontent.com/YourUsername/YourRepo/main/vibe-profile.svg" alt="Vibe Profile" />
</p>

About

Create your Github vibe coding Profile

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors