typer[all]>=0.9.0
rich>=13.0.0
python-dotenv
google-genai>=1.0.0
python-dateutil
gitpython
pydantic-settings>=2.0.0
structlog>=24.0.0
tenacity>=8.0.0
duckduckgo-search>=5.0.0
requests

[:python_version < "3.11"]
tomli>=2.0.0

[all]
boring-aicoding[dev,gui,mcp,vector]

[dev]
pytest>=7.0.0
pytest-asyncio>=0.21.0
pytest-mock>=3.0.0
pytest-cov>=4.0.0
ruff>=0.1.0
mypy>=1.0.0
types-python-dateutil
types-requests
radon>=6.0.0
interrogate>=1.5.0
bandit>=1.7.0
pip-audit>=2.7.0
mkdocs>=1.5.0
mkdocs-material>=9.5.0
mkdocstrings[python]>=0.24.0
psutil>=5.9.0

[gui]
streamlit>=1.30.0
pyarrow

[mcp]
boring-aicoding[mcp-lite]
chromadb>=0.4.0
sentence-transformers>=2.2.0

[mcp-lite]
fastmcp>=2.0.0
mcp>=1.15.0
smithery>=0.4.2
uvicorn>=0.30.0
starlette>=0.37.0
bandit>=1.7.0
pip-audit>=2.7.0

[mcp:platform_system == "Windows"]
win10toast>=0.9

[vector]
chromadb>=0.4.0
sentence-transformers>=2.2.0
tree-sitter-languages==1.10.2
tree-sitter==0.25.2
