Prerequisites
Before you begin, ensure you have:- Node.js 20+
- pnpm 9+
- A GitHub account
- GitHub OAuth app (recommended) or Personal Access Token
Installation
Configure Environment
Copy the example environment file and configure your GitHub OAuth credentials:Edit
.env and set the required OAuth variables:Don’t have a GitHub OAuth app yet? See the Authentication guide for setup instructions.
Start Development Server
Authenticate with GitHub
Click Connect GitHub on the landing page to start the OAuth flow. You’ll be redirected to GitHub to authorize the app.After authorization, you’ll be redirected back to the app.
The app requests
read:user and repo scopes to access your starred repositories, including private stars.Fetch Your Stars
Click the Fetch Stars button to sync your starred repositories. This will:
- Pull all your starred repos (with pagination)
- Fetch README content for each repo
- Generate embeddings locally using browser workers
- Store everything in local SQLite database
Search Your Stars
Once indexing completes, use the search box to query in natural language:Results are retrieved from your local vector index - no API calls required.
Optional: Enable Advanced Features
Browser WebLLM (Fully Local AI)
Enable fully local LLM inference in your browser:.env
Ollama Local Embeddings
For faster embedding generation, use Ollama:Performance Tuning for Large Libraries
If you have 500+ starred repos, optimize embedding performance:.env
The app exposes indexing telemetry in the UI showing throughput, backend selection, and checkpoint behavior.
Production Deployment
Vercel Deployment
Set environment variables in Vercel dashboard:The included
vercel.json handles SPA routing automatically. /auth/callback and /app routes will work correctly.Build and Preview
Next Steps
Authentication Setup
Detailed OAuth app setup and PAT fallback configuration
Core Features
Learn about semantic search, chat sessions, and LLM modes
Architecture
Understand the local-first architecture and security model
Troubleshooting
Common issues and solutions
Troubleshooting
OAuth callback returns 404
OAuth callback returns 404
- Verify callback URL in GitHub OAuth app matches
VITE_GITHUB_REDIRECT_URIexactly - Check that
GITHUB_OAUTH_REDIRECT_URImatches on server side - Ensure production has SPA fallback routing configured
Embedding is very slow
Embedding is very slow
- Check if WebGPU is available in your browser (check console)
- Reduce worker pool size:
VITE_EMBEDDING_POOL_SIZE=1 - Lower batch size:
VITE_EMBEDDING_WORKER_BATCH_SIZE=8 - Consider Ollama for faster embedding generation
localStorage quota exceeded
localStorage quota exceeded
- App will fallback to memory-only mode for that session
- Click
Delete local datain settings, then re-index incrementally - Enable
VITE_README_BATCH_PIPELINE_V2=1for better memory usage
PAT authentication fails with 401
PAT authentication fails with 401
- Use raw token only (no
Bearerprefix) - Verify token has
read:userandreposcopes - Check token hasn’t expired