Skip to content

blessedunit/algora-bounty-watch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

algora-bounty-watch

CI License: MIT

Find open-source bounties on GitHub that are actually funded and still winnable — and skip the ones that will waste your time.

Most "bounty" issues you find are noise: unfunded, already assigned, or already have a submitted solution. algora-bounty-watch filters them out and shows only the ones worth a /attempt.

What it checks

For each candidate issue it verifies:

  • 💎 Bounty label + a parsed dollar reward ($500, $1.5k, …)
  • Escrow — an Algora (algora-pbc) comment, meaning the reward is locked and pays out on merge. No escrow → skipped by default.
  • Not crowded — few comments, unassigned, and no /attempt pile-up.
  • Not already solved — drops issues where a solution PR is already referenced.

Survivors are ranked least-contested first, then by reward, then freshness.

Install

npm install
npm run build
npm link        # optional: exposes `bounty-watch` globally

Requires Node.js ≥ 20 (uses the built-in fetch).

Usage

# defaults: TypeScript + JavaScript, escrow required, unassigned only
bounty-watch

# or without installing globally
npm run dev -- --langs rust,go --min-usd 200

Options

Flag Default Meaning
--langs <list> typescript,javascript Comma-separated languages
--label <name> 💎 Bounty GitHub label that marks a bounty
--min-usd <n> 0 Minimum reward in USD
--max-comments <n> 12 Skip issues with more comments (crowding proxy, max 100)
--max-attempts <n> 3 Skip issues with more /attempt claimants
--enrich-budget <n> 15 Max candidates to check for escrow per run
--with-assignee off Include already-assigned issues
--any-funding off Don't require Algora escrow
--json off Output JSON instead of a table
--help Show help

Rate limits

Unauthenticated GitHub limits are tight — search is 10 req/min and core (the comment lookups) is 60 req/hr — so a token is recommended for real use. With GITHUB_TOKEN set, search rises to 30/min and core to 5000/hr:

export GITHUB_TOKEN=ghp_xxx
bounty-watch --min-usd 100

Example

Illustrative output (repo/issue are made up):

💎 1 winnable bounty:

  $  500  typescript  comments=1  attempts=0
  acme/widget#412  Add retry/backoff to the HTTP client
  https://github.com/acme/widget/issues/412
  -> claim it:  /attempt #412

How it works

  • src/github.ts — tiny REST client (search + issue comments).
  • src/bounty.ts — pure, unit-tested parsing/filtering/ranking logic (no network).
  • src/index.ts — CLI wiring and output.

Run the tests:

npm test

License

MIT © blessedunit

About

CLI to find open, escrow-backed GitHub bounties worth chasing — filters by language, reward, competition and verified Algora escrow.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors