[build-system] requires = ["setuptools>=68", "wheel"] build-backend = "setuptools.build_meta" [project] name = "recon-triage" version = "0.1.0" description = "Defensive bug-bounty recon & triage pipeline (authorized testing only)." readme = "README.md" requires-python = ">=3.12" license = { text = "MIT" } authors = [{ name = "recon-triage" }] dependencies = [ "pydantic>=2.6,<3", "typer>=0.12,<1", "pyyaml>=6.0", "xmltodict>=0.13", "httpx>=0.27", ] [project.optional-dependencies] dev = [ "pytest>=8.0", "pytest-asyncio>=0.23", "ruff>=0.4", ] [project.scripts] recon-triage = "recon_triage.cli:main" [tool.setuptools.packages.find] where = ["src"] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] [tool.ruff] line-length = 100 target-version = "py312" [tool.ruff.lint] select = ["E", "F", "I", "W", "UP", "B"] ignore = ["E501", "UP042"] # UP042: `str, Enum` is intentional for broad compatibility [tool.ruff.lint.per-file-ignores] # typer.Option() in argument defaults is the canonical Typer idiom. "src/recon_triage/cli.py" = ["B008"]