AI Coding Analytics Platform - Measure AI's impact on developer productivity
Project description
Vibemetric
AI Code Detection Platform - Measure AI's impact on developer productivity and track AI tool adoption across your engineering team.
Overview
Vibemetric is an enterprise-grade AI code detection platform that helps engineering managers:
- ๐ Track AI Adoption - Identify which developers are using AI tools and when they started
- ๐ Measure Productivity Impact - Quantify velocity changes after AI tool adoption
- ๐ Detect AI-Generated Code - Analyze code patterns with 4-layer detection system
- ๐ Generate Insights - Get actionable recommendations for team AI usage policies
Key Features
4-Layer Detection System
-
Artifact Detector (90% accuracy) - Detects AI tool configuration files
- Supports 12 AI tools: Cursor, Claude, Kiro, GitHub Copilot, Aider, and more
- Extracts adoption dates and author information from git history
-
Velocity Analyzer (80% accuracy) - Detects coding speed changes
- Identifies 1.8x+ velocity spikes indicating AI adoption
- Calculates baseline vs current velocity (lines/day)
-
Pattern Detector (70% accuracy) - Analyzes AI code patterns
- AI-style comments and comprehensive docstrings
- Conventional commits and structured PR descriptions
- Type hints, dataclass usage, and code uniformity
-
ML Detector (85% accuracy) - Statistical pattern detection
- Trained on DROID dataset (846k samples)
- Detects GPT-4, Copilot, and other AI-generated code
- Analyzes whitespace, entropy, and linguistic patterns
Enterprise-Ready CLI
# Scan any repository
vibemetric scan /path/to/repo
# JSON output for CI/CD integration
vibemetric scan . --format json
# Analyze more files for accuracy
vibemetric scan . --sample-size 50
Installation
Requirements
- Python 3.9 or higher
- Git (for repository analysis)
Install from Source
# Clone the repository
git clone https://github.com/salim8898/vibemetric.git
cd vibemetric
# Install with ML support
pip install -e ".[ml]"
# Or install for development
pip install -e ".[dev,ml]"
Verify Installation
vibemetric --help
Quick Start
Scan a Repository
# Scan current directory
vibemetric scan .
# Scan specific repository
vibemetric scan /path/to/repo
# Get JSON output
vibemetric scan . --format json
Example Output
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ VIBEMETRIC SCAN RESULTS โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Repository: /Users/dev/my-project
Detection Summary
โโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโ
โ Layer โ Score โ Status โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Artifact Detection โ 90.0/100 โ โ 2 tools โ
โ Velocity Detection โ 80.0/100 โ โ Spike โ
โ Pattern Detection โ 75.0/100 โ โ 8 high-AI files โ
โ ML Detection โ 85.0/100 โ โ 12 AI files โ
โโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโ
Combined AI Likelihood: 82.5/100
AI Assistance Level: SUBSTANTIAL
Confidence: 0.89
Interpretation:
This code shows SUBSTANTIAL AI assistance (82.5/100). Multiple
detection layers confirm significant AI tool usage. Likely generated
with tools like GPT-4, Copilot, or Claude.
Recommendations:
โข Review AI tool usage policies with team
โข Ensure AI-generated code is properly reviewed
โข Consider code quality audits for AI-assisted code
โข Document which AI tools are approved for use
Python Library Usage
from vibemetric.detectors import (
ArtifactDetector,
VelocityAnalyzer,
PatternDetector,
MLDetector
)
from vibemetric.scorer import Scorer
# Initialize detectors
artifact_detector = ArtifactDetector("/path/to/repo")
velocity_analyzer = VelocityAnalyzer("/path/to/repo")
pattern_detector = PatternDetector()
ml_detector = MLDetector()
# Run detection
artifacts = artifact_detector.detect()
artifact_signal = artifact_detector.get_detection_signal(artifacts)
velocity_metrics = velocity_analyzer.analyze()
velocity_signal = velocity_analyzer.get_detection_signal(velocity_metrics)
# Combine signals
scorer = Scorer()
vibe_score = scorer.calculate_vibe_score([
artifact_signal,
velocity_signal,
# ... other signals
])
print(f"AI Likelihood: {vibe_score.overall_score:.1f}/100")
print(f"Assistance Level: {vibe_score.ai_assistance_level.value}")
print(f"Confidence: {vibe_score.confidence:.2f}")
AI Assistance Levels
Vibemetric classifies code into three assistance levels:
- MINIMAL (0-40): Primarily human-authored with little to no AI tool usage
- PARTIAL (40-70): Mixed human-AI collaboration, some AI assistance detected
- SUBSTANTIAL (70-100): Significant AI contribution, multiple AI indicators
Supported AI Tools
Vibemetric detects configuration files for:
- Cursor (.cursorrules)
- Claude (.claude/, claude.md, .anthropic/)
- Kiro (.kiro/)
- GitHub Copilot (.copilot/, .github/copilot/)
- Aider (.aider/)
- Windsurf (.windsurf/)
- Tabnine (.tabnine/)
- Codeium (.codeium/)
- Amazon CodeWhisperer (.aws/codewhisperer/)
- Replit Ghostwriter (.replit)
- Sourcegraph Cody (.cody/)
- JetBrains AI (.idea/ai/)
CLI Options
vibemetric scan [PATH] [OPTIONS]
Options:
--format [terminal|json] Output format (default: terminal)
--sample-size INTEGER Number of files to analyze (default: 10)
--verbose Show detailed progress
--help Show help message
Development
Setup Development Environment
# Install with development dependencies
pip install -e ".[dev,ml]"
# Run tests
pytest
# Run tests with coverage
pytest --cov=vibemetric --cov-report=html
# Run specific test suite
pytest tests/test_scorer.py -v
Project Structure
vibemetric/
โโโ src/vibemetric/
โ โโโ cli.py # CLI interface
โ โโโ models.py # Data models
โ โโโ scorer.py # Score combination engine
โ โโโ detectors/
โ โ โโโ artifact_detector.py
โ โ โโโ velocity_analyzer.py
โ โ โโโ pattern_detector.py
โ โ โโโ ml_detector.py
โ โโโ ml/
โ โโโ feature_extractor.py
โโโ tests/ # Test suite
โโโ models/ # Trained ML models
โโโ pyproject.toml # Project configuration
How It Works
Detection Process
- Artifact Detection - Scans for AI tool config files in repository
- Velocity Analysis - Analyzes commit history for velocity spikes
- Pattern Detection - Examines code for AI-specific patterns
- ML Detection - Uses trained model for statistical analysis
- Score Combination - Weighted averaging with confidence calculation
Scoring Algorithm
Combined Score = (Artifact ร 0.40) + (Velocity ร 0.25) +
(Pattern ร 0.20) + (ML ร 0.15)
Weights are based on layer accuracy and reliability:
- Artifact: 40% (most reliable - actual config files)
- Velocity: 25% (good for adoption timing)
- Pattern: 20% (catches specific AI patterns)
- ML: 15% (fallback for subtle patterns)
Known Limitations
- Squash Merge Workflows: Velocity analysis may be inaccurate for repos using squash merges. PR-based analysis coming in Phase 2.
- ML Model: Trained on DROID dataset, may have false positives on very clean human code
- Sample Size: Default 10-file sample may miss patterns in large repos. Use
--sample-size 50for better accuracy.
See KNOWN_ISSUES.md for details.
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
License
MIT License - See LICENSE file for details.
Support
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
Citation
If you use Vibemetric in your research, please cite:
@software{vibemetric2026,
title = {Vibemetric: AI Code Detection Platform},
author = {Salim Shaikh},
year = {2026},
url = {https://github.com/salim8898/vibemetric}
}
Acknowledgments
Built with:
- GitPython - Git repository analysis
- scikit-learn - Machine learning
- Rich - Terminal formatting
- DROID Dataset - ML training data
Made with โค๏ธ by the Vibemetric team
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vibemetric-0.1.0.tar.gz.
File metadata
- Download URL: vibemetric-0.1.0.tar.gz
- Upload date:
- Size: 61.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7a0d982b88e1781f81d851d514f70bb4aecc6cc2d11b37a919c4b5aa72136eb
|
|
| MD5 |
9e46048164b1a74d4987ef6ca313c3e8
|
|
| BLAKE2b-256 |
efda6034a737ddab364b2f3e14b5b14cde79cb6d7dbf83056b8c5474e02bcfee
|
Provenance
The following attestation bundles were made for vibemetric-0.1.0.tar.gz:
Publisher:
release.yml on salim8898/vibemetric
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vibemetric-0.1.0.tar.gz -
Subject digest:
b7a0d982b88e1781f81d851d514f70bb4aecc6cc2d11b37a919c4b5aa72136eb - Sigstore transparency entry: 1278611215
- Sigstore integration time:
-
Permalink:
salim8898/vibemetric@695403cc0e50fa60544c1948aeb1ce0ff2bea043 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/salim8898
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@695403cc0e50fa60544c1948aeb1ce0ff2bea043 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vibemetric-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vibemetric-0.1.0-py3-none-any.whl
- Upload date:
- Size: 53.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd648319080e5baa923f688a3b5b60fde9e81b686148f66f45307f670960828d
|
|
| MD5 |
98f787c17c4a55cd53a7ab492b177866
|
|
| BLAKE2b-256 |
53d7853935dd7f152776b00ba1569fd15d2843a115561e3b13688d74369ca3d5
|
Provenance
The following attestation bundles were made for vibemetric-0.1.0-py3-none-any.whl:
Publisher:
release.yml on salim8898/vibemetric
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vibemetric-0.1.0-py3-none-any.whl -
Subject digest:
cd648319080e5baa923f688a3b5b60fde9e81b686148f66f45307f670960828d - Sigstore transparency entry: 1278611247
- Sigstore integration time:
-
Permalink:
salim8898/vibemetric@695403cc0e50fa60544c1948aeb1ce0ff2bea043 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/salim8898
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@695403cc0e50fa60544c1948aeb1ce0ff2bea043 -
Trigger Event:
push
-
Statement type: