Claude Tools / Plugins / claude-local-docs

Plugins · matteodante/claude-local-docs

claude-local-docs

Local-first Context7 alternative — indexes JS/TS dependency docs with a 4-stage RAG pipeline (vector + BM25 + RRF + cross-encoder reranking). Uses TEI Docker containers for GPU-accelerated embeddings and reranking.

CLEARED_STATICclaude-onlyv1.0.23

Pipeline results

Coverage

CLEARED_STATIC

Tests run

7 / 8

Portability

Claude-only

Type

Plugins

Tests & results

What the pipeline checked

TestStateResult or reason
eligibilityranall eligibility checks passed
dedupranunique -- no near-duplicate found
clocran7542 code lines / 35 files
secretsranno secret patterns matched
egressran11 lexical match(es) — FLAG-INFO (C-01: semantic analysis deferred to v2)
injectionranno patterns matched (confidence: STANDARD)
required-fieldsranrequired fields present: name, version, description
behaviouraldeferredbehavioural assessment deferred (v1): 15 JS/TS entry point(s)

What's inside

Components found

commands/fetch-docs.md
componentlow
commands/index-codebase.md
componentlow

Coverage

Not assessed

  • behavioural execution not run
  • egress patterns logged (FLAG-INFO): 11 lexical match(es)

README

From the repository

# claude-local-docs

A local-first alternative to Context7 for Claude Code. Indexes your project's dependency documentation **and source code** locally with production-grade semantic search. Embeddings and reranking run via TEI (HuggingFace Text Embeddings Inference) Docker containers with auto GPU detection. Supports JS/TS, Vue, Svelte, and Astro with AST-aware chunking, JSDoc extraction, and git-diff incremental indexing.

## Benchmark: Semantic Search vs Grep

![Benchmark Results](assets/benchmark.png)

Tested on a real-world TypeScript monorepo (957 files, 4,484 indexed code chunks) with 187 generic queries across 16 categories (authentication, database, caching, error handling, etc.).

**How scores are computed:**
- **Semantic search** — scored 0-10 based on the top relevance score returned by the search pipeline (`top_relevance * 9.5 + result_count_bonus`). Zero results = zero score.
- **Grep** — scored 0-10 using a log-scale penalty for noise (`7.5 - 1.5 * log10(matching_files)`). Few focused matches score high; hundreds of files score low. Capped at 7.5 since grep always requires manual review.
- **Combined** — `max(Semantic, Grep)` per query. Represents what Claude Code ge

← Back to Plugins