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

[project]
name = "lattice-tracker"
version = "0.1.0"
description = "File-based, agent-native task tracker with an event-sourced core."
requires-python = ">=3.12"
license = "MIT"
readme = "README.md"
authors = [
    { name = "Stage 11 Agentics", email = "hello@stage11agentics.com" },
]
keywords = ["task-tracker", "agent", "ai", "event-sourcing", "cli", "mcp"]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Environment :: Console",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.12",
    "Topic :: Software Development :: Libraries",
    "Topic :: Software Development :: Build Tools",
]
dependencies = [
    "click>=8.1",
    "python-ulid>=2.0",
    "filelock>=3.13",
]

[project.optional-dependencies]
mcp = [
    "mcp>=1.25,<2",
]
dev = [
    "hypothesis>=6.100",
    "mcp>=1.25,<2",
    "mypy>=1.10",
    "pytest>=8.0",
    "ruff>=0.4",
]

[project.scripts]
lattice = "lattice.cli.main:cli"
lattice-mcp = "lattice.mcp.server:main"

[project.urls]
Homepage = "https://github.com/stage11-agentics/lattice"
Repository = "https://github.com/stage11-agentics/lattice"
Issues = "https://github.com/stage11-agentics/lattice/issues"

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

[tool.pytest.ini_options]
testpaths = ["tests"]
markers = [
    "slow: marks tests as slow (deselect with '-m \"not slow\"')",
    "timeout: marks tests with a timeout",
]

[tool.mypy]
python_version = "3.12"
strict = true
warn_return_any = true
warn_unused_configs = true
packages = ["lattice"]
mypy_path = ["src"]

[tool.ruff]
src = ["src"]
line-length = 99
