Temporal Code Intelligence

Static analysis tells you a file is complex. GitVoyant tells you whether that complexity is growing.

Time-series complexity analysis across Python, JavaScript, Java, and Go. Trend detection, confidence scoring, and predictive decay forecasting on Git commit history.

View on GitHub Quick Start
How It Works

The temporal evaluation pipeline

Every file in your repository has a complexity trajectory. GitVoyant extracts it, measures it, and classifies it.

Commit History
AST Analysis
Complexity Time Series
Linear Regression
Trend Classification
01

Extract

Retrieve commit history for each source file. Compute cyclomatic complexity at every snapshot using language-specific parsers.

02

Analyze

Fit linear regression to the complexity time series. Compute trend slope as complexity change per month. Score confidence based on commit history depth.

03

Classify

Classify each file as IMPROVING, DECLINING, or STABLE. Forecast quality decay risk bounded between 0 and 1. Surface the files that need attention.

gitvoyant analyze temporal ./project
File Trend Score Confidence Risk
src/api/handlers.py [-] DECLINING +2.3 0.91 HIGH
src/core/engine.go [~] STABLE +0.1 0.87 LOW
src/utils/transform.js [+] IMPROVING -1.4 0.93 LOW
src/models/User.java [-] DECLINING +1.8 0.85 MEDIUM
src/services/auth.py [+] IMPROVING -0.6 0.90 LOW
src/routes/index.ts [~] STABLE +0.0 0.72 LOW
Repository Health: STABLE | 6 files analyzed | 4 languages detected
Languages

Four parsers, one protocol

Each language has a dedicated analyzer implementing a common interface. Language detection is automatic based on file extension.

Python
built-in ast
.py
JavaScript
tree-sitter
.js .jsx .ts
Java
tree-sitter
.java
Go
tree-sitter
.go
Quick Start

Three commands to running

Clone, bootstrap, analyze. GitVoyant uses UV for dependency management and provides a Makefile for all common operations.

# Clone and bootstrap git clone https://github.com/Cre4T3Tiv3/gitvoyant.git cd gitvoyant make bootstrap # Analyze a repository gitvoyant analyze temporal /path/to/repo # Restrict to a single language gitvoyant analyze temporal /path/to/repo --language javascript # Launch AI agent for conversational analysis gitvoyant analyze agent