[project] name = "ai-code-audit-cli" version = "0.1.0" description = "A CLI tool that validates AI-generated code for common issues, anti-patterns, and security vulnerabilities" readme = "README.md" requires-python = ">=3.9" license = {text = "MIT"} authors = [ {name = "AI Code Audit Team"} ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ] dependencies = [ "typer>=0.14", "tree-sitter>=0.25.2", "tree-sitter-python>=0.23", "tree-sitter-javascript>=0.23", "tree-sitter-typescript>=0.23", "bandit>=1.8", "ruff>=0.14", "rich>=13.0", "pydantic>=2.0", ] [project.optional-dependencies] dev = [ "pytest>=7.4", "pytest-cov>=4.1", "black>=23.0", "mypy>=1.5", ] [project.scripts] audit = "src.main:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src"] [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = "-v --tb=short" [tool.ruff] target-version = "py39" line-length = 100 [tool.ruff.lint] select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "B", # flake8-bugbear "C4", # flake8-comprehensions "UP", # pyupgrade "SIM", # flake8-simplify "ARG", # flake8-unused-arguments "D", # pydocstyle ] ignore = [ "D100", # Missing docstring in public module "D104", # Missing docstring in public package "D203", # 1 blank line required before class docstring ] [tool.mypy] python_version = "3.9" warn_return_any = true warn_unused_configs = true ignore_missing_imports = true