# Pre-commit hooks for claude-howto project # Run `pre-commit install` to set up hooks # Run `pre-commit run --all-files` to check all files default_language_version: python: python3.11 repos: # Ruff - Fast Python linter and formatter - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.8.2 hooks: # Ruff linter - id: ruff name: ruff-lint args: [--fix, --exit-non-zero-on-fix] types_or: [python, pyi] files: ^scripts/ # Ruff formatter (replaces black) - id: ruff-format name: ruff-format types_or: [python, pyi] files: ^scripts/ # Bandit - Security linter - repo: https://github.com/PyCQA/bandit rev: 1.7.10 hooks: - id: bandit name: bandit-security args: [-c, pyproject.toml] additional_dependencies: ["bandit[toml]"] types: [python] files: ^scripts/ exclude: ^scripts/tests/ # Standard pre-commit hooks - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: - id: check-yaml name: check-yaml args: [--allow-multiple-documents] - id: check-toml name: check-toml - id: end-of-file-fixer name: fix-end-of-file - id: trailing-whitespace name: fix-trailing-whitespace - id: check-added-large-files name: check-large-files args: [--maxkb=1000] - id: check-merge-conflict name: check-merge-conflict