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.40.0

Published

Local semantic code search for AI assistants via MCP

Readme

Lien

/ljɛ̃/ — French for "link"

Give AI deep understanding of your codebase through semantic search. 100% local, 100% private.

Lien connects AI coding assistants like Cursor and Claude Code to your codebase through the Model Context Protocol (MCP). Ask questions in natural language, get precise answers from semantic search—all running locally on your machine.

📚 Full Documentation | 🚀 Getting Started | 🔍 How It Works


Features

  • 🔒 100% Local & Private - All code analysis happens on your machine
  • 🚀 Semantic Search - Natural language queries: "How does authentication work?"
  • 🌐 Cross-Repo Search - Search across all repositories in your organization (Qdrant backend)
  • 🎯 MCP Integration - Works seamlessly with Cursor, Claude Code, and other MCP-compatible tools
  • Fast - Sub-500ms queries, minutes to index large codebases
  • 🆓 Free Forever - No API costs, no subscriptions, no usage limits
  • 📦 Framework-Aware - Auto-detects Node.js, Laravel, and more; supports 15+ languages
  • 🏗️ Monorepo Support - Index multiple frameworks in one repository
  • 📊 Complexity Analysis - Human-friendly metrics: test paths, mental load, time to understand
  • 🔍 Impact Analysis - Find all dependents before refactoring with risk assessment

Quick Start

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

# 2. Add to your project - create .cursor/mcp.json
{
  "mcpServers": {
    "lien": {
      "command": "lien",
      "args": ["serve"]
    }
  }
}

# 3. Restart your AI assistant (Cursor, Claude Code) and start asking questions!

That's it—zero configuration needed. Lien auto-detects your project and indexes on first use.

👉 Full installation guide

Qdrant Backend (Cross-Repo Search)

For cross-repository search across your organization, configure Qdrant:

# Option 1: Global config file
mkdir -p ~/.lien
cat > ~/.lien/config.json <<EOF
{
  "backend": "qdrant",
  "qdrant": {
    "url": "http://localhost:6333",
    "apiKey": "your-api-key"
  }
}
EOF

# Option 2: Environment variables
export LIEN_BACKEND=qdrant
export LIEN_QDRANT_URL=http://localhost:6333
export LIEN_QDRANT_API_KEY=your-api-key

# Index your repos (orgId auto-detected from git remote)
lien index

Note: orgId is automatically extracted from your git remote URL. Cross-repo search requires all repos to share the same orgId.

MCP Tools

Lien exposes 6 powerful tools via Model Context Protocol:

| Tool | Description | |------|-------------| | semantic_search | Natural language code search (supports crossRepo with Qdrant) | | 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 intuitive 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 (Volume / 3000)

Documentation

Supported Languages

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

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

  • 🐛 Issues - Report bugs or request features
  • 💬 Discussions - Ask questions and share ideas

License

AGPL-3.0 © Alf Henderson

Lien is free forever for local use. The AGPL license ensures that:

  • ✅ You can use Lien locally without restrictions
  • ✅ You can modify and distribute Lien freely
  • ✅ Improvements get contributed back to the community
  • ✅ We can sustain long-term development

For questions about licensing, contact us at [email protected]


Made with ❤️ for developers who value privacy and local-first tools.