Skip to content

thnxdev/utils

Repository files navigation

thanks.dev utils

This repository contains the following tools:

  • auto-boost: used to automatically boost any GH repository that has a "tag-production" topic associated to +2
  • mass-gh-sponsor: used to set up monthly GH sponsorships for all dependencies

1. auto-boost

utils git:(master) ✗ ./scripts/auto-boost --help Usage: auto-boost --td-api-url="https://api.thanks.dev" --td-api-key=TD-API-KEY --gh-classic-access-token=GH-ACCESS-TOKEN --entities=ENTITIES,... Flags: -h, --help Show context-sensitive help. -v, --version Print version and exit. -C, --config=FILE Config file ($CONFIG_PATH). --td-api-url="https://api.thanks.dev" API path for thanks.dev ($TD_API_URL). --td-api-key=TD-API-KEY API key for thanks.dev ($TD_API_KEY). --gh-classic-access-token=GH-ACCESS-TOKEN GitHub classis access token with admin:org & user scopes ($GH_CLASSIC_ACCESS_TOKEN). --entities=ENTITIES,... The GitHub entities to process sponsorships for. First entity in the list is considered DEFAULT. Observability: --log-level=info Log level (trace,debug,info,warning,error,fatal,panic). --log-json Log in JSON format. 

Run locally

. bin/activate-hermit TD_API_KEY=<API_KEY> GH_CLASSIC_ACCESS_TOKEN=<TOKEN> ./scripts/auto-boost --config example.config.json

2. mass-gh-sponsor

➜ utils git:(master) ./scripts/mass-gh-sponsor --help Usage: mass-gh-sponsor --db-path="db.sql" <command> Flags: -h, --help Show context-sensitive help. -v, --version Print version and exit. -C, --config=FILE Config file ($CONFIG_PATH). --db-path="db.sql" Path to db file ($DB_PATH). Observability: --log-level=info Log level (trace,debug,info,warning,error,fatal,panic). --log-json Log in JSON format. Commands: import-csv Import list of donations from csv file. dl-repos Import the user's github repos. animate-repos Animate the sponsorable dependencies for each repo. donate Create the require GitHub sponsorships. Run "mass-gh-sponsor <command> --help" for more information on a command. 

2.1 Run locally (import from gh)

. bin/activate-hermit

GH_CLASSIC_ACCESS_TOKEN=<TOKEN> ./scripts/mass-gh-sponsor --log-level=debug dl-repos --entities=syntaxfm

GH_CLASSIC_ACCESS_TOKEN=<TOKEN> ./scripts/mass-gh-sponsor --log-level=debug animate-repos

GH_CLASSIC_ACCESS_TOKEN=<TOKEN> ./scripts/mass-gh-sponsor --log-level=debug donate

2.2 Run locally (import from csv)

. bin/activate-hermit

GH_CLASSIC_ACCESS_TOKEN=<TOKEN> ./scripts/mass-gh-sponsor --log-level=debug import-csv --entity=syntaxfm --file-path=<PATH_TO_CSV_FILE>

GH_CLASSIC_ACCESS_TOKEN=<TOKEN> ./scripts/mass-gh-sponsor --log-level=debug donate

3. TD-API-KEY

To obtain a thanks.dev API key, log into thanks.dev and visit the settings screen. The API key configurations are located towards the bottom of the screen. image

4. GH-ACCESS-TOKEN

Ensure you create a classic GH access token with admin:org and user scopes configured. Set a custom expiration date to one day after the last expected donation date. image

Ensure you keep the token stored securely Unfortunately, these are the minimum scopes that can create a sponsorship via the GH GraphQL API and they contain write permissions on your account.

About

Mass GH Sponsors donor

Resources

Stars

Watchers

Forks