@waits/legacylens
v0.3.0
Published
RAG-powered CLI for understanding legacy codebases (LAPACK + NASA cFS)
Maintainers
Readme
LegacyLens
RAG-powered CLI for understanding legacy codebases. Ask questions, explore dependencies, and generate docs — backed by Claude + vector search.
Indexed codebases: LAPACK (Fortran linear algebra) and NASA cFS (spacecraft flight software).
Install
npm install -g @waits/legacylensSetup
legacylens initPrompts for your OpenAI (embeddings) and Anthropic (generation) API keys. Validates both, saves to ~/.legacylens/config.json.
Or set env vars directly:
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...Commands
query — Ask anything
Free-form questions about the indexed codebases. Uses hybrid vector + keyword search with LLM reranking.
legacylens query "What does DGESV do?"
legacylens query "How does cFS handle app startup?" --codebase cfs
legacylens query "What BLAS routines does DGESV depend on?" --codebase lapackexplain — Deep function explainer
Detailed breakdown of a specific function: summary, algorithm, parameters, dependencies, source location.
legacylens explain DGETRF --codebase lapack
legacylens explain CFE_ES_Main --codebase cfsdeps — Dependency & call graph
Maps the dependency tree of a function with ASCII visualization, file paths, and role descriptions.
legacylens deps DGESV --codebase lapack
legacylens deps CFE_SB_SendMsgFull --codebase cfspatterns — Architectural patterns
Finds recurring design patterns across codebases with concrete examples and file references.
legacylens patterns "error handling" --codebase lapack
legacylens patterns "message passing" --codebase cfsdocs — Generate documentation
Produces structured markdown docs: signature, parameter table, return values, usage example, related functions.
legacylens docs DGESV --codebase lapack
legacylens docs CFE_ES_Main --codebase cfsview — View full source code
Look up a function by name and display its full source with syntax highlighting. Useful for drilling down after a query or explain.
legacylens view DGESV --codebase lapack
legacylens view CFE_ES_Main --codebase cfsAdd --full to fetch the entire file from GitHub and highlight the chunk's line range in context:
legacylens view DGESV --codebase lapack --fullNote:
--fullfetches from theHEADbranch, so line numbers may drift slightly from the ingested snapshot.
examples — Quick reference
Prints example queries for every command.
legacylens examplesOptions
All query commands accept:
| Flag | Values | Default | Description |
|------|--------|---------|-------------|
| --codebase | lapack, cfs, all | all | Filter to a specific codebase |
| --full | — | off | Fetch full file from GitHub (view only) |
How it works
- Hybrid retrieval — parallel vector similarity + keyword search against Supabase
- LLM reranking — Claude scores and selects the most relevant code chunks
- Structured generation — Claude generates formatted responses with source citations
- Rich rendering — syntax-highlighted code, styled tables, colored headers in your terminal
- Relevance scores — each source citation shows its relevance rating (0-10)
Documentation
- Pre-Search Analysis — architecture decisions made before coding
- RAG Architecture — vector DB, chunking, retrieval pipeline, failure modes
- AI Cost Analysis — development spend + production projections
Development
bun install
bun run src/cli.ts query "What does DGESV do?" --codebase lapack
bun run buildLicense
MIT
