Skip to content

Latest commit

 

History

History
98 lines (67 loc) · 3.41 KB

File metadata and controls

98 lines (67 loc) · 3.41 KB

LeanKG - AI Agent Context

Project Overview

LeanKG is a lightweight knowledge graph for codebase understanding. It indexes code, builds dependency graphs, calculates impact radius, and exposes everything via MCP for AI tool integration.

Tech Stack: Rust + CozoDB + tree-sitter + MCP

Quick Start

# Index a codebase
cargo run -- init
cargo run -- index ./src

# Calculate impact radius
cargo run -- impact src/main.rs 3

# Start MCP server
cargo run -- serve

Development Workflow

When implementing features, follow: docs/workflow-opencode-agent.md

Pattern: Update Docs → Implement → Test → Commit → Push → Bump Version → Tag

  1. Update docs first - PRD (docs/requirement/prd-leankg.md) → HLD (docs/design/hld-leankg.md) → README
  2. Implement - Follow patterns in docs/workflow-opencode-agent.md
  3. Build & test - cargo build && cargo test
  4. Commit - git commit -m "feat: description" (one feature per commit)
  5. Push - git pull --rebase && git push
  6. Bump version - Update version in Cargo.toml
  7. Tag - git tag -a v<version> -m "Release v<version>" && git push origin v<version> (after version bump)

Commit Message Rules

  • NEVER add Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> to commits
  • NEVER add 🤖 Generated with Claude Code or similar AI attribution
  • NEVER add "Generated by" phrases in PR descriptions

Key Commands

cargo build      # Build project
cargo test       # Run tests
cargo run -- <cmd>  # Run CLI commands

Important Files

File Purpose
src/lib.rs Module exports
src/db/models.rs Data models (CodeElement, Relationship, BusinessLogic)
src/graph/query.rs Graph query engine
src/mcp/tools.rs MCP tool definitions
src/mcp/handler.rs MCP tool handlers
src/indexer/extractor.rs Code parsing with tree-sitter

Data Model

  • CodeElement - Files, functions, classes with qualified_name (e.g., src/main.rs::main)
  • Relationship - imports, calls, tested_by, references, documented_by
  • BusinessLogic - Annotations linking code to business requirements

MCP Tools

Core tools: query_file, get_dependencies, get_dependents, get_impact_radius, get_review_context, find_function, get_call_graph, search_code, generate_doc, find_large_functions, get_tested_by

Doc/Traceability tools: get_doc_for_file, get_files_for_doc, get_doc_structure, get_traceability, search_by_requirement, get_doc_tree, get_code_tree, find_related_docs

Verification Status

See docs/implementation-feature-verification-2026-03-25.md for test results.


LeanKG Tools Usage

MANDATORY: Use LeanKG First

Before ANY codebase search/navigation, use LeanKG tools:

  1. mcp_status - check if ready. If not initialized, you MUST run mcp_init passing the absolute path to the project's .leankg directory (e.g. path: "/full/workspace/path/.leankg").
  2. Use tool: search_code, find_function, query_file, get_impact_radius, get_dependencies, get_dependents, get_tested_by, get_context
  3. Only fallback to grep/read if LeanKG fails
Task Use
Where is X? search_code or find_function
What breaks if I change Y? get_impact_radius
What tests cover Y? get_tested_by
How does X work? get_context

Last updated: 2026-03-26