The Bitcoin Dev Project is excited to release Bitcoin Good First Issues.

H1 What’s Good First Issues?

Good first issues is a tool that surfaces beginner-friendly issues from vetted bitcoin open-source projects on GitHub.

H1 What Problem Does It Solve?

Getting into bitcoin open-source development is hard. Finding open-source projects with good first issues matching your skills and requirements is even harder. This tool is a one-stop-shop for you to explore bitcoin FOSS projects and their related issues to kickstart your contributions.

H1 Who’s It For?

Developers new to or exploring bitcoin open-source software development.

H1 How Does it Work?

  • In the source repository, there is a list of vetted free open source projects which is the source of truth for all good first issues. These projects are grouped by tags and languages.
  • We use the GitHub API to fetch the list of issues from the selected repositories filtering them by labels such as “good first issues”, “enhancements”, “bug” and “help wanted”.
  • This issue list is saved in a public static directory in the repository to reduce redundant API calls to the GitHub API whenever we need to fetch the issue list.
  • To ensure that the issue list is always up to date, there is a GitHub action cron job that runs periodically to update the issue list.
  • This issue list is finally displayed to the user on the bitcoin-dev-project website where users can search and filter the issues by repository, keyword, label, recency, and language.

How Was It Built?

Isah Theophilus (Theo) came up with the idea for Good First Issues at last year’s Btrust builders ideation session before the African Bitcoin Conference. It’s tradition for attendees and organizers to hold a brainstorming session a day before the conference on how to solve the learning and contribution gap for African devs and bitcoin development. Solomon Eze, Abubakar Ismaeel, & Emmanuel Itakpe were all in on the idea.
The team built a few scrappy versions, and rapid-prototyped them through moderated usability tests with ideal users.
After going through several rounds of this process, we came to a launchable prototype. The one you can interact with now!

What's Next?

Please give Good First Issues a go here!
Tell us what you like and don’t like. What’s missing? What should we do better?
And importantly - what kinds of products and tools are missing for bitcoin devs and builders in the ecosystem?