An AI-powered codebase understanding platform that analyzes GitHub repositories and helps developers quickly understand project architecture, dependencies, and implementation details through intelligent search and natural language explanations.
- Clone and analyze any public GitHub repository
- Build a structured knowledge model of the codebase
- Parse source files to extract classes, functions, imports, and modules
- Generate dependency graphs
- Search code symbols and files
- Semantic repository queries
- Context generation for developer questions
- Deterministic explanation engine
- Optional Gemini AI integration with automatic fallback
- REST API built with FastAPI
- Python
- FastAPI
- Pydantic
- GitPython
- Google Gemini API (optional)
- Deterministic explanation engine (offline fallback)
- Pytest
backend/
│
├── app/
│ ├── api/
│ ├── core/
│ ├── models/
│ ├── services/
│ │ └── llm/
│ └── utils/
│
├── tests/
├── requirements.txt
├── run.py
└── README.md
- Clone Repository
- Repository Health
- Scan Repository
- Parse Repository
- Dependency Graph
- Knowledge Model
- List Classes
- List Functions
- List Imports
- List Files
- Symbol Search
- Relationship Search
- Context Builder
- Explanation Engine
- AI Explain Endpoint
Clone the repository
git clone https://github.com/pragya-shree/commitit.git
cd commitit/backendCreate a virtual environment
python -m venv .venvActivate it
Windows
.venv\Scripts\activateInstall dependencies
pip install -r requirements.txtCreate a .env file
GEMINI_API_KEY=
GEMINI_MODEL=gemini-2.5-flashThe Gemini API key is optional. If it is not provided, CommitIt automatically falls back to its deterministic explanation engine.
python run.pyThe API will be available at
http://localhost:8000
Interactive documentation
http://localhost:8000/docs
GitHub Repository
│
▼
Repository Clone
│
▼
Repository Scanner
│
▼
Source Parser
│
▼
Dependency Graph
│
▼
Knowledge Model
│
▼
Query Engine
│
▼
Context Builder
│
▼
Explanation Engine
│
▼
Optional Gemini AI
- Single-build repository analysis
- Cached in-memory knowledge model
- Read-only query layer
- Deterministic explanation pipeline
- Optional AI enhancement
- Automatic fallback when AI is unavailable
- No databases
- No Redis
- No Docker required
Run all tests
pytest- Support additional LLM providers
- Repository visualization
- Interactive frontend
- Multi-repository analysis
- Conversation memory
- Code editing assistance
This project is licensed under the MIT License.