Developed by Happy Kumar
CodeInsight is a full-stack GitHub Repository Intelligence Platform built using React, TypeScript, Node.js, Express, Gemini AI, and GitHub APIs.
The platform helps developers understand GitHub repositories through repository analytics, contributor insights, AI-generated summaries, and AI-powered codebase Q&A.
- Analyze any public GitHub repository
- Fetch repository metadata
- View repository statistics
- Repository language insights
- Open issue tracking
- Fetch top contributors
- Contribution count analysis
- Contributor profile information
- Community activity insights
- AI-generated repository overview
- Architecture explanations
- Key feature extraction
- Technology stack identification
- Project purpose analysis
- Analyze repository structure and source code using GitHub APIs
- Ask natural language questions about the codebase
- Generate context-aware AI responses powered by Gemini
- Understand project architecture, workflows, and implementation details
- Extract insights from repository files without local cloning
- Identify key modules, services, and code organization patterns
- React
- TypeScript
- Vite
- Tailwind CSS
- Axios
- React Router DOM
- Lucide React
- Node.js
- Express.js
- GitHub REST API
- Simple Git
- Gemini 2.5 Flash
- Repository Context Analysis
- AI Summarization
- Codebase Question Answering
Before running the project, ensure you have:
- Node.js
- Git
- GitHub Personal Access Token
- Gemini API Key
git clone https://github.com/ImHappyKumar/code-insight.gitcd code-insightcd server
npm installcd client
npm installCreate the following files before running the project.
PORT=5000
GITHUB_TOKEN=your_github_personal_access_token
GEMINI_API_KEY=your_gemini_api_key
ALLOWED_ORIGINS=http://localhost:5173,http://localhost:3000VITE_API_URL=your_server_urlRename .env.example to .env after adding your values.
cd server
npm startcd client
npm run devOpen:
http://localhost:5173
GET /github/analyzeQuery Parameters:
owner
repo
GET /github/contributorsQuery Parameters:
owner
repo
GET /github/summaryQuery Parameters:
owner
repo
POST /repository/askRequest:
{
"repoUrl": "https://github.com/facebook/react",
"question": "How is state managed?"
}Response:
{
"success": true,
"answer": "React manages state using hooks such as useState and useReducer."
}Contributions are welcome.
If you find a bug or have a feature suggestion, feel free to open an issue or submit a pull request.