ariadne
๐งต Follow the thread through your codebase - find definitions, track references, and build call graphs with tree-sitter
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
@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
Install globally:
npm install -g @ariadnejs/mcpAdd to your AI assistant's config:
{ "mcpServers": { "ariadne": { "command": "npx", "args": ["@ariadnejs/mcp"] } } }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
- Architecture - System architecture and design patterns
- Core Concepts - How scope resolution works
- Graph Structure - Scope graph data structures
- Language Support - Adding new languages
- All Documentation - Complete documentation index
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)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi