48 lines
1.2 KiB
YAML
48 lines
1.2 KiB
YAML
# Pre-commit hooks for code quality
|
|
# Install with: pip install pre-commit && pre-commit install
|
|
|
|
repos:
|
|
# General file checks
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v4.5.0
|
|
hooks:
|
|
- id: trailing-whitespace
|
|
- id: end-of-file-fixer
|
|
- id: check-yaml
|
|
- id: check-json
|
|
- id: check-added-large-files
|
|
args: ['--maxkb=1000']
|
|
- id: check-merge-conflict
|
|
- id: check-case-conflict
|
|
- id: detect-private-key
|
|
|
|
# Python code formatting
|
|
- repo: https://github.com/psf/black
|
|
rev: 23.12.1
|
|
hooks:
|
|
- id: black
|
|
args: ['--line-length=140']
|
|
|
|
# Import sorting
|
|
- repo: https://github.com/PyCQA/isort
|
|
rev: 5.13.2
|
|
hooks:
|
|
- id: isort
|
|
args: ['--profile', 'black', '--line-length', '140']
|
|
|
|
# Linting
|
|
- repo: https://github.com/PyCQA/flake8
|
|
rev: 7.0.0
|
|
hooks:
|
|
- id: flake8
|
|
args: ['--max-line-length=140', '--extend-ignore=E203,W503']
|
|
|
|
# Type checking (optional - can be slow)
|
|
# Uncomment to enable mypy checks
|
|
# - repo: https://github.com/pre-commit/mirrors-mypy
|
|
# rev: v1.8.0
|
|
# hooks:
|
|
# - id: mypy
|
|
# additional_dependencies: [types-all]
|
|
# args: [--ignore-missing-imports]
|