About the Arena

How It Works

Every Friday at 17:00 UTC, a GitHub Action automatically rebuilds a fresh pool of 250 active open-source repositories and pulls new issues from them. Issues are labeled as Good First Issues, Bugs, or Hard Issues. The number of issues pulled per category grows with the Arena Level, so collective progress unlocks more weekly issues for everyone.

Every hour, another action checks whether any listed issues have been closed by a pull request. If your PR closes an Arena issue and you have joined the arena, you automatically earn points — which feed both your personal rank and the shared Arena Level.

Contributions are detected via GitHub's public metadata, but the arena only ever looks at people who asked it to. See Joining the arena.

Joining the Arena

The arena is opt-in. Until you submit the join form, nothing about you enters it: your pull requests are ignored, your username never appears on the leaderboard or in the statistics, and no Discussion ever mentions you. There is no account and no password — the form is the sign-up, and a bot closes it as soon as your choices are stored.

The form asks for two separate permissions:

  • Public leaderboard — required. Your username, points and rank become part of the public standings.
  • Personal update discussion — optional. When your first qualifying PR is spotted, the bot opens one Discussion thread that mentions you and posts every later merge, rank-up and status change there. Leave it unchecked to earn points with zero mentions and zero notifications.

Nothing happens the moment you join. The arena starts reacting to you the first time you open a pull request that closes an arena issue — that is when the welcome thread appears, if you asked for one.

Changed your mind? Submit the join form again to update your choices, or leave the arena to have your username, points, history and Discussion thread deleted. Your pull requests are untouched either way — they live upstream and stay merged.

Your first PR, in 5 steps

  1. Join the arena once. Nothing you do counts until you have.
  2. Fork the repo on GitHub and clone your fork locally. Create a branch off main.
  3. Implement your fix. Read the issue thread first — many maintainers share hints or constraints in the comments.
  4. Open a pull request back to the original repo. Include Closes #N (or Fixes #N / Resolves #N) in the description so the issue auto-closes when the PR merges. The arena detects the PR within ~1 hour and, if you asked for a discussion thread, opens your welcome thread — future status updates (merges, points, rank-ups) are posted there as comments.
  5. Wait for review. When your first PR merges, the arena credits points automatically and unlocks your Arena Card — a badge you can embed in your GitHub profile README.

Rules

  • You have 7 days from when an issue is listed to open a PR
  • Issues with a PR are tracked for up to 28 weeks to allow maintainer review time
  • Issues with no PR after 7 days are dropped from tracking
  • Your PR must reference the issue via a closing keyword (fixes #N, closes #N, resolves #N) or be linked through GitHub's sidebar
  • If multiple PRs reference the same issue, only the one that closes it earns points
  • Only contributors who joined the arena are tracked or credited
  • An issue claimed by a PR shows as PR Proposed whether or not its author is in the arena, so nobody duplicates work
🟢 Open — no PRs yet 🟡 PR Proposed — an open PR references this issue 🔴 Closed — resolved or expired
Spread the word: if you'd like to help the arena grow, feel free to add this at the end of your PR description: I found this issue through Weekly Issue Arena, a gamified hub that publishes open-source issues weekly. Completely optional — your contribution speaks for itself either way.

Point System

Good First Issue
1 pt
Bug Fix
2 pts
Hard Issue
4 pts

Player Ranks

Hello World Engineer
Hello World Engineer
0 – 99 points
Bug Slayer
Bug Slayer
100 – 499 points
Mr. Robot
Mr. Robot
500+ points

Arena Level

Every point earned by every contributor adds to a shared pool. When the pool crosses a threshold, the arena levels up and the weekly issue quota grows by +1 issue per category. The arena starts at Level 0 with up to 44 issues per week and reaches Level 10 at up to 74 issues per week. Actual counts may be lower if not enough matching issues are found across the tracked repos.

The current state is shown live on the home page and as a static SVG bar in the README. Level-ups are announced in the Arena Milestones discussion.

Level Threshold GFI Bug Hard Total
0 0 pts 20 14 10 44
1 25 pts 21 15 11 47
2 75 pts 22 16 12 50
3 150 pts 23 17 13 53
4 275 pts 24 18 14 56
5 450 pts 25 19 15 59
6 700 pts 26 20 16 62
7 1050 pts 27 21 17 65
8 1500 pts 28 22 18 68
9 2100 pts 29 23 19 71
10 3000 pts 30 24 20 74

FAQ

My PR was merged but I didn't get points.

First, check that you have joined the arena — PRs from people who have not joined are not tracked, and joining does not apply retroactively to a PR that already merged. Second, make sure your PR references the issue — either via a closing keyword (fixes #N, closes #N, resolves #N) in the PR body, or by linking the issue through GitHub's sidebar. If both are true, open a thread in Discussions.

Can I request a specific repo to be added?

The pool is rebuilt automatically each week from the GitHub Search API, so any actively maintained repo with good first issue or help wanted labels is likely to appear on its own. For a guaranteed spot, edit config/anchor_repos.yml and open a PR.

What is the Arena Level and how does it grow?

Every point earned by every contributor adds to a shared pool. When the pool crosses a threshold, the arena levels up and the weekly issue quota grows by one issue per category — so each level unlocks more opportunities for everyone. See the Arena Level section above for the full level table.

What if I contributed without knowing about the Arena?

Then nothing happened, by design. The arena does not track, name or notify anyone who has not opted in — it will not appear in your notifications uninvited. If you like the idea, join and your next PR will count. Past PRs are not credited retroactively.

How do I stop the notifications, or leave entirely?

Every arena Discussion has an Unsubscribe button in its sidebar — that alone stops the notifications while keeping your points. To turn the thread off for good, submit the join form again with the discussion box unchecked and the thread is deleted. To remove yourself completely, use Leave the Arena: your entry, points, history and thread are all erased.

How is this automated?

Via GitHub Actions + GitHub REST API. See .github/workflows/ for the full scripts.

Tracked Repos

Each week the Arena rebuilds a pool of 250 repositories: 50 hand-curated anchors covering ML, AI, satellite, data science and dev tools, plus ~200 freshly discovered repos that match active issue signals.

View the anchor list →

Contributing to the Arena