The problem
What was actually wrong
Finding a first issue is harder than it looks. Labels like good first issue attract so much attention that the easy ones are claimed within hours, and a static list cannot tell you that.
The rules that decide whether your work can be merged are scattered: a CLA in one project, DCO sign-off in another, a ban on AI generated code in a third, and workflows that auto close pull requests from accounts they do not recognise. Contributors usually find out after doing the work.
Approach
What I built
Discover. The GitHub search API finds public, non archived repositories in 30 languages with at least 500 stars, recent commits and open newcomer issues.
Filter. A batched GraphQL query pulls each project's newcomer labeled issues with their assignees and linked pull requests. Anything assigned, locked, linked to an open or merged pull request, or untouched for six months is dropped.
Explain. Contribution files are scanned for AI policies, CLA and DCO requirements, and the results ship as badges next to every issue, with a link to the source file because automatic detection can be wrong.
Publish. A scheduled workflow renders Markdown pages by language and topic, a projects directory and the JSON behind a static website, then deploys it. A safety check refuses to publish a run that lost most of its issues, so an API outage cannot wipe the lists.