Prerequisites
Before you begin, ensure you have the following installed:Node.js 18+ and pnpm
Install Node.js from nodejs.org and pnpm package manager:
Python 3.11+
Install Python 3.11 or higher from python.org
API Keys
You’ll need accounts and API keys for:
- Groq: AI inference (console.groq.com)
- Supabase: Real-time database (supabase.com)
- Modal: Serverless containers (modal.com)
- GitHub: OAuth app and personal access token
Clone the Repository
First, clone the Dependify repository:Backend Setup
Install dependencies
fastapi- High-performance API frameworkmodal- Serverless container orchestrationgroq- AI inference SDKgitpython- Git operationssupabase- Real-time database client
Configure environment variables
Create a
.env file in the backend/ directory:See the Environment Variables page for detailed information on each variable.
Frontend Setup
Install dependencies
Configure environment variables
Create a
.env.local file in the frontend/ directory:The
NEXT_PUBLIC_ prefix makes these variables available to the browser. The GITHUB_CLIENT_ID must match the one used in your backend.Deploy Modal Containers
Dependify uses Modal for parallel file processing. You need to deploy two container functions:Deploy analysis container
From the This deploys the
backend/ directory:groq-read app that analyzes files for outdated syntax.Verify deployment
Check your Modal dashboard at modal.com/apps to see your deployed functions.You should see:
groq-readwith therun_scriptfunctiongroq-writewith theprocess_filefunction
Testing the Setup
Test GitHub OAuth
Click “Continue with GitHub” to test authentication flow. You’ll be redirected to GitHub for authorization.
Make sure your GitHub OAuth app’s callback URL is set to
http://localhost:3000/auth/callback in your GitHub OAuth settings.Test repository processing
After authentication:
- Paste a GitHub repository URL (try a small repo first)
- Click “Analyze Repository”
- Watch the real-time progress updates via Supabase
- Verify that files are processed and a PR is created
Common Issues
Modal secrets not loading
Modal secrets not loading
If you see “GROQ_API_KEY not found” errors:
- Verify secrets are created:
modal secret list - Redeploy containers after creating secrets
- Check that secret names exactly match:
GROQ_API_KEY,SUPABASE_URL,SUPABASE_KEY
CORS errors in frontend
CORS errors in frontend
If you see CORS errors in browser console:
- Verify
FRONTEND_URLin backend.envishttp://localhost:3000 - Restart the backend server after changing CORS settings
- Clear browser cache and reload
GitHub OAuth fails
GitHub OAuth fails
If GitHub authentication doesn’t work:
- Verify OAuth app callback URL is
http://localhost:3000/auth/callback - Check
GITHUB_CLIENT_IDmatches in both frontend and backend - Ensure
GITHUB_CLIENT_SECRETis set in backend.env - Test OAuth flow using the redirect URL in browser
Modal containers timeout
Modal containers timeout
If file processing times out:
- Check Modal dashboard for error logs
- Verify Groq API key has sufficient quota
- Try processing a smaller repository first
- Increase timeout in
modal_write.py(default is 300 seconds)
Next Steps
Environment Variables
Learn about all configuration options
Code Structure
Understand the codebase organization
Contributing
Start contributing to Dependify
Deployment
Deploy to production