Skip to content
@codellm-devkit

Codellm Devkit

A framework that bridges the gap between traditional program analysis tools and Large Language Models (LLMs) specialized for code (CodeLLMs).
Logo

One analysis interface over every language: call graphs, symbol tables, and reachability — program analysis your agents can call.

DocumentationQuickstartDiscussions

CodeLLM-DevKit (CLDK) loads a codebase and hands you back a typed object model of it with classes, methods, fields, and call graphs (among other things) through one consistent analysis object. Instead of token-heavy crawls through files to answer questions like "what calls this method?" or "is this code reachable?", agents and developers can run precise, deterministic lookups against the actual program. The result is grounded answers from ground truth rather than approximations from grepping.

Supported Languages

Language Status
Java Full support — deepest analysis (class hierarchy, call graph, CRUD analysis)
Python Strong support
TypeScript Strong support
Go, Rust, C In development

Getting Started

Install the Python SDK (the Java backend is bundled — you only need a JDK on your PATH to analyze Java projects):

pip install cldk

Build an analysis facade for your project and query the typed model:

import os
from cldk import CLDK
from cldk.analysis import AnalysisLevel

analysis = CLDK(language="java").analysis(
    project_path=os.environ["JAVA_APP_PATH"],
    analysis_level=AnalysisLevel.call_graph,
)

print(len(analysis.get_classes()), "classes")
print(analysis.get_call_graph())

The same three-step workflow — construct a CLDK object for your language, build an analysis facade pointing at a project, then query — works across languages:

from cldk import CLDK
from cldk.analysis import AnalysisLevel

analysis = CLDK(language="python").analysis(
    project_path="my_pkg",
    analysis_level=AnalysisLevel.call_graph,
)

print(len(analysis.get_classes()), "classes")
print(analysis.get_call_graph())

Software Development Kits (SDKs)

Language-Specific Analysis Backends

Build with CLDK

  • cocoa-py • the Code Context Agent (COCOA) and toolbox MCP server (Python). A Claude Code plugin that wraps CLDK so agents can query code structure -- callers, reachability, impact analysis rather than guessing.

Documentation and Examples

Contributing

We welcome contributions of all kinds! Whether you want to fix bugs, improve documentation, or propose new features, please see our contributing guide to get started.

Have questions? Join the discussion in our community forum or Discord server.

Reference

To cite Codellm-Devkit, please use the following reference:

@article{krishna2024codellm,
  title={Codellm-Devkit: A Framework for Contextualizing Code LLMs with Program Analysis Insights},
  author={Krishna, Rahul and Pan, Rangeet and Pavuluri, Raju and Tamilselvam, Srikanth and Vukovic, Maja and Sinha, Saurabh},
  journal={arXiv preprint arXiv:2410.13007},
  year={2024}
}

IBM Public Repository Disclosure

Codellm-devkit is an open source project from IBM Research and open to contributions from the entire community. All content in these repositories including code has been provided by IBM under the associated open source software license and IBM is under no obligation to provide enhancements, updates, or support. IBM developers produced this code as an open source project (not as an IBM product), and IBM makes no assertions as to the level of quality nor security.

Contact

For any questions, feedback, or suggestions, please contact the authors:

Name Email
Rahul Krishna i.m.ralk@gmail.com
Rangeet Pan rangeet.pan@ibm.com
Saurabh Sihna sinhas@us.ibm.com

Popular repositories Loading

  1. python-sdk python-sdk Public

    The official Python SDK for Codellm-Devkit

    Python 18 18

  2. codeanalyzer-java codeanalyzer-java Public

    Static Analysis on Java source code (and/or binary) using WALA and JavaParser.

    Java 6 2

  3. codeanalyzer-python codeanalyzer-python Public

    Python Static Analysis Backend for CLDK

    Python 4

  4. codeanalyzer-rust codeanalyzer-rust Public

    Static Analysis on Rust source code (and/or binary) using IR of the Rust Compiler.

    Rust 2

  5. typescript-sdk typescript-sdk Public

    The official Typescript SDK for Codellm-Devkit

    TypeScript 1

  6. docs docs Public

    The main documentation page for Codellm-Devkit

    MDX

Repositories

Showing 10 of 16 repositories

Top languages

Loading…

Most used topics

Loading…