Skip to main content

Multi-harness AI coding tool config inspector — scan, visualize, and audit AI assistant ecosystems.

Project description

LiteHarness

PyPI version Python 3.10+ License: MIT

Multi-harness AI coding tool config inspector.

Scan, visualize, and audit every AI coding assistant installed on your machine — from one place.


Supported Tools

Tool Harness Config Paths Instruction File
Claude Code claude_code ~/.claude/, .claude/ CLAUDE.md
Cursor cursor ~/.cursor/, .cursor/ .cursorrules, .cursor/rules/*.md
Codex CLI codex ~/.codex/ AGENTS.md, codex.json
Windsurf windsurf ~/.windsurf/, .windsurf/ .windsurfrules, .windsurf/rules/*.md
GitHub Copilot copilot ~/.config/github-copilot/, .github/ .github/copilot-instructions.md

Each tool has its own harness — a self-contained module that knows how to detect the tool, discover its config files, parse them, and run health checks.

Installation

# Install from PyPI
pip install liteharness

Or install from source in development mode:

git clone https://github.com/boricles/claude-lens.git
cd claude-lens
pip install -e .

Usage

CLI Report

# Scan all detected AI tools and print a report
liteharness report

# Scan a specific harness only
liteharness report --harness claude_code

# List all supported harnesses and detection status
liteharness harnesses

JSON Output

# Full JSON scan data
liteharness scan

# Filter to one harness
liteharness scan --harness cursor

# Pretty-printed
liteharness scan | python3 -m json.tool

Web Dashboard

# Launch interactive browser UI on localhost:1834
liteharness web

# Custom port
liteharness web --port 9000

Other Commands

# Compare two scan snapshots
liteharness diff snapshot-a.json snapshot-b.json

# Export a project's config as a portable bundle
liteharness export myproject

# Clean up stale sessions and orphaned data (interactive)
liteharness clean

# Print version
liteharness version

The legacy claude-lens command is still available as an alias.

What It Detects

For each tool, LiteHarness discovers:

  • Global settings — permissions, preferences, API config
  • Instruction files — system prompts and rules (CLAUDE.md, .cursorrules, etc.)
  • Rules/agents — custom agent definitions, rule files
  • Sessions — session metadata (count, size, age — never reads content)
  • Plugins/extensions — installed plugins with capabilities
  • Memory — memory files and index integrity
  • Health issues — orphaned state, stale sessions, missing instructions, config drift

Health Checks

Each harness runs its own health checks:

Check Harnesses Severity
Missing instruction file All info
Orphaned project state Claude Code warning
Stale sessions (>30 days) Claude Code info
Memory index drift Claude Code warning
Disk usage >100-200 MB Claude Code, Cursor, Windsurf warning
Outdated config (>180 days) Copilot info

Architecture

liteharness/
  harnesses/
    __init__.py        # BaseHarness ABC, schema dataclasses, registry
    claude_code.py     # Claude Code harness
    cursor.py          # Cursor harness
    codex.py           # Codex CLI harness
    windsurf.py        # Windsurf harness
    copilot.py         # GitHub Copilot harness
  scanner.py           # Orchestrator — runs all harnesses, merges results
  parser.py            # Shared parsers (frontmatter, JSON, etc.)
  report.py            # CLI text report renderer
  server.py            # HTTP server + web dashboard
  web/index.html       # Single-file web dashboard (Tailwind + vanilla JS)
  export.py            # Project config export
  diff.py              # Scan snapshot comparison
  clean.py             # Cleanup stale data
  style.py             # Shared ANSI color helpers

Adding a New Harness

  1. Create liteharness/harnesses/newtool.py
  2. Subclass BaseHarness and implement detect(), scan(), health_checks()
  3. Decorate with @register_harness
  4. Add the module name to _ensure_harnesses_loaded() in harnesses/__init__.py

Design Principles

  • Zero mandatory dependencies — stdlib only for core scanner and CLI
  • Local-first — web server binds to 127.0.0.1 only
  • Privacy-safe — never reads conversation content from session files
  • Non-destructive — never modifies user files unless in explicit clean mode
  • Self-contained harnesses — each harness module is independent

Development

# Run all tests
python3 -m unittest discover tests/ -v

# Run a specific test file
python3 -m unittest tests.test_windsurf_harness -v

# Run as module
python3 -m liteharness version

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_dev_harness-0.2.0.tar.gz (47.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_dev_harness-0.2.0-py3-none-any.whl (50.4 kB view details)

Uploaded Python 3

File details

Details for the file ai_dev_harness-0.2.0.tar.gz.

File metadata

  • Download URL: ai_dev_harness-0.2.0.tar.gz
  • Upload date:
  • Size: 47.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ai_dev_harness-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9c09b374785fe07ed93bfa515473aa2c6ec35328d67dd972e99e9f22bd16a12d
MD5 73be2c8ee4257079b4ce2b04ff86446e
BLAKE2b-256 074f6927ba2c8d94e0c8d17b3d2412791bc6d19ed494cb8ca1c9b2f4e1a0e786

See more details on using hashes here.

File details

Details for the file ai_dev_harness-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: ai_dev_harness-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 50.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ai_dev_harness-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 80390cbf2bd44846356380422033742e7b86c5e558ccb76ee9b4107bc5ece9d6
MD5 de7d608183af42174089b8e2ab4c7c0b
BLAKE2b-256 dfc15d615a9bfd242fa19b438c1b55c81ea7777b0ebfb56ebc2ae913094e75ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page