Observed since 21 Oct, 10:28 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Terminal-based AI interaction tracker and code analyzer for traceability in Software Engineering.
AI-Dev-Tracker is a CLI-based tool designed to track, analyze, and measure the impact of AI-assisted development in software projects.
As developers increasingly rely on AI tools (e.g., ChatGPT, Claude), there is no systematic way to:
This tool provides a structured solution to record, analyze, and report AI-assisted development activity.
Modern software development increasingly integrates AI-generated code. However, there is no standardized mechanism to:
AI-Dev-Tracker addresses this by creating a Git-linked AI interaction logging and analysis system with structured session flow enforcement.
git clone https://github.com/your-repo/AIDevTracker.git
cd AIDevTracker
Installing via setup.py registers the aidt command globally so you can run it from anywhere:
pip install -e .
This installs all dependencies (openai, python-dotenv, rich) automatically and creates the aidt CLI entry point.
Verify the installation:
aidtYou should see the usage/help output.
Option A — Interactive (on first run):
Run any command and you'll be prompted to select your provider:
Select your LLM provider:
1. Gemini
2. OpenAI
3. Groq
4. Other (custom base URL)
Option B — Manual .env file:
Create a .env file in the project root (copy from .env.example):
LLM_API_KEY=your_api_key_here
LLM_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai/
LLM_MODEL=gemini-2.5-flash
RELEVANCE_THRESHOLD=0.4
| Variable | Description | Example |
|---|---|---|
LLM_API_KEY | Your provider's API key | sk-... |
LLM_BASE_URL | OpenAI-compatible base URL | See provider docs |
LLM_MODEL | Model name to use | gemini-2.5-flash |
RELEVANCE_THRESHOLD | Off-topic detection cutoff (0.0–1.0) | 0.4 |
Common provider URLs:
https://generativelanguage.googleapis.com/v1beta/openai/https://api.openai.com/v1/https://api.groq.com/openai/v1/All commands use the aidt entry point after installation. If you have not installed via pip install -e ., you can substitute aidt with python -m aidevtracker.main.
aidt ask "your prompt here" [file.py] # Ask the AI (with optional file context)
aidt analyze [file.py] # Run analysis (repo-wide or per-file)
aidt report # Generate detailed AI contribution report
aidt visualize # Show visual summary in terminal
aidt export [output.csv] # Export all interactions to CSV
aidt session new "Project Name" [--goal "Session goal"] # Create a new session
aidt session list # List all sessions
aidt session use <id> # Switch active session
aidt session guard <on|off> # Toggle hard-block guard mode
aidt session summary # Show active session overview
aidt model # Switch LLM provider (interactive)
aidt model <API_KEY> --base-url <URL> --model <MODEL> # Switch LLM provider (direct)
aidt --threshold <0.0-1.0> <command> # Override relevance threshold for one command
# 1. Install the package
pip install -e .
# 2. Create a new session with a goal
aidt session new "My Web App" --goal "Building the authentication module"
# 3. Ask the AI a question scoped to a file
aidt ask "How should I structure JWT token validation?" auth.py
# 4. Run an analysis on your repo
aidt analyze
# 5. Generate a contribution report
aidt report
Sessions can be created with a goal that defines the session's purpose. This enables:
Proceed anyway? [y/N].aidt session guard on, off-topic prompts are hard-blocked with no AI call made.Developer: aidt ask "..." file.py
│
▼
Session active AND file has a prior prompt?
│
Yes ├── max(keyword_overlap scores) < threshold?
│ │
│ Yes ├── guard_mode ON → 🚫 HARD BLOCK
│ └── guard_mode OFF → ⚠ Soft warn → y/N
│ No └── Proceed
▼
AI responds (system prompt scoped to session goal)
│
▼
Relevance scored → Interaction saved to DB
AIDevTracker/
├── aidevtracker/ # Main Python package
│ ├── __init__.py
│ ├── main.py # Entry point (CLI argument parsing)
│ ├── cli.py # Command implementations
│ ├── ai_client.py # LLM provider abstraction
│ ├── analyzer.py # Relevance & contribution analysis
│ ├── db.py # SQLite database layer
│ ├── env_utils.py # .env loading & model configuration
│ ├── git_utils.py # Git commit hash integration
│ └── visualizer.py # Terminal visualizations
├── setup.py # Package install config (creates `aidt` command)
├── .env.example # Environment variable template
├── metadata.md # Full metadata field reference
└── README.md
AI contribution is measured using the following metrics:
Prompt Count per File
Git Commit Linkage
Hybrid Relevance Detection
SequenceMatcher — catches verbatim text/code reuseKeyword Overlap — catches topical relevance (shared terms).env or --threshold flag)Relevance Classification
Struggle Detection
These metrics help identify:
Per-interaction: prompt, response, file_path, commit_hash, timestamp, prompt_length, response_length, model_used, response_time, relevance, session_id
Per-session: project_name, created_at, goal, guard_mode
See metadata.md for the full reference.
This project is developed as part of a Software Engineering Lab to study:
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 1.0.0 | 26 Apr 2026 | 3 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 10:28 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:1d6e606524458906ad4a10b4de59dcff940f49510575c0be65c4d73d769ae3f8