Onboard to any codebase in minutes, not days.
CodeCompass is an AI-powered tool that generates comprehensive onboarding guides for any GitHub repository. Paste a repo URL and get an instant architecture overview, tech stack breakdown, and interactive 3D dependency graph.
- AI-Generated Onboarding Guide — Get a plain-English summary of what the project does, its architecture, and where to start reading code
- Tech Stack Detection — Automatic identification of frameworks, libraries, and tools used
- Interactive 3D Dependency Graph — Visualize how files connect and import each other in a navigable 3D space
- Multi-Language Support — Automatic language detection and parsing for JavaScript/TypeScript, Python, Go, Rust, Java, C/C++, Ruby, and PHP
- File-Level Analysis — Click any node in the graph to get AI analysis of that specific file
- Key Concepts & Common Tasks — Understand the mental models and workflows you'll need
- One-Click Export — Copy the entire guide as Markdown for your team's docs
Starting on a new codebase is overwhelming. You're dropped into thousands of files with a README that's either outdated or assumes you already understand the architecture. CodeCompass fixes this by giving you the guided tour a senior engineer would provide — instantly.
- Framework: Next.js 16 (App Router)
- UI: React + Tailwind CSS (scaffolded with v0)
- AI: Claude via Vercel AI Gateway
- 3D Visualization: React Three Fiber
- Data: GitHub REST API
- Node.js 18+
- A Vercel AI Gateway API key
- A GitHub Personal Access Token (for accessing public repositories)
- An Anthropic API key (for Claude analysis)
-
Clone the repository
git clone https://github.com/statho7/codecompass.git cd codecompass -
Install dependencies
npm install
-
Set up environment variables
Create a
.envfile in the root directory:VERCEL_AI_GATEWAY_KEY=your_vercel_ai_gateway_key GITHUB_TOKEN=your_github_personal_access_token ANTHROPIC_API_KEY=your_anthropic_api_key
Getting your API keys:
- Vercel AI Gateway Key: Sign up at Vercel and create an AI Gateway API key
- GitHub Token: Generate a Personal Access Token at GitHub Settings > Developer settings > Personal access tokens. The token only needs
public_reposcope for public repositories - Anthropic API Key: Get your API key from Anthropic Console
-
Run the development server
npm run dev
-
Open http://localhost:3000 and paste any GitHub repository URL
You can deploy CodeCompass to any platform that supports Next.js applications. Make sure to configure your environment variables (VERCEL_AI_GATEWAY_KEY, GITHUB_TOKEN, and ANTHROPIC_API_KEY) in your deployment platform's settings.
- Fetch — When you submit a GitHub URL, CodeCompass fetches the repository's README, manifest files, and file tree via the GitHub API
- Detect — The system automatically detects the primary programming language using GitHub's language statistics API, manifest files (package.json, requirements.txt, etc.), or file extensions
- Analyze — The data is sent to Claude, which generates a structured onboarding guide including architecture overview, key concepts, and recommendations
- Visualize — A language-specific parser analyzes import statements to build a dependency graph (supports JavaScript/TypeScript, Python, and more)
- Explore — The 3D graph renders with React Three Fiber, letting you click nodes to drill into individual file analysis
CodeCompass now supports dependency graph generation for multiple programming languages:
| Language | Status | Import Patterns Supported |
|---|---|---|
| JavaScript/TypeScript | ✅ Full Support | ES6 imports, require statements |
| Python | ✅ Full Support | import, from...import, relative imports |
| Go | 🚧 Configured* | import statements |
| Rust | 🚧 Configured* | use, mod declarations |
| Java | 🚧 Configured* | import statements |
| C/C++ | 🚧 Configured* | #include directives |
| Ruby | 🚧 Configured* | require, require_relative |
| PHP | 🚧 Configured* | use, require, include |
*Language configurations are in place, but parsers need full implementation. Contributions welcome!
If auto-detection doesn't work as expected, you can manually specify the language:
https://your-app.com/?url=github.com/user/repo&lang=python
Contributions are welcome! Some ideas for improvement:
- Complete parser implementations for Go, Rust, Java, C/C++, Ruby, and PHP
- Private repository authentication flow
- Team collaboration features
- Custom analysis prompts
- Export to additional formats
MIT License — feel free to use this for your own projects.