Skip to content

Repository files navigation

CodePrysm

Crates.ioRustLicense: MIT

A powerful tool for analyzing code repositories and generating relationship graphs using Tree-sitter abstract syntax trees. CodePrysm transforms source code into a searchable knowledge graph, enabling semantic code search, dependency analysis, and intelligent code navigation.

Overview

CodePrysm builds a comprehensive graph representation of your codebase where:

  • Nodes represent code entities using three semantic types: Container (classes, interfaces, structs), Callable (functions, methods), and Data (fields, properties, constants)
  • Edges represent three types of relationships: CONTAINS (hierarchy), USES (dependencies), and DEFINES (definitions)
  • Embeddings enable semantic search using natural language with full metadata support

Key Features

  • Semantic Code Search - Find code using natural language queries with kind/subtype filtering
  • AST-Based Analysis - Precise parsing using Tree-sitter with declarative SCM tags
  • Rich Dependency Graphs - Three relationship types (CONTAINS, USES, DEFINES) for comprehensive analysis
  • Fine-Grained Entities - Distinguish structs from interfaces, async from sync, fields from properties
  • Scalable Architecture - Handles codebases with 100K+ files
  • MCP Integration - AI-powered code exploration via Model Context Protocol
  • Multi-Language - Python, JavaScript/TypeScript, C/C++, C#, Go, Rust
  • GPU Acceleration - Metal (macOS) and CUDA (Linux/Windows) support

Installation

From crates.io (Recommended)

cargo install codeprysm-cli

From Source

git clone https://github.com/codeprysm/codeprysm.git
cd codeprysm
cargo build --release

GPU Acceleration (Optional)

For faster embedding generation, install with GPU support:

# macOS (Apple Silicon)
cargo install codeprysm-cli --features metal
# Linux (NVIDIA GPU)
cargo install codeprysm-cli --features cuda

Prerequisites

  • Docker (for Qdrant vector database)
  • Rust 1.85+ (only if building from source)

Quick Start

  1. Start Qdrant (required for semantic search):

    docker run -d --name qdrant \
    -p 6333:6333 -p 6334:6334 \
    -v qdrant_storage:/qdrant/storage \
    qdrant/qdrant:latest
  2. Initialize your codebase:

    cd /path/to/your/repo
    codeprysm init
  3. Start the MCP server (optional, for AI assistants):

    codeprysm mcp

How It Works

graph LR
A[Source Code] --> B[Code Graph]
B --> C[Semantic Index]
C --> D[MCP Server]
D --> E[AI Assistants]
Loading

The system operates in three main phases:

  1. Code Graph Generation - Parse source files into a graph structure using Tree-sitter AST
  2. Indexing for Search - Create embeddings for semantic search using Qdrant
  3. MCP Server Integration - Expose capabilities to AI assistants via MCP protocol

Documentation

CLI Commands

# Generate code graph
codeprysm init --root /path/to/repo
# Start MCP server
codeprysm mcp --root /path/to/repo --qdrant-url http://localhost:6334
# Search codebase
codeprysm search "function that handles authentication"# Show statistics
codeprysm stats --codeprysm-dir .codeprysm
# Incremental update
codeprysm update --root /path/to/repo

Supported Languages

LanguageContainersCallablesData
PythonClasses, modulesFunctions, methods, asyncFields, constants
JavaScript/TypeScriptClasses, interfaces, enumsFunctions, methods, constructorsFields, properties
C/C++Structs, classes, enums, namespacesFunctions, methodsFields, enum constants
C#Classes, structs, interfaces, enumsMethods, constructorsFields, properties
GoStructs, interfacesFunctions, methodsFields
RustStructs, enums, traitsFunctions, methods, asyncFields, const values

Performance & Scalability

Codebase SizeFilesProcessing TimeMemory Usage
Small<1K<1 min<1 GB
Medium1K-10K1-5 min1-4 GB
Large10K-50K5-20 min4-16 GB
Very Large50K-100K20-60 min16-32 GB

Development

For development, install just command runner:

# Build
just rust-build
# Test
just rust-test
# Lint
just rust-lint
# Format
just rust-fmt

See CONTRIBUTING.md for detailed development guidelines.

Project Structure

codeprysm/
├── crates/
│ ├── codeprysm-core/ # Graph generation, tree-sitter parsing
│ ├── codeprysm-search/ # Vector search, embeddings
│ ├── codeprysm-mcp/ # MCP server
│ ├── codeprysm-cli/ # Command-line interface
│ ├── codeprysm-config/ # Configuration management
│ └── codeprysm-backend/ # Backend abstraction
├── tests/fixtures/ # Test repositories
├── docs/ # Documentation
└── docker/ # Docker configuration

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

About

Graph-based code intelligence with MCP server for AI assistants. Tree-sitter parsing, semantic search, relationship analysis. Your codebase as a searchable knowledge graph.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages