ariadne

mcp
SUMMARY

๐Ÿงต Follow the thread through your codebase - find definitions, track references, and build call graphs with tree-sitter

README.md

Ariadne

Code intelligence for AI and developers. Find references, analyze call graphs, and understand code relationships across your entire codebase using tree-sitter.

What is Ariadne?

Ariadne provides language-agnostic code intelligence by parsing your code into a scope graph that tracks symbols, definitions, references, and relationships. It's designed to power both AI coding assistants and developer tools with deep code understanding capabilities.

Packages

@ariadnejs/mcp - AI Assistant Integration

MCP (Model Context Protocol) server that gives AI coding assistants powerful code analysis abilities through natural language.

npm install -g @ariadnejs/mcp

What it enables:

  • "Find all usages of the authenticate function"
  • "Show me what classes implement the Logger interface"
  • "What functions does processPayment call?"
  • "Analyze the inheritance hierarchy of UserService"

โ†’ MCP Setup Guide | โ†’ MCP Documentation

@ariadnejs/core - Code Intelligence Engine

The core library that provides AST parsing, scope resolution, and symbol tracking. Perfect for building developer tools or integrating code intelligence into your applications.

npm install @ariadnejs/core

Key features:

  • Find definitions and references across files
  • Build complete function call graphs
  • Analyze class inheritance hierarchies
  • Track imports and exports
  • Support for JS/TS, Python, and Rust

โ†’ Full Core Documentation

@ariadnejs/types - TypeScript Definitions

Lightweight package containing just the TypeScript type definitions, with zero runtime code.

npm install @ariadnejs/types

Perfect for webviews, type-safe message passing, or when you only need types.

Quick Start

For AI Users - MCP Setup

  1. Install globally: npm install -g @ariadnejs/mcp

  2. Add to your AI assistant's config:

    {
      "mcpServers": {
        "ariadne": {
          "command": "npx",
          "args": ["@ariadnejs/mcp"]
        }
      }
    }
    
  3. Ask natural language questions about your code!

โ†’ Detailed setup instructions

For Developers - Using Core Library

import { Project } from "@ariadnejs/core";

const project = new Project();
project.add_or_update_file("src/main.ts", sourceCode);

// Find where a symbol is defined
const definition = project.go_to_definition("src/main.ts", { row: 10, column: 15 });

// Find all usages
const references = project.find_references("src/main.ts", { row: 10, column: 15 });

โ†’ See full API documentation

Supported Languages

  • โœ… JavaScript/TypeScript (including JSX/TSX)
  • โœ… Python
  • โœ… Rust
  • ๐Ÿšง Go, Java, C/C++ (coming soon)

Documentation

Known Limitations

  • Cross-file method resolution: Method calls on imported class instances are not yet resolved (details)
  • Export detection: The system doesn't distinguish between exported and non-exported definitions (task-30)
  • Module path resolution: Import paths are resolved through brute-force search (task-28)

Contributing

See our Contributing Guide for details on:

  • Setting up the development environment
  • Running tests
  • Adding language support
  • Code style guidelines

License

MIT - See LICENSE.

Yorumlar (0)

Sonuc bulunamadi