[project]
name = "optix-mcp-server"
version = "1.0.1"
description = "MCP server for source code analysis"
readme = "README.md"
requires-python = ">=3.10"
license = {text = "MIT"}
authors = [
    {name = "optix-mcp-server contributors"}
]
dependencies = [
    "mcp[cli]>=1.25.0",
    "python-dotenv>=1.0.0",
    "websockets>=12.0",
    "rich>=13.0.0",
    "questionary>=2.0.0",
]

[project.scripts]
optix = "cli.main:main"

[project.optional-dependencies]
dev = [
    "pytest>=7.0",
    "pytest-asyncio>=0.21.0",
]
llm = [
    "openai>=1.0.0",
]
openai = ["openai>=1.0.0"]

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

[tool.hatch.build.targets.wheel]
packages = ["config", "tools", "logging_utils", "cli"]

[tool.hatch.build.targets.wheel.force-include]
"server.py" = "server.py"

[tool.hatch.build.targets.sdist]
include = [
    "config/",
    "tools/",
    "logging_utils/",
    "cli/",
    "scripts/",
    "server.py",
    "pyproject.toml",
]

[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_functions = ["test_*"]
markers = [
    "integration: Integration tests requiring subprocess",
    "unit: Unit tests with no external dependencies",
    "slow: Slow tests taking more than 2 seconds",
]
asyncio_mode = "auto"
