Prerequisites
Before you begin, ensure you have the following installed:Node.js
Version 18.0 or higher
pnpm
Recommended package manager
Git
For version control
Verify Node.js version
Install pnpm
While you can use npm or yarn, pnpm is recommended for faster installs and better disk space usage.
Fork and clone the repository
First, fork the repository on GitHub, then clone your fork:Add the upstream remote to keep your fork in sync:
Install dependencies
Set up environment variables
Copy the example environment file:Edit
.env.local and add your API keys:.env.local
How to get API keys
How to get API keys
GitHub Personal Access Token:
- Go to GitHub Settings → Developer settings → Personal access tokens → Tokens (classic)
- Click “Generate new token (classic)”
- Select scopes:
repo,read:user - Copy the token and add it to
.env.local
- Go to OpenRouter
- Sign up and navigate to Settings → API Keys
- Create a new key and add it to
.env.local
Start the development server
Development Workflow
Available Scripts
Making Changes
Create a feature branch
Always create a new branch for your changes:
Use descriptive branch names that indicate the type of change:
feature/for new featuresfix/for bug fixesdocs/for documentation changesrefactor/for code refactoring
Make your changes
Edit the code as needed. The development server will automatically reload when you save files.
Commit your changes
Follow the commit conventions when writing commit messages:
Testing Your Changes
Testing the API Endpoints
Test the analyze endpoint locally:Common Issues
Port 3000 is already in use
Port 3000 is already in use
If port 3000 is already in use, you can specify a different port:
Prisma client errors
Prisma client errors
If you encounter Prisma-related errors, try regenerating the client:
Environment variable errors
Environment variable errors
Ensure all required environment variables are set in
.env.local. Restart the development server after changing environment variables.API rate limiting during development
API rate limiting during development
The development server includes rate limiting. If you hit the limit, you can:
- Wait for the limit to reset (1 minute for burst, 24 hours for daily)
- Temporarily disable rate limiting in
app/api/analyze/route.ts(not recommended for production)
Next Steps
Guidelines
Learn about our coding standards and PR process
Architecture
Understand the codebase structure
Need Help?
GitHub Discussions
Ask questions and discuss ideas
Quick questions and updates