- Python 3.11+
- A GitHub account with a personal access token
git clone https://github.com/drkrillo/good-first-issues.git
cd good-first-issuesUsing a virtual environment helps keep project dependencies isolated.
python3 -m venv venv
source venv/bin/activatepython -m venv venv
venv\\Scripts\\activateInstall the required Python packages using:
pip install -r requirements.txtCopy the example environment file:
cp .env.example .envThen update the values inside .env:
# GitHub Personal Access Token
ACCESS_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Comma-separated GitHub usernames or organizations
USERNAMES=microsoft,hashicorp,huggingface,layer5io,mattermostACCESS_TOKEN— A GitHub personal access token (see below).USERNAMES— Comma-separated list of GitHub usernames or organizations whose repositories will be scanned for good first issues.
- Go to Settings > Developer settings > Personal access tokens > Tokens (classic) in your GitHub account.
- Click Generate new token (classic).
- Give it a descriptive name (e.g.
good-first-issues). - Select the
public_reposcope — this is the only scope required. - Click Generate token and copy it into your
.envfile.
For more details, see the official GitHub documentation.
From the root of the project, run:
python -m app.update_issues --output good_first_issues.csvThis fetches all good first issues from the configured usernames and writes them to the specified output file (.csv or .json).
To render the README from the generated data:
python -m app.render_readme --input good_first_issues.csv