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

[project]
name = "kindex"
version = "0.5.0"
description = "The memory layer Claude Code doesn't have — persistent knowledge graph for AI workflows"
readme = "README.md"
requires-python = ">=3.10"
license = "MIT"
authors = [{ name = "Jeremy McEntire", email = "jmcentire@users.noreply.github.com" }]
keywords = ["knowledge-graph", "ai", "context", "claude"]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "Topic :: Software Development :: Libraries",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
]
dependencies = [
    "pydantic>=2.0",
    "pyyaml>=6.0",
    "networkx>=3.0",
    "numpy>=1.24",
]

[project.optional-dependencies]
llm = ["anthropic>=0.40"]
vectors = ["sqlite-vec>=0.1", "sentence-transformers>=2.0"]
mcp = ["mcp[cli]>=1.26.0"]
dev = ["pytest>=7.0", "scipy>=1.10"]
all = ["anthropic>=0.40", "sqlite-vec>=0.1", "sentence-transformers>=2.0", "mcp[cli]>=1.26.0"]

[project.urls]
Homepage = "https://github.com/jmcentire/kindex"
Repository = "https://github.com/jmcentire/kindex"
Issues = "https://github.com/jmcentire/kindex/issues"

[project.scripts]
kin = "kindex.cli:main"
kin-mcp = "kindex.mcp_server:main"

[project.entry-points."kindex.adapters"]
github = "kindex.adapters.github:adapter"
linear = "kindex.adapters.linear:adapter"
files = "kindex.adapters.files:adapter"
commits = "kindex.adapters.git_hooks:adapter"
projects = "kindex.adapters.projects:adapter"
sessions = "kindex.adapters.sessions:adapter"

[tool.hatch.build.targets.wheel]
packages = ["src/kindex"]

[tool.pytest.ini_options]
testpaths = ["tests"]
