/my-badges

All You Badges

Primary LanguageTypeScriptMIT LicenseMIT

My Badges

My Badges

Do you like GitHub Achievements?
Do you want to get more badges?
We got you covered!

My Badges is a GitHub Action that generates badges for your profile README.md. Badges will be updated automatically every day. And you will get new badges as you progress, or as community adds new badges. Yes, you can add your own badges!

But how does those badges look like? Take a look here, or here.

a-commit ab-commit abc-commit abcd-commit abcde-commit abcdef-commit stars-100 stars-500 stars-1000 stars-2000 stars-5000 stars-10000 stars-20000 midnight-commits morning-commits evening-commits sleepy-coder github-anniversary-5 github-anniversary-10 github-anniversary-15 github-anniversary-20 yeti star-gazer dead-commit bad-words mass-delete-commit mass-delete-commit-10k revert-revert-commit my-badges-contributor fix-2 fix-3 fix-4 fix-5 fix-6 fix-6+ chore-commit delorean covid-19 pr-collaboration-5 pr-collaboration-10 pr-collaboration-15 pr-collaboration-20 pr-collaboration-25 public-keys-1 public-keys-2 public-keys-3 public-keys-4 public-keys-5 old-issue-1 old-issue-2 old-issue-3 old-issue-4 old-issue-5 old-issue-6 old-issue-7 old-issue-8 old-issue-9 old-issue-10 this-is-fine the-ultimate-question favorite-word polite-coder rebel-coder emoji-only-commit spooky-commit

Installation

Create your-username/your-username GH profile repository.

Add the following code somewhere in README.md:

<!-- my-badges start -->
<!-- my-badges end -->

Add the following workflow .github/workflows/my-badges.yml to your repository:

name: my-badges

on:
  workflow_dispatch:
  schedule:
    - cron: '0 0 * * *'

permissions:
  contents: write

jobs:
  my-badges:
    runs-on: ubuntu-latest
    steps:
      - name: Update My Badges
        run: npx update-my-badges ${{github.repository_owner}}
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Note

You don't need to create a GITHUB_TOKEN in repository. The workflow will use a default runner token.

Start my-badges workflow, or wait for it to run automatically.

Configuration

Param ENV alias Description Default
token GITHUB_TOKEN Auth token
user GITHUB_USER Username
repo GITHUB_REPO Repository name to push badges {user/user}
Additional params
Param Description Default
data Path to JSON to generate badges. If empty, required data will be obtained from the GH API
size Badge size for README.md, px 64
dryrun Generate badges, but skip pushing them to git
pick List of badges to pick. Pass --pick="a-commit,ab-commit,revert-revert-commit" to generate only the specified entries. If empty gets all of them
omit List of badges to exclude. For example, if you're too shy to flex your stars: --omit:stars-100,stars-500,stars-1000 or even shorter --omit:stars-*
compact Represent the highest tier badges in README.md. For example, If you have both stars-100 and stars-500 achievements, only the last one will be shown

Manual Run

  • Go to username/username local repo.
  • Run npx update-my-badges --user <username> --token=<token> --dryrun.
  • Verify my-badges and readme.md changes.
  • Push a commit: git add -- . ':!data' && git commit -m "chore: update my-bagdes".

License

MIT