Get up and running with GitHub Toolkit in just a few steps.
- Node.js 18+ and yarn
- Python 3.8+
- Git
- GitHub Personal Access Token (recommended)
git clone <repository-url>
cd github-toolkit# Install Python dependencies
pip install -r requirements.txt
# Set up environment variables
# Create .env file in the root directory
cp .env.example .env
# Edit .env and add your GitHub token
# GITHUB_TOKEN=your_github_token_here
# Run the Flask API server
python -m flask --app api/index run -p 5328Important: The backend now properly loads environment variables from the .env file using python-dotenv. Make sure to create your .env file based on .env.example before running the backend.
# Install dependencies
yarn
# Run the development server
yarn next-dev- Frontend: http://localhost:3000
- Backend API: http://localhost:5328
To use the GitHub API effectively, you'll need a personal access token:
- Go to GitHub Settings → Developer settings → Personal access tokens → Tokens (classic)
- Generate a new token with the following scopes:
public_repo(for public repository access)user(for user profile information)
- Add the token to your
.envfile in the root directory:GITHUB_TOKEN=your_token_here
Note: Without a token, you'll be limited to 60 requests per hour. With a token, you get 5,000 requests per hour.
This project follows GitHub's recommended API best practices:
- Uses
Accept: application/vnd.github+jsonheader - Includes
X-GitHub-Api-Version: 2022-11-28header - Properly authenticates using personal access tokens via environment variables
- Reference: GitHub REST API Documentation
# Run both frontend and backend simultaneously
yarn dev# Terminal 1 - Backend
python -m flask --app api/index run -p 5328
# Terminal 2 - Frontend
yarn next-dev# Backend only
yarn flask-dev
# Frontend only
yarn next-dev# Build frontend
yarn build
# Start production server
yarn start- Make sure the API is running on port 5328 and frontend on port 3000
- Check that Flask-CORS is properly configured
- Add a GitHub token to your
.envfile to increase rate limits from 60 to 5,000 requests/hour - Without a token, you may encounter rate limit errors when analyzing multiple profiles
- Verify the GitHub username exists and is public
- Check that the username doesn't have leading/trailing spaces
- Ensure all dependencies are installed correctly:
yarn install - Clear Node cache:
yarn cache clean - Rebuild:
yarn build
- Ensure
.envfile is in the root directory (not in any subdirectory) - Verify
python-dotenvis installed:pip install python-dotenv - For Flask, restart the server after changing
.envfile - Use
exportcommand on Linux/Mac orsetcommand on Windows for temporary testing
# Reinstall all Python dependencies
pip install -r requirements.txt --force-reinstallIf port 3000 or 5328 is already in use:
# Frontend on different port
yarn next-dev -p 3001
# Backend on different port
python -m flask --app api/index run -p 5329- Check the project README for general information
- Review the GitHub API documentation for API-related questions
- Check browser console (F12) for frontend errors
- Check terminal output for backend errors
- Read the Features documentation to understand available tools
- Check Technical Details for architecture and tech stack information
- Review GitHub API Integration for API endpoints and integration details