npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@liendev/lien

v0.76.0

Published

Local lexical code search and dependency analysis for AI assistants via MCP

Readme

Lien

/ljɛ̃/, French for "link"

A code-intelligence layer for AI agents: structural analysis + fast lexical search. 100% local, 100% private.

Lien connects AI coding assistants like Cursor and Claude Code to your codebase through the Model Context Protocol (MCP). Its core value is structural: reverse dependencies and blast radius, complexity hotspots, and test associations, the questions an agent needs to answer before it edits your code. Alongside that, it offers fast lexical code search (FTS5/BM25 over code, docstrings, and identifier-split symbol names). Everything runs locally, with no embedding model to download: it installs in seconds and indexes offline.

Full Documentation | Getting Started | How It Works


Features

  • Impact Analysis - Find all dependents and blast radius before refactoring, with risk assessment
  • Complexity Analysis - Human-friendly metrics: test paths, mental load, time to understand
  • Test Associations - Know which tests cover a file before you touch it
  • Lexical Search - Fast full-text (FTS5/BM25) keyword search over code, docstrings, and identifier-split symbol names
  • 100% Local & Private - All analysis happens on your machine
  • No Model Download - No embeddings, no ~100MB model: tiny install, instant offline indexing
  • MCP Integration - Works with Cursor, Claude Code, and other MCP-compatible tools
  • Fast - Sub-millisecond file context; minutes to index large codebases
  • Free Forever - No API costs, no subscriptions, no usage limits (applies to the local MCP/search tooling; Lien Review's agent pass uses your own LLM key and has its own token cost)
  • Ecosystem-Aware & Monorepo - Auto-detects 12 ecosystem presets; supports 15+ languages

Quick Start

Claude Code (recommended): one-time plugin install

/plugin marketplace add getlien/lien
/plugin install lien

That's it. Lien's MCP tools and hooks are now available in every Claude Code session, in every repo, including a hook that enhances Claude Code's built-in Explore agent with Lien-tool guidance. First use in a new git repo triggers a one-time index automatically, with no lien init per project required.

Other editors (Cursor, Windsurf, OpenCode, Kilo Code, Antigravity)

# 1. Install
npm install -g @liendev/lien

# 2. Wire it up for your editor
lien init

# 3. Restart your editor and start asking questions

lien init writes the right MCP config for your editor and (for Claude Code's legacy per-project flow, via lien init --legacy) copies an Explore agent into .claude/agents/. Lien auto-detects your project and indexes on first use.

Full installation guide

MCP Tools

Lien exposes 6 tools via Model Context Protocol:

| Tool | Description | |------|-------------| | search_code | Full-text (BM25) keyword code search | | find_similar | Find similar code patterns | | get_files_context | Get file context with test associations | | list_functions | List symbols by pattern | | get_dependents | Impact analysis (what depends on this?) | | get_complexity | Tech debt analysis with human-friendly metrics |

Complexity Metrics

Lien tracks code complexity with human-friendly outputs:

  • Test paths - Cyclomatic complexity as "needs ~X tests for full coverage"
  • Mental load - Cognitive complexity with nesting penalty
  • Time to understand - Halstead effort as readable duration (~2h 30m)
  • Estimated bugs - Halstead prediction (Effort^(2/3) / 3000)

Lien Review

Lien Review is a self-hostable GitHub Action that reviews pull requests: complexity analysis, agent-driven bug review, and a PR summary, posted back as inline comments and workflow annotations. It runs without a server, a database, or a recurring bill.

# .github/workflows/lien-review.yml
name: Lien Review

on:
  pull_request:

permissions:
  contents: read
  pull-requests: write

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: getlien/lien-review@v1
        with:
          openrouter-api-key: ${{ secrets.OPENROUTER_API_KEY }}

That single uses: line is the whole integration: Lien self-clones the PR by SHA using the workflow's own token, so no actions/checkout step is needed.

| Feature | Description | |---------|-------------| | Complexity analysis | Flags new/worsened cyclomatic, cognitive, and Halstead complexity violations | | Agent bug review | LLM-driven review for correctness bugs (OpenRouter or Anthropic) | | PR summary | A concise summary of the change, posted as a step summary | | Advisory by default | fail-on: never; the check never blocks a PR unless you opt in |

Lien Review guide · Action reference

Git Worktrees

A linked git worktree (git worktree add) automatically shares the main checkout's index instead of building a full independent copy: a read-only base plus a small per-worktree overlay for whatever's actually changed. No setup required; set LIEN_WORKTREE_STANDALONE=1 to opt out and get a fully independent index for that worktree.

How it works

Documentation

Supported Languages

TypeScript • JavaScript • Vue • Python • PHP • Liquid • Go • Rust • Java • C/C++ • Ruby • Swift • Kotlin • C# • Scala • Markdown • YAML

Ecosystem Presets: 12 ecosystem presets including Node.js, Python, PHP, Laravel, Ruby, Rails, Rust, JVM, Swift, .NET, Django, and Astro (auto-detected)

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

Support

License

AGPL-3.0 © Alf Henderson

Lien is free forever for local use. The AGPL-3.0 license requires that anyone who distributes a modified version release its source under the same terms. For licensing questions, contact [email protected].