Understand any codebase in hours, not weeks.
AI-powered codebase exploration tool that helps developers onboard to new projects faster.
- AI Q&A — Ask questions like "Where is authentication handled?" and get instant answers with file references
- Visual File Tree — Interactive codebase explorer with AI-generated summaries
- Architecture Detection — Auto-detect frameworks, patterns, and structure
- Powered by NVIDIA NIM — Free AI APIs (Llama 3.1 70B)
| Layer | Technologies |
|---|---|
| Frontend | React, TypeScript, Vite, Tailwind CSS |
| Backend | Node.js, Express, TypeScript |
| Database | Supabase (PostgreSQL) |
| AI | NVIDIA NIM (Llama 3.1 for chat, embeddings for search) |
| Auth | GitHub OAuth |
| Hosting | Render |
- Node.js 18+
- Supabase account (free at supabase.com)
- GitHub OAuth App
- NVIDIA NIM API Key (free at build.nvidia.com)
- Clone and install dependencies:
git clone https://github.com/thxgp/codecontext.git
cd codecontext
npm run install:all- Configure environment variables:
cp .env.example server/.envEdit server/.env with your credentials:
SUPABASE_URL=your_supabase_project_url
SUPABASE_ANON_KEY=your_supabase_anon_key
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
NVIDIA_API_KEY=your_nvidia_api_key
JWT_SECRET=your_random_secret_key-
Create GitHub OAuth App:
- Go to GitHub Settings → Developer Settings → OAuth Apps
- Create new app with:
- Homepage URL:
http://localhost:5173 - Callback URL:
http://localhost:5000/api/auth/github/callback
- Homepage URL:
-
Get NVIDIA NIM API Key:
- Sign up at build.nvidia.com
- Get free API key (1000 credits/month)
-
Run the app:
npm run dev- Frontend: http://localhost:5173
- Backend: http://localhost:5000
codecontext/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/ # UI components
│ │ ├── pages/ # Page components
│ │ ├── stores/ # Zustand state
│ │ ├── services/ # API calls
│ │ └── types/ # TypeScript types
│ └── ...
├── server/ # Express backend
│ ├── src/
│ │ ├── config/ # Configuration
│ │ ├── models/ # Database models
│ │ ├── routes/ # API routes
│ │ ├── services/ # Business logic
│ │ └── middleware/ # Auth, error handling
│ ├── supabase/ # Database migrations
│ └── ...
└── ...
GET /api/auth/github— Initiate OAuthGET /api/auth/me— Get current user
GET /api/repos— List imported reposPOST /api/repos— Import new repoGET /api/repos/:id— Get repo detailsGET /api/repos/:id/structure— Get file treeDELETE /api/repos/:id— Delete repo
POST /api/ai/:repoId/ask— Ask question about codebaseGET /api/ai/:repoId/search— Search filesGET /api/ai/:repoId/chat— Get chat history
This project is licensed under the MIT License — see the LICENSE file for details.