A CLI for finding issues labeled with "good-first-issue" to hopefully lower the barrier to contributing to open source projects.
Via npx:
npx good-first-issue <project>
If project is omitted (e.g.
npx good-first-issue
), a project selector will be presented, allowing you to select from the list of available projects.
As a global module:
npm i -g good-first-issue
good-first-issue <project>
-o, --open
- open in browser-f, --first
- Return first/top issue
const goodFirstIssue = require('good-first-issue')
// project should be from the below projects table
goodFirstIssue(project, (err, issues) => {
// typeof issues is Array
})
good-first-issue
is still in an early state. I wanted to get good-first-issue node
out the door, but have some other things I'm planning on implementing. Here's a list:
-
good-first-issue node
command - Interactive selector when
good-first-issue
is run without a sub command - Export good first issues for all repos that have a command
- Add tests
If you'd like to help with any of these, feel free to submit a PR or ask how you can help ๐ค
The table of projects which are currently supported.
S. No. | Name | Project <project> |
---|---|---|
1. | Node.js | node |
2. | Electron | electron |
3. | VS Code | vscode |
4. | Gutenberg | gutenberg |
5. | wolkenkit | wolkenkit |
6. | TypeScript | typescript |
7. | Strapi | strapi |
8. | Create React App | create-react-app |
If you'd like to add a new project to good-first-issue
, you're more than welcome to submit a PR! There are a few components you'll need to submit:
-
Update
lib/projects.js
- Add your
<project>
as a property ofprojects
with an object that includes aname
and aq
(representing the GitHub search query).
- Add your
-
Update
README.md
- Add your
<project>
at the bottom of the Projects table above withname
andproject
- Add your
You can pull your queries directly from a standard GitHub search! If you want to build something a bit more complex, you can use the advanced search tool if you want to build more specific custom queries: https://github.com/search/advanced
As a CLI, good-first-issue
uses the Commander.js CLI framework. If you want to better understand how our CLI is built, commander.js is pretty well documented. Also used are Chalk for terminal coloring and boxen to simplify the output container implementation.