{
  "markdown": "<div align=\"center\">\n\n<img src=\"assets/logo_1.png\" alt=\"DevLens Logo\" width=\"120\" />\n\n# DevLens\n\n**Intelligent codebase visualizer.**\n\nTurn any TypeScript, JavaScript, Python, Go, Rust, or Java repository into a living, queryable graph — every node carries a functional summary, a technical summary, and a security assessment.\n\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n[![npm: @devlensio/cli](https://img.shields.io/badge/npm-%40devlensio%2Fcli-cb3837?logo=npm)](https://www.npmjs.com/package/@devlensio/cli)\n[![npm: @devlensio/skill](https://img.shields.io/badge/npm-%40devlensio%2Fskill-cb3837?logo=npm)](https://www.npmjs.com/package/@devlensio/skill)\n[![Built with Bun](https://img.shields.io/badge/Built%20with-Bun-f9f1e1?logo=bun)](https://bun.sh)\n\n**[Join the DevLens Cloud Waitlist →](https://devlens.io)**\n\n</div>\n\n---\n\n[![DevLens Demo](assets/image.png)](https://youtu.be/6OMsk8lNv4c?si=wpYF80IcfuJpN_Gf)\n\n<p align=\"center\"><em>Click the image to watch the demo</em></p>\n\n---\n\n## Table of Contents\n\n- [What is DevLens?](#what-is-devlens)\n- [Supported languages](#supported-languages)\n- [Prerequisites](#prerequisites)\n- [Quick Start](#quick-start)\n- [Screenshots](#screenshots)\n- [Why it's fast & cheaper](#why-its-fast--cheaper)\n- [Ways to use DevLens](#ways-to-use-devlens)\n  - [Web UI — visual exploration](#web-ui--visual-exploration)\n  - [CLI — terminal power](#cli--terminal-power)\n  - [Agent Skill — AI-powered understanding](#agent-skill--ai-powered-understanding)\n  - [MCP Server — for any MCP-compatible AI agent](#mcp-server--for-any-mcp-compatible-ai-agent)\n- [How to summarize](#how-to-summarize)\n- [Configuration](#configuration)\n- [What DevLens understands](#what-devlens-understands)\n- [Benchmarks](#benchmarks)\n- [Who is this for](#who-is-this-for)\n- [How DevLens compares](#how-devlens-compares)\n- [Repository layout](#repository-layout)\n- [DevLens Cloud](#devlens-cloud)\n\n---\n\n## What is DevLens?\n\n**DevLens turns a codebase into a pre-built dependency graph.** Instead of reading files one at a time, you (or your AI agent) query the graph: every component, class, function, route, struct, or trait is a **node**, and every connection is a **typed edge** (`CALLS`, `IMPORTS`, `HANDLES`, `IMPLEMENTS`, …). Each node carries:\n\n- **Functional summary** — *what business purpose does this serve?*\n- **Technical summary** — *how does it work?*\n- **Security assessment** — *severity + explanation*\n\nThis is the difference between an AI that re-reads your whole repo every session and an AI that already knows the architecture — architecture reviews, impact analysis, security audits, and onboarding take **minutes, not hours**.\n\n**Typical use cases:**\n\n- **Onboarding** — a developer joining a new team sees the architecture, functional/ technical summaries, modules, and gotchas in minutes, not weeks.\n- **Impact analysis** — *before* touching a symbol, see its blast radius: what breaks if you change it?\n- **Security reviews** — every node carries a severity-ranked security assessment with real reach.\n- **PR review** — a review packet that explains the diff's impact, tests, and security delta.\n- **AI agents** — give Claude/Cursor/Kilo an MCP server + skill that queries the graph instead of re-reading files.\n\n---\n\n## Supported languages\n\nDevLens parses **six languages with native parsers** (no AI, no regex, no tree-sitter) and understands their frameworks:\n\n| Language | Frameworks / stacks the graph understands | What gets parsed |\n| :-- | :-- | :-- |\n| **TypeScript / JavaScript** | React, Next.js (app & pages router), Express/Hono/Fastify, React Router, TanStack Router, any Node | components, hooks, state stores, classes, methods, functions, routes |\n| **Python** | FastAPI, Flask, Django (+DRF), SQLAlchemy / Django ORM, Celery, Pydantic | classes, methods, functions, routes, data models |\n| **Java** | Spring Boot (controllers, JPA, Spring Data repositories) | classes, methods, interfaces, enums, routes |\n| **Go** | net/http, Gin, Echo, chi, Fiber, GORM, database/sql | structs, interfaces, methods, functions, routes |\n| **Rust** | axum, actix-web, rocket, utoipa, Diesel | structs, enums, traits, impl blocks, methods, functions, routes |\n\nEach repo is analyzed with its language's own parser (Python `ast`, JavaParser, Go `go/ast` + `go/types`, Rust `syn`, TS compiler API), so edges are **real** — type-checked interfaces (`IMPLEMENTS`), framework routes (`HANDLES`), and ORM data layers (`READS_FROM`/`WRITES_TO`).\n\n---\n\n## Prerequisites\n\n| Requirement | Needed for | Notes |\n| :-- | :-- | :-- |\n| [Bun](https://bun.sh) ≥ 1.x | Build & run from source (`bun install`, `bun run dev`, `bun start`) | macOS/Linux/Windows |\n| [Node.js](https://nodejs.org) ≥ 18 | `npm install -g @devlensio/cli` (optional path) | not needed for the standalone binary |\n| `git` | analyzing a repo (DevLens shells out to `git`) | required on all install paths |\n| A JVM 17+ | Java analysis | only when analyzing Java repos |\n| `python3` 3.11+ | Python analysis | only when analyzing Python repos |\n| An LLM provider API key | AI summaries (optional) | needed only for `--summarize`; structure-only analysis works offline |\n\nSummaries are **never generated silently** — the CLI and skill ask permission first, and structure-only analysis needs no provider at all.\n\n---\n\n## Quick Start\n\nThe fastest way to try the **full experience (Web UI + CLI + hot reload)** is to clone and run from source. The one-line installers give you the CLI with zero build time.\n\n### Option A — Clone & develop (Web UI + CLI together, recommended)\n\n```bash\ngit clone https://github.com/devlensio/devlensOSS.git\ncd devlensOSS\nbun install\n\n# Development (backend on :3000, hot-reloaded frontend on :3001)\nbun dev\n\n# OR production — one command, API + Web UI on a single port (:3000)\nbun start\n```\n\nProduction `bun start` builds the frontend **only the first time** (later runs skip the rebuild unless you pass `--rebuild`) and serves the Web UI *and* the backend API on one port. Open the printed URL, paste an absolute repo path, and click **Analyze** (enable the skip summaries checkbox if you don't want summaries).\n\n### Option B — Install the CLI from npm\n\n```bash\nnpm install -g @devlensio/cli\n```\n\n### Option C — Install the standalone binary (no Node.js required)\n\nThe installers are verbose — they print progress, warnings, errors, and next steps, and **automatically add `devlens` to your `PATH`** (your shell's rc file on macOS/Linux, your user `PATH` on Windows).\n\n```bash\n# Linux / macOS\ncurl -fsSL https://raw.githubusercontent.com/devlensio/devlensOSS/main/scripts/install.sh | sh\n\n# Windows (PowerShell)\nirm https://raw.githubusercontent.com/devlensio/devlensOSS/main/scripts/install.ps1 | iex\n```\n\nCustomize with environment variables: `DEVLENS_VERSION` (e.g. `v0.5.1`), `DEVLENS_INSTALL_DIR` (install folder), or `DEVLENS_NO_PATH=1` to skip the automatic PATH setup.\n\n### Using any install — summarize, then explore\n\n```bash\ncd your-project\ndevlens init                       # optional — configure your AI provider for summaries\ndevlens analyze . --summarize      # build the graph + generate AI summaries\ndevlens overview                   # language, framework, stats, central nodes\ndevlens find-nodes -t ROUTE        # every route in the app\ndevlens architecture               # one-command architecture brief\ndevlens security                   # security flags across the codebase\n```\n\nWant it in your AI agent instead? Jump to [Agent Skill](#agent-skill--ai-powered-understanding).\n\n---\n\n## Screenshots\n\n<div align=\"center\">\n<img src=\"assets/screenshot-graph.jpg\" alt=\"Interactive graph explorer\" width=\"48%\" />\n<img src=\"assets/screenshot-node.jpg\" alt=\"Node inspector with summaries & security risk\" width=\"48%\" />\n<br/><br/>\n<img src=\"assets/screenshot-subgraph.jpg\" alt=\"Focused node subgraph\" width=\"48%\" />\n<img src=\"assets/screenshot-security.jpg\" alt=\"Security findings\" width=\"48%\" />\n<br/>\n<em>Interactive graph explorer · node inspector with AI summaries & security risk · focused node subgraph · security findings</em>\n</div>\n\n---\n\n## Why it's fast & cheaper\n\nA node summary is **~50 tokens**. The file it describes is **~2,000**. Querying summaries and graph slices (`get_blast_radius`, `get_subgraph`) costs a fraction of reading files — humans get answers faster, and AI agents spend dramatically fewer tokens on the same task.\n\n---\n\n## Ways to use DevLens\n\nPick the interface that fits your workflow:\n\n### <img src=\"assets/web-icon.svg\" width=\"20\" style=\"vertical-align: middle\" /> Web UI — visual exploration\n\n*For when you want to see your codebase laid out as an interactive graph.*\n\nOpen the Web UI, paste your repo path, and explore a force-directed canvas — click any node to see its summaries, callers, callees, and security flags. Search, filter, diff commits across versions. The UI runs on a **live server**, so opening `/graph/<any-new-id>` (e.g. clicking a repository card) always renders the graph — even for repos analyzed after the server started.\n\n```bash\n# Production — one command, UI + API on one port (from the source repo)\nbun run start\n# → Web UI:  http://localhost:3000\n```\n\nOr from source (see [Quick Start](#quick-start)): `bun run dev` (hot reload) or `bun run start` (production). The Web UI runs from the source tree — it is **not** bundled into the installed CLI binary.\n\n### <img src=\"assets/cli-icon.svg\" width=\"20\" style=\"vertical-align: middle\" /> CLI (`@devlensio/cli`) — terminal power\n\n*For scripts, CI, and answers fast without leaving the terminal. Every command supports `--json` for piping into scripts, `-v/--verbose` for diagnostics, and `--quiet` for minimal output.*\n\n```bash\nnpm install -g @devlensio/cli\n```\n\n**Analyze & summarize**\n\n| Command | What it does |\n|---------|--------------|\n| `devlens detect [path] [--deps]` | Inspect a repo **before** analyzing: language, manifest, dependency count, source files |\n| `devlens analyze [path] [--summarize] [--force-summarize]` | Build the graph (optionally add AI summaries) |\n| `devlens summarize [target]` | (Re)generate technical/business/security summaries (`target` = repo path or graph id) |\n| `devlens status` | Which repos are analyzed, their language + summary coverage |\n| `devlens doctor` | Environment health check — git, storage, LLM provider, and **all 4 extractor runtimes** (go/rust/java/python) |\n| `devlens init` | First-time setup — configure the LLM provider interactively |\n\n**Explore & understand**\n\n| Command | What it does |\n|---------|--------------|\n| `devlens overview` | Big picture — language, framework, stats, central nodes |\n| `devlens top-nodes [-l <n>]` | Highest-scoring (most central) nodes |\n| `devlens find-nodes <name> [-t <type>]` | Search by name / type / file / severity (e.g. `-t ROUTE`, `-t CLASS`, `-t STRUCT`) |\n| `devlens nodes-in-path <path>` | All nodes in a file or folder |\n| `devlens get-node <id>` | Full detail for one node — summaries, callers, callees |\n| `devlens get-summaries <ids…>` | Batch-read summaries for multiple nodes |\n| `devlens node-code <id>` | Raw source for a node (expensive — prefer `get-node`) |\n| `devlens architecture` | One-call architecture brief — modules, routes, flows, health |\n| `devlens onboard-tour` | One-call onboarding skeleton — modules, routes, flows, glossary, gotchas |\n| `devlens get-context <query>` | Token-budgeted context packet for an agent |\n\n**Impact & quality**\n\n| Command | What it does |\n|---------|--------------|\n| `devlens blast-radius <id>` | What breaks if I change this? (upstream dependents) |\n| `devlens khop <id>` | What does it depend on? (downstream) |\n| `devlens subgraph <seed>` | The cohesive cluster (module) a node belongs to |\n| `devlens cycles` | Circular dependencies |\n| `devlens security [--min-severity …]` | Security findings - severity + explanation |\n| `devlens security-brief` | Ranked security report with blast-radius reach |\n| `devlens diff <from> <to>` | Compare two analyzed commits |\n| `devlens review-pr <from> <to>` | Full PR review packet — diff + impact + tests + security delta |\n| `devlens check-freshness` / `coverage` | Is the graph stale vs HEAD? What's summarized? |\n\n**Manage & integrate**\n\n| Command | What it does |\n|---------|--------------|\n| `devlens config` | View / set LLM provider config (`~/.devlens/config.json`) |\n| `devlens repos` | List analyzed repos |\n| `devlens graphs list \\| delete` | Manage stored graphs |\n| `devlens serve` | Start the backend HTTP API only (used by MCP / skills / the Web UI) |\n| `devlens mcp` | Run the MCP server (see below) |\n\n**Hands-on examples**\n\n```bash\ndevlens detect ./my-app                      # what is this repo? (cheap)\ndevlens analyze ./my-app --summarize         # build graph + AI summaries\ndevlens find-nodes -t ROUTE                  # every route in the app\ndevlens find-nodes Button                    # find a component by name\ndevlens blast-radius \"src/auth/login.ts::login\"   # what breaks if I change it?\ndevlens security --min-severity high         # critical security only\ndevlens graphs list                          # stored graphs\ndevlens graphs delete abc-123                # remove a graph\n```\n\n> **Full reference:** [`src/cli/README.md`](src/cli/README.md) — every command with options and examples.\n\n### <img src=\"assets/skill-icon.svg\" width=\"20\" style=\"vertical-align: middle\" /> Agent Skill — AI-powered understanding\n\n*The most powerful way to use DevLens. Your AI agent normally reads files one at a time — the DevLens Skill teaches it to query the pre-built graph instead.*\n\n```bash\nnpx @devlensio/skill install\n```\n\nThen reload your tool and use `/devlens` in Claude Code, Cursor, Kilo, opencode, pi, or any AI coding agent:\n\n| Command | What it does |\n|---------|--------------|\n| `/devlens init` | Connect MCP, configure provider, analyze the repo |\n| `/devlens architecture` | Full system brief — stack, modules, routes, patterns, security posture |\n| `/devlens explain [path]` | Onboard to a module or the whole repo — callers, callees, reading path |\n| `/devlens diagram [type]` | Mermaid diagrams (architecture, cluster, flow, deps) with typed edges |\n| `/devlens security-analysis [level]` | Prioritized security report with reach + fix-order |\n| `/devlens impact <symbol>` | Blast radius — what breaks if you change this? |\n| `/devlens tech-debt` | Cycles, coupling hotspots, god-files |\n| `/devlens guard [target]` | Warn before editing high-risk code |\n| `/devlens onboard` | Write a saved `ONBOARDING.md` for new devs |\n| `/devlens find <name>` | Locate any component, class, function, struct, or route |\n| `/devlens summary <kind> <target>` | On-demand technical / functional / security summary |\n| `/devlens changes [range]` | Explain recent work or a merge conflict, by functionality |\n\n> **Full reference:** [`packages/skill-installer/README.md`](packages/skill-installer/README.md) — all subcommands, install options, and supported AI tools.\n\n### <img src=\"assets/cli-icon.svg\" width=\"16\" style=\"vertical-align: middle\" /> MCP Server — for any MCP-compatible AI agent\n\n*Wire DevLens into any MCP client (Claude Code, Claude Desktop, IDE agents, …). The server is bundled inside the CLI and exposes **21 tools** covering discovery, search, traversal, security, and one-call workflow summaries.*\n\n```bash\ndevlens mcp                       # stdio mode\nclaude mcp add devlens -- devlens mcp   # register in Claude Code\ndevlens mcp http -p 7000          # HTTP mode\n```\n\nYour agent can: list analyzed repos, get a repo overview, find nodes by name/type/severity, read summaries, trace blast radius / k-hop / subgraphs, find cycles, analyze a new repo, compare commits, and generate whole-packet **architecture/security/PR-review/onboarding/context** outputs from one call.\n\n> **Full reference:** [`src/mcp/README.md`](src/mcp/README.md) — tool catalog, registration, configuration.\n\n---\n\n## How to summarize\n\nSummaries are per-node AI descriptions that make querying much richer. To generate them:\n\n```bash\n# During analysis (recommended)\ndevlens analyze . --summarize\n\n# Later, for a repo or a specific graph\ndevlens summarize .               # summarize the current directory's repo\ndevlens summarize <graphId>       # summarize a stored graph\n\n# Re-generate even if already summarized (force)\ndevlens summarize . --force-summarize\n\n# Choose a model / provider per-run (overrides saved config)\ndevlens summarize . --provider openai --provider-name deepseek --model deepseek-v4-flash\n```\n\nYou'll be asked to confirm before tokens are spent — summaries are never generated silently. Configure your provider once with `devlens init` (or `devlens config`) and it's remembered for all future runs.\n\n---\n\n## Configuration\n\nConfig lives in `~/.devlens/config.json` and is set via `devlens init` or `devlens config`.\n\n| Provider | Recommended model | Notes |\n| :-- | :-- | :-- |\n| Ollama (local) | `qwen2.5-coder:7b` | Free, local, 8 GB+ RAM |\n| OpenAI | `gpt-4o-mini` | Fast, cost-effective |\n| Anthropic | `claude-haiku-4-5` | Best cost/quality for summaries |\n| DeepSeek | `deepseek-v4-flash` | Strong code model |\n| OpenRouter | `deepseek-v4-flash` or `mimo-v2.5` | Best cost/quality balance |\n| Gemini | `gemini-2.0-flash` | Fast, large context |\n\n```bash\n# Interactive setup — picks from a catalog and fetches live model lists\ndevlens config --set\n\n# Non-interactive scripting\ndevlens config --provider openai --provider-name deepseek --model deepseek-v4-flash --api-key <key>\n\n# Switch between saved providers without re-entering credentials\ndevlens config --active openai:deepseek\n\n# Health check\ndevlens doctor\n```\n\nModels are discovered dynamically from each provider's `/models` endpoint — no hardcoded model lists. Custom OpenAI- or Anthropic-compatible endpoints can be added through the interactive flow.\n\n---\n\n## What DevLens understands\n\n**Node types (per language — a graph is per-repo/per-language):**\n\n| Language | Node types in the graph |\n| :-- | :-- |\n| TS / JS | `COMPONENT`, `HOOK`, `STATE_STORE`, `UTILITY`, `CLASS`, `METHOD`, `FUNCTION`, `ROUTE`, `FILE`, `TEST`, `STORY`, `THIRD_PARTY` |\n| Python | `CLASS`, `METHOD`, `FUNCTION`, `ROUTE`, `FILE`, `TEST`, `THIRD_PARTY` |\n| Java | `CLASS`, `METHOD`, `INTERFACE`, `ENUM`, `ROUTE`, `FILE`, `TEST`, `THIRD_PARTY` |\n| Go | `STRUCT`, `INTERFACE`, `METHOD`, `FUNCTION`, `ROUTE`, `FILE`, `TEST`, `THIRD_PARTY` |\n| Rust | `ENUM`, `STRUCT`, `TRAIT`, `IMPL_BLOCK`, `METHOD`, `FUNCTION`, `ROUTE`, `FILE`, `TEST`, `THIRD_PARTY` |\n\nEvery node carries: importance score + functional summary + technical summary + security assessment (when summarized).\n\nNOTE: When a repo is re-summarized only the nodes without summaries are being summarized (incremental summarization) unless force-summarization is done. Thus saving unnecessary token consumption.\n\n**Edge types (the connections the graph draws):**\n`CALLS`, `IMPORTS`, `READS_FROM`, `WRITES_TO`, `PROP_PASS`, `EMITS`, `LISTENS`, `WRAPPED_BY`, `GUARDS`, `HANDLES`, `TESTS`, `USES`, `NEXTJS_API_CALL`, `NAVIGATES_TO`, `IMPLEMENTS` (class → interface / trait / ABC), `EXTENDS` (class → base class).\n\n`EXPORTS` and `THROWS` + node types `MODULE`/`PACKAGE` are **reserved** for future languages.\n\n**Router awareness — routes are real graph nodes:**\nNext.js (app & pages), React Router / TanStack Router / wouter, Express / Fastify / Hono / Koa, Django URLconf / DRF, Flask blueprints, `@RestController` (Spring), Gin / Echo / chi / HTTP handlers, axum / actix / rocket.\n\n---\n\n## Benchmarks\n\n*Tested across real-world tasks — architecture understanding, feature implementation, and bug finding — comparing the same model (DeepSeek V4 Flash, GLM 5.2, Kimi K2.6, Qwen 3.6) with and without DevLens.*\n\n### Architecture understanding (full DevLens MCP)\n\n<div align=\"center\">\n<img src=\"assets/01_arch_metrics.png\" alt=\"Architecture benchmark — cost, tokens, steps comparison\" width=\"90%\" />\n</div>\n\n| Metric | Without DevLens | With DevLens | Improvement |\n|--------|:--------------:|:------------:|:-----------:|\n| Avg cost per query | $0.163 | **$0.075** | **54% cheaper** |\n| Avg input tokens | 88,980 | **35,035** | **61% less** |\n| Avg output tokens | 9,549 | **3,233** | **66% less** |\n| Avg tool steps | 14.3 | **7.8** | **45% faster** |\n| Structured output | 50% | **100%** | **2× more reliable** |\n| Architectural debt found | 0% | **50%** | **Now discoverable** |\n\n> Even the strongest tested model was **81% cheaper** ($0.0035 vs $0.0185) and used **83% fewer input tokens** with DevLens.\n\n---\n\n## Who is this for\n\n- **Developers & teams** — onboard devs in hours not weeks, review PRs with impact context, catch circular deps and god-files, keep living documentation.\n- **Engineering leaders** — bird's-eye architecture view, spot debt before it becomes a crisis, understand work across repos.\n- **AI-augmented developers** — stop letting your agent burn tokens re-reading files; it queries the graph instead.\n\n---\n\n## How DevLens compares\n\nDevLens is the **only tool in this space** that combines three things: native semantic parsing (not regex or tree-sitter), per-node AI summaries with per-node security analysis, and framework-aware data edges (routes, ORM reads/writes). That combination is what makes it uniquely suited for AI agents working inside a single codebase — and it's the only option you can use commercially under AGPL.\n\nEvery alternative trades away at least one of those capabilities:\n\n| Dimension | **DevLens** | **Graphify** | **GitNexus** | **Sourcegraph** | **DeepWiki** |\n| :-- | :-- | :-- | :-- | :-- | :-- |\n| Core idea | Prebuilt semantic graph + per-node AI summaries + security | Syntactic knowledge graph + community detection | Agent-focused knowledge graph + taint analysis | Code search + AI assistant (Cody) | AI-generated docs per repo |\n| Parsing depth | **✅ Native semantic parsers** (TS compiler, Python `ast`, `go/types`, JavaParser, `syn`) — type-resolved | tree-sitter (syntactic, no type info) | tree-sitter + native bindings (no type info) | SCIP/LSIF symbol index + language servers (no semantic parse) | LLM reads source directly (no structured parser) |\n| Edge quality | **✅ Type-checked `IMPLEMENTS`/`EXTENDS`**, framework **routes** (Next.js/Django/Spring/Gin/axum), **ORM data edges** (`READS_FROM`/`WRITES_TO`) | `EXTRACTED`/`INFERRED`/`AMBIGUOUS` tags — no type or framework awareness | call chains, clusters, processes, `route_map` — no ORM/data edges | Precise symbol cross-references (SCIP) — no type-checked inheritance | Docs-level relationships (no structured graph) |\n| Per-node AI summaries | **✅ Technical + business + security** with severity — every node carries all three | ❌ (LLM used for docs/concepts) | ❌ (embeddings for semantic query) | ✅ Via Cody (hover + inline docs — chat-level, not per-node graph summaries) | ✅ Auto-generated docs per symbol (no security, no technical/business split) |\n| Security analysis | **✅ Per-node severity + blast-radius reach** — real exploit descriptions, not just flags | ❌ | Partial (opt-in PDG/taint — not built-in) | ❌ (SOC 2/ISO 27001 *compliance* only — no code-level findings) | ❌ |\n| Agent / MCP integration | CLI + **21-tool MCP** + `/devlens` skill + Web UI | CLI + local skill (no MCP) | CLI + 17-tool MCP + skills + hooks (`AGENTS.md`) | MCP server (cross-repo search + Cody agent — not a per-repo graph query surface) | Unknown (no public MCP integration) |\n| Language coverage | TS/JS, Python, Java, Go, Rust — **native parsers for each** | 12 code families + docs/images (shallow syntactic) | Many via tree-sitter (Dart/Kotlin/Swift…) — shallow syntactic | 30+ (via language servers — symbol-level, no semantic edges) | Any (LLM reads source — no structured extraction) |\n| License / pricing | **✅ AGPL-3.0 — free, including commercial use** | Apache-2.0 | PolyForm Noncommercial (**cannot use commercially**) | Open-source core; **Enterprise paid** (cross-repo search) | Free for public repos; enterprise tiers unlisted |\n| Multi-user cloud | In development (waitlist open) | No | Enterprise SaaS (paid) | Sourcegraph Enterprise (hosted, paid) | Web-hosted for public repos |\n\n**Other notable alternatives:** CodeSee (service-level dependency mapping, enterprise-only), CodeQL (GitHub-native semantic security analysis — deep but no AI summaries or graph visualization), and ctags-based indexers (lightweight symbol indexes, no graph intelligence).\n\n**Why teams choose DevLens over the others:**\n- You get **semantic edges** (type-checked inheritance, ORM data flow, framework routes) that syntactic tools like Graphify and GitNexus simply can't produce — so your agent doesn't guess relationships, it knows them.\n- You get **per-node security analysis** that no other open-source tool provides — not Sourcegraph (which only has compliance certifications), not GitNexus (which has optional PDG, not built-in), not DeepWiki (which ignores security entirely).\n- You get **21 MCP tools + a universal `/devlens` skill** — a tighter, more purpose-built agent surface than Sourcegraph's general-purpose MCP or GitNexus's hooks.\n\n(Feature comparison from public sources, Aug 2026.)\n\n---\n\n## Repository layout\n\n```\ndevlensOSS/\n├── src/\n│   ├── cli/                  # `devlens` CLI (commander program + commands)\n│   ├── core/                 # Shared query core (CLI + MCP — never drift)\n│   ├── mcp/                  # MCP server (stdio + HTTP) — 21 tools\n│   └── server/               # HTTP API for the Web UI + live Next.js web UI proxy\n├── frontend/                 # Next.js graph visualizer (Cytoscape)\n├── plugins/devlens/          # Agent Skill source (Claude plugin)\n├── packages/skill-installer/ # @devlensio/skill — the npx installer\n├── bin/                      # Platform launcher\n├── npm/<platform>/           # 5 prebuilt binary packages (darwin/linux/windows × arm64)\n├── scripts/                  # Release tooling + `start.mjs` (bun start build-or-skip)\n└── server.json               # MCP registry manifest\n```\n\nThe analysis engine (“native parsers + graph build”) ships as the separate [`devlensio`](https://www.npmjs.com/package/devlensio) package.\n\n---\n\n## DevLens Cloud\n\nA hosted version is in development:\n\n- **Shareable graphs** : Share your graphs to the world.\n- **Team Support** : Create your team, and share same graph all across your team members.\n- **Live Documentation** : every commit holds summaries to each Node, thus maintaing live documentation of every commit / PR.\n- **PR analysis** : Detailed Analysis of the PRs raised as github comments including info like summary, impact analysis, security report etc\n- **Graphical context for AI agents** : smarter code review and analysis with Devlens MCP to use with your agents\n- **Commit Diff** : See the Commit diff, what nodes are modified/added/deleted with the diff and summary.\n- **Interactive AI native chat interface** : Ask anything about your codebase to AI. Graphical context, and functional summaries provide accurate answers in seconds.\n- **More interactive UI** : The UI will be more human friendly and easy to Navigate. \n- **No local setup**\n\n**[Join the waitlist →](https://devlens.io)**\n\n---\n\n## License\n\nAGPL-3.0. Part of the [`devlensio`](https://github.com/devlensio) family of tools.\n",
  "bytes": 27262,
  "sha": "611ad087990d345f26a21fa803ee3681b938ad082ee05992b66d1ad990ec500b",
  "repo_slug": "devlensio/devlensoss",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_devlensio_devlens_3ff928d1/readme"
}