[build-system] requires = ["hatchling>=1.27,<2"] build-backend = "hatchling.build" [project] name = "docforge" dynamic = ["version"] description = "Project-scoped documentation indexing and context service" readme = "README.md" requires-python = ">=3.12" license = { text = "MIT" } authors = [{ name = "Worldforge contributors" }] dependencies = [ "markdown-it-py>=4.2,<5", "mcp>=1.28,<2", ] [project.optional-dependencies] javascript = [ "tree-sitter>=0.25,<0.26", "tree-sitter-javascript>=0.25,<0.26", ] typescript = [ "tree-sitter>=0.25,<0.26", "tree-sitter-typescript>=0.23,<0.24", ] cpp = [ "tree-sitter>=0.25,<0.26", "tree-sitter-cpp>=0.23,<0.24", ] languages = [ "tree-sitter>=0.25,<0.26", "tree-sitter-cpp>=0.23,<0.24", "tree-sitter-javascript>=0.25,<0.26", "tree-sitter-typescript>=0.23,<0.24", ] [dependency-groups] dev = [ "jsonschema>=4.25,<5", "pytest>=9.1,<10", "ruff>=0.15,<1", "tree-sitter>=0.25,<0.26", "tree-sitter-cpp>=0.23,<0.24", "tree-sitter-javascript>=0.25,<0.26", "tree-sitter-typescript>=0.23,<0.24", ] [project.scripts] docforge = "docforge.cli:main" docforge-mcp = "docforge.mcp_server:main" docforge-viewer-manager = "docforge.viewer_manager:main" [tool.hatch.build.targets.wheel] packages = ["src/docforge", "src/docforge_renderers"] [tool.hatch.build.targets.wheel.force-include] schemas = "docforge/schemas" [tool.hatch.version] path = "src/docforge/_version.py" [tool.ruff] line-length = 100 target-version = "py312" [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "SIM"] [tool.pyright] pythonVersion = "3.12" typeCheckingMode = "strict" include = ["src", "tools"] venvPath = "." venv = ".venv" [tool.pytest.ini_options] filterwarnings = ["error"]