whogitit 1.0.0

Track AI-generated code at line-level granularity
Documentation
# Introduction

**whogitit** is a tool for tracking AI-generated code at line-level granularity. It tells you exactly which lines were written by AI, which were modified by humans, and what prompts generated them.

## Why whogitit?

As AI coding assistants become integral to development workflows, understanding the origin of code becomes increasingly important:

- **Transparency**: Know exactly what percentage of your codebase was AI-generated
- **Accountability**: Track which prompts led to specific code changes
- **Code Review**: Quickly identify AI-generated sections that may need extra scrutiny
- **Compliance**: Meet organizational requirements for AI usage disclosure
- **Learning**: Understand how AI suggestions were modified and improved by humans

## Key Features

- **Line-level attribution** - Track whether each line is AI-generated, human-modified, or original
- **Prompt preservation** - Store the prompts that generated code alongside commits
- **Three-way diff analysis** - Accurate attribution even when you edit AI code before committing
- **Git-native storage** - Uses git notes that travel with your repository
- **Claude Code integration** - Automatic capture via hooks
- **GitHub Action** - PR comments showing AI attribution summaries with prompts
- **Privacy protection** - Automatic redaction of API keys, passwords, and sensitive data
- **Data retention policies** - Configurable age limits and auto-purge for compliance
- **Audit logging** - Track deletions, exports, and configuration changes
- **Export capabilities** - Bulk export attribution data as JSON or CSV

## How It Works

whogitit uses a dual-hook capture system integrated with Claude Code:

1. **PreToolUse Hook** - Captures the file state before any AI edit
2. **PostToolUse Hook** - Records the change and extracts the prompt from the session transcript

When you commit, whogitit performs a **three-way diff analysis** comparing:
- The original content (before AI edits)
- The AI-generated content (after each AI edit)
- The final committed content (after any human modifications)

This analysis determines the attribution for each line, which is stored as a git note attached to the commit.

## Attribution Types

| Symbol | Source | Description |
|--------|--------|-------------|
| `` | AI | Generated by AI, unchanged |
| `` | AIModified | Generated by AI, then edited by human |
| `+` | Human | Added by human after AI edits |
| `` | Original | Existed before AI session |
| `?` | Unknown | Could not determine source |

## Next Steps

- [Installation]./getting-started/installation.md - Get whogitit set up
- [Quick Start]./getting-started/quick-start.md - Start tracking in 5 minutes
- [Core Concepts]./getting-started/concepts.md - Understand how attribution works