[project] name = "agendum" version = "0.3.4" description = "Universal project management for AI coding agents — MCP server + CLI + git-native task board" readme = "README.md" license = "MIT" authors = [{name = "Shivam Ralli"}] requires-python = ">=3.13" keywords = ["mcp", "project-management", "ai-agents", "cli", "model-context-protocol"] classifiers = [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Build Tools", "Typing :: Typed", ] dependencies = [ "mcp[cli]>=1.0.0", "pydantic>=2.0", "python-frontmatter>=1.1.0", "pyyaml>=6.0", "click>=8.0", "filelock>=3.13", ] [project.urls] Homepage = "https://github.com/sralli/agendum" Repository = "https://github.com/sralli/agendum" Issues = "https://github.com/sralli/agendum/issues" [project.scripts] agendum = "agendum.cli:cli" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/agendum"] [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["src"] asyncio_mode = "auto" [tool.ruff] line-length = 120 target-version = "py313" [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "N", "PT"] [tool.ruff.lint.per-file-ignores] "src/agendum/tools.py" = ["E501"] # Tool descriptions are intentionally long for MCP clients [project.optional-dependencies] vectors = ["fastembed>=0.4.0", "sqlite-vec>=0.1.0"] [dependency-groups] dev = [ "pytest>=8.0", "pytest-asyncio>=0.24", "ruff>=0.11", ]