GitHubAutoProfil

command module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2026 License: MIT Imports: 1 Imported by: 0

README

GitHubAutoProfil

Auto-generate a beautiful GitHub profile README from your repos and activity.

Go License Release

Scan your GitHub profile, analyze your repositories, and generate a polished README.md for your username/username repo — the one that shows up on your GitHub profile page.

Installation · Usage · GitHub Action · How it works


Features

  • Profile & stats — name, bio, location, links, followers, stars, forks
  • Top projects — ranked by stars with descriptions
  • Recent activity — latest pushed repos
  • Language badges — Shields.io badges with fair percentages (normalized per-repo so one large project doesn't skew everything)
  • Auto-push — commit the generated README directly to your profile repo
  • GitHub Action — schedule weekly updates with zero maintenance

Installation

Download the latest binary from the releases page.

From source
go install github.com/yoanbernabeu/GitHubAutoProfil@latest
Build locally
git clone https://github.com/yoanbernabeu/GitHubAutoProfil.git
cd GitHubAutoProfil
go build -o githubautoprofil .

Usage

Preview (no write, no token required)
githubautoprofil generate --username YOUR_USERNAME --preview
Generate and push to GitHub
export GITHUB_TOKEN="ghp_xxx"
githubautoprofil generate --username YOUR_USERNAME --push
Options
Flags:
      --preview     Preview the generated README locally (no push)
      --push        Push the generated README to your profile repo
      --top int     Number of top projects to display (default 5)

Global Flags:
      --token string      GitHub personal access token (or set GITHUB_TOKEN)
      --username string   GitHub username
Interactive setup
githubautoprofil init

Walks you through setting up your username and token.

GitHub Action

Add this workflow to your profile repo (username/username) to keep your README updated automatically:

# .github/workflows/profile-readme.yml
name: Update Profile README

on:
  schedule:
    - cron: '0 0 * * 1' # Every Monday at midnight UTC
  workflow_dispatch:     # Manual trigger

jobs:
  update:
    runs-on: ubuntu-latest
    steps:
      - uses: yoanbernabeu/GitHubAutoProfil@v1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          username: ${{ github.repository_owner }}
          top: '5'
Action inputs
Input Required Default Description
github_token Yes GitHub token with repo scope
username Yes GitHub username
top No 5 Number of top projects to display
version No latest GitHubAutoProfil version to use

How it works

GitHub API ──→ Fetch Profile ──→ Fetch Repos ──→ Fetch Languages
                                                        │
                  README.md ◀── Render Template ◀── Analyze
                      │              │
                   Push to       Top repos by ⭐
                username/       Recent by push date
                username       Languages (normalized)
  1. Fetch — pulls your profile, all owned repos (excluding forks/archived), and language data via the GitHub API
  2. Analyze — ranks repos by stars and recent activity, aggregates languages with per-repo normalization (each repo weighs equally, regardless of size)
  3. Render — generates Markdown from an embedded Go template with Shields.io badges
  4. Push — creates or updates README.md in your username/username repo

Example output

See it live: github.com/yoanbernabeu

Token

  • Preview mode (--preview): no token needed — uses the public GitHub API (60 requests/hour)
  • Push mode (--push): requires a Personal Access Token with repo scope (5,000 requests/hour)

You can pass the token via --token flag or the GITHUB_TOKEN environment variable.

License

MIT


Built with ❤️ by Yoan Bernabeu

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL