Documentation
Resources
Everything you need to install, configure, and operate LineageLens — from a 30-second extension install to a full Kubernetes deployment.
Quickstart
There are two capture paths. Start with the one that matches your setup — you can add the other later.
Easy Mode — the extension (30 seconds)
code --install-extension karnatipraveen.lineagelens-base
The extension activates the moment it installs — no configuration, no backend, no API key. It works in VS Code, Cursor, and Windsurf. The status bar shows LL: Easy (local) and captures appear in the LineageLens sidebar whenever 4+ lines are inserted in one change.
Power Mode — the proxy (5 minutes)
git clone https://github.com/karnati-praveen/lineagelens
cd lineagelens
bash lineagelens-scripts/quickstart-lite.sh # macOS / Linux
# Windows (PowerShell 5.1+):
.\lineagelens-scripts\quickstart-lite.ps1
Open http://localhost:8787/setup, create an admin, then point your AI tools at the proxy:
export ANTHROPIC_BASE_URL=http://localhost:8788 # Claude Code / claude CLI
export OPENAI_BASE_URL=http://localhost:8788 # Codex CLI / Goose
The extension polls /proxy-health every 30s, detects the proxy, and flips the status bar to LL: Power with no restart.
Easy vs Power is a capture path, not a tier. "Easy" = capturing without the proxy (file + lines only). "Power" = the proxy is running (full prompt + model). The tier (Base/Lite/Plus/Max) describes the backend.
Operating modes
Pick the tier that matches your team and storage needs. The full capability matrix lives in lineagelens-config/tiers.json — the single source of truth.
| Mode | Who | Storage | Prompt + model |
|---|---|---|---|
| Base | Anyone — zero setup | VS Code global state | No — file + lines |
| Lite | Solo or team ≤ 10 | SQLite + Docker | Yes |
| Plus | Teams 10–100, CI gate | PostgreSQL | Yes |
| Max | Compliance, graph, SSO | PostgreSQL + Neo4j | Yes |
What gets captured
Every record carries the origin and intent of a block of AI code:
| Field | Example |
|---|---|
| Prompt | "add rate limiting to /api/login" |
| Model | claude-opus-4-5 |
| Tool | Claude Code |
| File / lines | src/routes/auth.py · +47 / -3 |
| Status | applied / rejected / errored |
| Risk | HIGH (auth + network pattern) |
| Confidence | very_high (0.92) — five-signal score |
The proxy parses each provider’s native tool-calling protocol — Anthropic tool_use blocks, OpenAI Responses function_call with the apply_patch DSL, and Gemini functionCall parts — then correlates each edit with the next turn’s tool_result to resolve whether the edit actually landed.
The blame CLI
lineagelens blame annotates any file line-by-line with the AI that wrote it. lineagelens report answers "how much of this repo is AI-written?"
$ lineagelens blame src/users.py
AI claude-opus-4-8 2026-06-01 3 │ def fetch_user(user_id):
AI claude-opus-4-8 2026-06-01 4 │ """Load a user by id."""
7 │ def main():
── 3/7 lines AI-attributed (42.9%) — claude-opus-4-8: 3 lines
It works on every tier, even Base with no backend — it reads your local capture export. report outputs a per-file table, per-model totals, paste-ready markdown for READMEs and PRs, and JSON for CI gates.
Tool guides
Per-tool setup and capture detail lives in the repo’s lineagelens-docs/tools/ directory:
- Claude Code — full capture via
ANTHROPIC_BASE_URL - OpenAI Codex CLI — Responses API +
apply_patchDSL - Gemini CLI —
functionCall/functionResponse - Cursor / Copilot / Windsurf — editor-only capture (file + lines)
- Continue — full or editor-only depending on provider
See the API reference for the ingest, search, integrity, and export endpoints, and the proxy setup guide for routing each tool.