# Pre-commit hooks for DSS # Install: pip install pre-commit # Setup: pre-commit install # Run manually: pre-commit run --all-files repos: # General file checks - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.5.0 hooks: - id: trailing-whitespace args: [--markdown-linebreak-ext=md] - id: end-of-file-fixer - id: check-yaml - id: check-added-large-files args: [--maxkb=1000] - id: check-json - id: check-toml - id: check-merge-conflict - id: check-case-conflict - id: detect-private-key - id: mixed-line-ending # Python code formatting - repo: https://github.com/psf/black rev: 23.12.1 hooks: - id: black language_version: python3.10 args: [--line-length=100] # Python import sorting - repo: https://github.com/pycqa/isort rev: 5.13.2 hooks: - id: isort args: [--profile=black, --line-length=100] # Python linting - repo: https://github.com/pycqa/flake8 rev: 7.0.0 hooks: - id: flake8 additional_dependencies: [flake8-docstrings] # Security checks - repo: https://github.com/PyCQA/bandit rev: 1.7.6 hooks: - id: bandit exclude: tests/ # Configuration default_language_version: python: python3.10 # Files to exclude exclude: | (?x)^( \.venv/| \.git/| \.pytest_cache/| __pycache__/| \.dss/| node_modules/| cli/node_modules/| archive/ )$