Understand Any Codebase in Minutes, Not Hours
AI-powered repository analysis that turns complex codebases into interactive documentation, dependency graphs, and intelligent conversations.
GitVizz revolutionizes how developers understand and navigate codebases. Whether you're onboarding to a new project, reviewing code, or exploring open source repositories, GitVizz transforms complex code structures into intuitive, interactive experiences.
gitvizz_demo_socials.1.mp4
- Instant Understanding: Analyze any repository in seconds, not hours
- AI-Powered Insights: Get intelligent summaries and explanations
- Visual Code Maps: Interactive dependency graphs and code relationships
- Chat with Code: Ask questions about any codebase and get instant answers
- Auto Documentation: Generate comprehensive docs automatically
- Smart Search: Find functions, classes, and patterns across entire repositories
Visit gitvizz.com and paste any GitHub repository URL to get started instantly!
# Clone the repository
git clone https://github.com/adithya-s-k/gitvizz.git
cd gitvizz
# Copy environment files
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env.local
# Start all services
docker-compose up --buildAccess Points:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8003
- Phoenix UI: http://localhost:6006 (LLM observability dashboard)
📊 Phoenix Observability: GitVizz includes Arize Phoenix for comprehensive LLM monitoring and tracing. See Phoenix Setup Guide for detailed configuration options.
Click to expand manual setup instructions
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r backend/requirements.txt
# Configure environment
cp backend/.env.example backend/.env
# Edit backend/.env with your settings
# Start backend server
uvicorn backend.server:app --host 0.0.0.0 --port 8003 --reload# Install dependencies
cd frontend
pnpm install
# Configure environment
cp .env.example .env.local
# Edit .env.local with your settings
# Start development server
pnpm devGitVizz is built with modern, scalable technologies:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Frontend │ │ Backend │ │ AI Services │
│ │ │ │ │ │
│ • Next.js 14 │◄──►│ • FastAPI │◄──►│ • OpenAI │
│ • TypeScript │ │ • Python 3.9+ │ │ • Anthropic │
│ • Tailwind CSS │ │ • Async/Await │ │ • Local LLMs │
│ • ShadCN UI │ │ • Pydantic │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
Frontend:
- Next.js 14 - React framework with App Router
- Tailwind CSS - Utility-first CSS framework
- ShadCN UI - Beautiful, accessible components
- Responsive Design - Works on all devices
Backend:
- FastAPI - High-performance Python API framework
- AST Parsing - Advanced code analysis
- Graph Generation - Dynamic dependency mapping
- LLM Integration - Multiple AI provider support
- Node.js 18+ and pnpm
- Python 3.9+ and pip
- Docker & Docker Compose (for containerized setup)
- MongoDB - For user data and repository metadata storage
- GitHub Personal Access Token - For private repo access
- GitHub App - For advanced GitHub integration
- OpenAI API Key - For AI-powered features
- Anthropic API Key - Alternative AI provider
- Gemini API Key - Google's AI model support
- Groq API Key - Fast inference API
- Phoenix - LLM observability and tracing platform
Backend (.env)
# GitHub Integration
GITHUB_USER_AGENT=gitvizz-cognitivelab
# JWT Authentication
JWT_SECRET=your-jwt-secret-here-use-openssl-rand-base64-32
JWT_ALGORITHM=HS256
JWT_EXPIRE_MINUTES=10080 # 7 days
REFRESH_TOKEN_EXPIRE_DAYS=30 # 30 days
# Database Configuration
MONGO_URI=mongodb://localhost:27017
MONGODB_DB_NAME=gitvizz
# Server Configuration
HOST=0.0.0.0
PORT=8003
# File Storage
FILE_STORAGE_BASEPATH="storage"
# Data Encryption
ENCRYPTION_KEY=your-32-byte-base64-encryption-key-here
FERNET_KEY=your-32-byte-base64-encryption-key-here
# GitHub OAuth App Credentials
GITHUB_CLIENT_ID=your-github-oauth-client-id
GITHUB_CLIENT_SECRET=your-github-oauth-client-secret
# GitHub App Credentials (if using GitHub App instead of OAuth)
GITHUB_APP_ID=your-github-app-id
GITHUB_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----
your-github-app-private-key-here
-----END RSA PRIVATE KEY-----"
# Phoenix Observability (Optional)
PHOENIX_API_KEY=your-phoenix-api-key
PHOENIX_COLLECTOR_ENDPOINT=https://app.phoenix.arize.com
# LLM API Keys (at least one required)
OPENAI_API_KEY=your-openai-api-key-here
ANTHROPIC_API_KEY=your-anthropic-api-key-here
GEMINI_API_KEY=your-gemini-api-key-here
GROQ_API_KEY=your-groq-api-key-hereFrontend (.env.local)
# API base URL for the frontend application
NEXT_PUBLIC_BACKEND_URL=http://localhost:8003
# NextAuth Configuration
NEXTAUTH_URL=http://localhost:3000
AUTH_SECRET="your-auth-secret-here"
# GitHub App Integration
NEXT_PUBLIC_GITHUB_APP_NAME=your-github-app-name
AUTH_GITHUB_ID=your-github-app-client-id
AUTH_GITHUB_SECRET=your-github-app-client-secretStep-by-step guide to create a GitHub Personal Access Token
- Navigate to GitHub: Go to github.com and sign in
- Access Profile Settings: Click your profile picture → Settings
- Developer Settings: Scroll down and click "Developer settings"
- Personal Access Tokens: Click "Personal access tokens" → "Tokens (classic)"
- Generate New Token: Click "Generate new token" → "Generate new token (classic)"
- Authenticate: Use your password to confirm
- Configure Token:
- Note: Give your token a descriptive name
- Expiration: Set appropriate expiration date
- Scopes: Select required permissions
- Repository Access: Choose "All repositories" for full access
- Generate: Click "Generate token"
Important: Copy and save the token immediately - you won't be able to see it again!
For detailed instructions with screenshots, see docs/github_personal_token.md
Step-by-step guide to create a GitHub App
-
Navigate to GitHub Apps: Go to GitHub Apps settings
-
Create New App: Click "New GitHub App"
-
App Details:
- GitHub App name: Enter your application name
- Homepage URL:
http://localhost:3000/ - Callback URL:
http://localhost:3000/api/auth/callback/github - Expire user authorization tokens: Deselect this
- Setup URL:
http://localhost:3000/ - Webhook: Deselect "Active" to disable webhooks
-
Set Permissions:
- Repository Permissions → Contents: Read-only
- Account Permissions → Email addresses: Read-only
-
Create App: Click "Create GitHub App"
-
Get Credentials:
- Copy App ID and Client ID
- Generate and copy Client Secret
-
Generate Private Key:
- Click "Generate a private key"
- Download the
.pemfile - Copy entire contents including BEGIN/END lines
- Wrap in double quotes for
.envfile
For detailed instructions with screenshots, see docs/create_github_app.md
We love contributions! GitVizz is open source and community-driven.
- Report Bugs - Found an issue? Let us know!
- Suggest Features - Have ideas? We'd love to hear them!
- Improve Documentation - Help others understand GitVizz better
- Submit Pull Requests - Code contributions are always welcome!
- Star the Repository - Show your support!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
We follow Conventional Commits:
feat:New featuresfix:Bug fixesdocs:Documentation changesstyle:Code style changesrefactor:Code refactoringtest:Adding testschore:Maintenance tasks
gitvizz/
├── frontend/ # Next.js frontend application
│ ├── app/ # App router pages
│ ├── components/ # Reusable UI components
│ ├── api-client/ # Generated API client
│ └── public/ # Static assets
├── backend/ # FastAPI backend application
│ ├── controllers/ # API route handlers
│ ├── documentation_generator/ # AI-powered analysis
│ ├── models/ # Data models
│ ├── routes/ # API routes
│ ├── schemas/ # Request/response schemas
│ ├── services/ # Business logic
│ └── utils/ # Utility functions
├── gitvizz/ # 📦 GitVizz Core Library
│ ├── gitvizz/ # Python package
│ │ ├── graph_generator.py # Main graph generation engine
│ │ ├── custom_ast_parser.py # AST parsing with Tree-sitter
│ │ └── modal_app.py # Optional Modal integration
│ ├── pyproject.toml # Package configuration
│ └── README.md # Library documentation
├── docs/ # Documentation
├── docker-compose.yaml # Container orchestration
└── README.md # You are here!
GitVizz includes a standalone Python library (gitvizz/) that provides the core code analysis and dependency graph generation functionality. This library can be used independently in your own projects:
- 🐍 Multi-language Parsing: Python, JavaScript, TypeScript, React, Next.js
- 🌳 AST Analysis: Advanced Abstract Syntax Tree parsing with Tree-sitter
- 🕸️ Dependency Graphs: Generate detailed code relationship maps
- 📊 Interactive Visualizations: HTML graph outputs with Pyvis
- ⚡ Fast & Efficient: Optimized for large codebases
- 🔧 Extensible: Plugin architecture for new languages
# Install the library
pip install git+https://github.com/adithya-s-k/GitVizz.git#subdirectory=gitvizz
# Use in your Python code
from gitvizz import GraphGenerator
files_data = [{"path": "main.py", "content": "# your code"}]
generator = GraphGenerator(files=files_data)
result = generator.generate()- Code Analysis Tools: Build custom code analysis applications
- Documentation Generation: Auto-generate dependency documentation
- IDE Plugins: Integrate code visualization into development environments
- CI/CD Pipelines: Automated code structure analysis
- Research: Academic research on software architecture
For detailed documentation, see gitvizz/README.md.
-
Agentic Chat System - Advanced multi-agent conversation system with tool usage and autonomous reasoning
- Context-aware code navigation agents
- Automated refactoring suggestions
- Intelligent bug detection and fix proposals
- Self-healing code recommendations
-
Enhanced Documentation Generation - Next-generation AI-powered documentation
- Multi-format output (Markdown, HTML, PDF, Confluence)
- Interactive API documentation
- Auto-generated code examples and tutorials
- Version-aware documentation diffing
- Architecture decision records (ADRs) generation
-
Video Generation from Code - Transform code into visual explanations
- Animated code walkthroughs
- Function execution flow visualizations
- Architecture diagram animations
- Tutorial video generation from codebases
- Code review video summaries
-
Enhanced AI Models - Support for more LLM providers
- OpenRouter integration for unified model access
- Local LLM support (Ollama, LM Studio)
- Custom model fine-tuning capabilities
- Cost optimization with model routing
-
PyPI Release - Publish GitVizz core library to PyPI
- Stable v1.0 release
- Comprehensive API documentation
- Usage examples and cookbook
-
Smart Context Builder - AI-powered retrieval for relevant code
- Semantic code search with embeddings
- Intelligent context pruning for LLM queries
- Multi-hop reasoning across dependencies
- Automated code snippet selection
-
Code Quality & Security Analysis
- Security vulnerability detection
- Performance bottleneck identification
- Code smell detection and refactoring suggestions
- Test coverage analysis and recommendations
- Technical debt tracking
-
Advanced Analytics - Comprehensive code quality metrics
- Complexity metrics and visualization
- Code churn analysis
- Developer contribution insights
- Codebase health scoring
-
Real-time Collaboration - Multi-user code exploration
- Shared analysis sessions
- Collaborative annotations
- Team knowledge bases
- Code review workflow integration
-
Plugin System - Extensible architecture
- Custom language parsers
- Third-party tool integrations
- Custom visualization plugins
- Export format extensions
-
VS Code Extension - Native IDE integration
- Inline documentation preview
- Graph visualization in editor
- AI chat sidebar
- Quick analysis commands
-
JetBrains IDE Plugin - IntelliJ IDEA, PyCharm, WebStorm support
- Native IDE integration
- Context-aware suggestions
- Code navigation enhancements
-
Mobile App - Code exploration on the go
- iOS and Android native apps
- Offline repository access
- Push notifications for analysis completion
- Mobile-optimized graph visualization
-
Self-Hosted Enterprise Edition
- On-premise deployment
- LDAP/SAML/SSO authentication
- Advanced security controls
- Audit logging and compliance
-
Team Collaboration Suite
- Organization-wide knowledge bases
- Team analytics and insights
- Project management integration
- Custom workflows and automations
-
Multi-Repository Analysis - Cross-project insights
- Microservices dependency mapping
- Shared library usage tracking
- Organization-wide code patterns
-
Time-Travel Code Analysis - Historical codebase exploration
- Repository evolution visualization
- Regression analysis
- Contributor timeline analysis
- Code archaeology tools
-
AI Code Generation & Migration
- Automated migration between frameworks
- Legacy code modernization
- Cross-language code translation
- Architecture transformation assistance
-
Extended Language Support
- Rust, Swift, Kotlin support
- SQL and database schema analysis
- Infrastructure-as-Code (Terraform, CloudFormation)
- Configuration file analysis (YAML, TOML, JSON)
Have an idea? Submit a feature request and help shape the future of GitVizz!
This repository contains multiple components with different licenses:
- Backend & Frontend Applications: Licensed under the GNU Affero General Public License v3.0
- GitVizz Core Library: Licensed under the Apache License 2.0
Please refer to the respective LICENSE files in each component directory for detailed terms and conditions.
- Contributors - Thank you to all our amazing contributors!
- Community - Special thanks to our supportive community
- Open Source - Built on the shoulders of incredible open source projects
- Feedback - Grateful for all user feedback and suggestions