[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "code-graph-builder"
version = "0.20.0"
description = "Code knowledge graph builder with MCP server for AI-assisted code navigation"
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.10"
dependencies = [
    "loguru>=0.7",
    "tree-sitter>=0.22",
    "kuzu>=0.4",
    "python-dotenv>=1.0",
    "mcp>=1.0",
    "diff-match-patch>=20230430",
    "requests>=2.28",
    "httpx>=0.25",
    # Common language grammars (needed for most repos)
    "tree-sitter-python",
    "tree-sitter-javascript",
    "tree-sitter-typescript",
    "tree-sitter-c",
    "tree-sitter-cpp",
]

[project.optional-dependencies]
# Additional Tree-sitter language grammars (beyond the core set)
treesitter-full = [
    "tree-sitter-rust",
    "tree-sitter-go",
    "tree-sitter-scala",
    "tree-sitter-java",
    "tree-sitter-lua",
]
# Legacy alias (C/C++ now included in core dependencies)
treesitter-c = []
# Legacy aliases (httpx and requests now included in core dependencies)
semantic = []
rag = []

[project.scripts]
code-graph-builder = "code_graph_builder.cli:main"
cgb-mcp = "code_graph_builder.mcp:main"

[tool.hatch.build.targets.wheel]
packages = ["code_graph_builder"]
