Skip to content

eshaanag/CommitIQ---

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CommitIQ

CommitIQ analyzes a GitHub repository's commit history to show how code health changes over time. It ingests commits, computes complexity, churn, dependency, semantic drift, and bus factor signals, then presents an interactive dashboard with health timelines, graph exploration, hotspot views, and optional Claude or Gemini-generated commit narratives.

Tech Stack

  • FastAPI and Python
  • React and Vite
  • SQLite
  • Claude and Gemini APIs

Prerequisites

  • Python 3.11 or newer
  • Node.js 18 or newer
  • Git
  • Optional API keys for Anthropic Claude, Google Gemini, and GitHub

Run Locally

  1. Clone the repository:
git clone https://github.com/eshaanag/CommitIQ---.git
cd CommitIQ---
  1. Create an environment file:
cp .env.example .env

Update .env with your local values. For SQLite, use a SQLAlchemy async URL such as sqlite+aiosqlite:///./commitiq.db.

  1. Install backend dependencies:
python -m venv .venv
source .venv/bin/activate
pip install -r backend/requirements.txt

For optional GraphCodeBERT semantic analysis:

pip install -r backend/requirements-ml.txt
  1. Run the backend:
uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000
  1. Install frontend dependencies and run Vite:
cd frontend
npm install
npm run dev

The frontend runs at http://localhost:5173 by default and expects the backend at http://localhost:8000.

Environment Variables

DATABASE_URL=your_database_url_here
REPO_STORAGE_PATH=/tmp/commitiq_repos
LLM_MAX_CALLS=25
MAX_COMMITS=150
GITHUB_TOKEN=your_github_token_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
GEMINI_API_KEY=your_gemini_api_key_here

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors