Skip to content

my-badges/my-badges

Repository files navigation

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.

stars-20000 morning-commits dead-commit bad-words delorean public-keys-1 old-issue-1 this-is-fine the-ultimate-question favorite-word cosmetic-commit cafe-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

npx update-my-badges <username>

License

MIT