69 lines
1.5 KiB
YAML
69 lines
1.5 KiB
YAML
# 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/
|
|
)$
|