[project]
name = "code-graph-rag"
version = "0.1.0"
description = "Local Code Intelligence Engine — Precomputed GraphRAG with MCP Gateway"
requires-python = ">=3.11"
dependencies = [
    # MCP Server
    "mcp[cli]>=1.0.0",
    # API Server
    "fastapi>=0.115.0",
    "uvicorn[standard]>=0.30.0",
    # Graph Database
    "neo4j>=5.25.0",
    # Code Parsing
    "tree-sitter>=0.23.0",
    "tree-sitter-python>=0.23.0",
    "tree-sitter-javascript>=0.23.0",
    "tree-sitter-typescript>=0.23.0",
    # Search (BM25 — always available, fast, no extra deps)
    "rank-bm25>=0.2.2",
    # CLI
    "click>=8.1.0",
    "rich>=13.0.0",
    # Utils
    "pydantic>=2.0.0",
    "pydantic-settings>=2.0.0",
]

[project.optional-dependencies]
vectors = [
    "sentence-transformers>=3.0.0",
    "qdrant-client>=1.12.0",
]
dev = [
    "pytest>=8.0.0",
    "pytest-asyncio>=0.24.0",
    "ruff>=0.7.0",
]
[project.scripts]
codegraph = "src.cli:main"

[build-system]
requires = ["setuptools>=75.0"]
build-backend = "setuptools.build_meta"

[tool.setuptools.packages.find]
where = ["."]

[tool.ruff]
line-length = 100
target-version = "py311"
