CLI tool that uses the GitHub API, Puppeteer and GitHub Socialify to set the social image for all of your repos automatically.
npm install -g github-social-image
Authentication details can be provided in the environment or as CLI arguments
Field | Environment Variable | CLI option |
---|---|---|
API token | GITHUB_TOKEN |
--pat |
Username | GITHUB_USERNAME |
--username |
Password | GITHUB_PASSWORD |
--password |
OTP | GITHUB_OTP |
--otp |
github-social-image --target "your-user-name"
Flag | Description |
---|---|
username | GitHub account username |
password | GitHub account password |
otp | One Time Password code, required for accounts that use 2FA |
pat | Github API token, used to fetch a list of repos |
target | User, Org or Team to update the social image for. Will update all repos that the authenticated pat has admin access to. To specify a team, use the format org/team-slug |
show | Show the Puppeteer browser for debug purposes |
Flag | Description | Default | Possible values |
---|---|---|---|
theme | Theme to use | light |
light, dark |
font | Font to use | inter |
inter, bitter, raleway, rokkitt, source-code-pro, koho |
background | Background to use | plus |
signal, charlie-brown, formal-invitation, plus, circuit-board, overlapping-hexagons, brick-wall, floating-cogs, diagonal-stripes |
logo | Logo to use | Github Logo | Any URL that returns an image |
language | Show the language icon | true |
N/A |
owner | Show the owner in addition to the repo name | true |
N/A |
stars | Show the number of stars | false |
N/A |
forks | Show the number of forks | false |
N/A |
issues | Show the number of issues | false |
N/A |
pulls | Show the number of pulls | false |
N/A |
description | Description to use | N/A | Specify as --description to use the description from the repo, or `--description "Text Here" to use a custom description |
This tool uses the API token for listing repos to update through the API, and the username to drive a browser and log in to your account to set the social image as this operation is not available through the API