# 美家卡智影 - Git 钩子配置 # 安装: pre-commit install # 手动运行: pre-commit run --all-files repos: # 代码格式化 - repo: https://github.com/psf/black rev: 24.10.0 hooks: - id: black language_version: python3.13 # 代码检查 - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.8.0 hooks: - id: ruff args: [--fix] # 类型检查(暂时禁用:326 个历史遗留类型错误待修复) # - repo: https://github.com/pre-commit/mirrors-mypy # rev: v1.14.0 # hooks: # - id: mypy # additional_dependencies: [types-PyYAML] # 安全扫描 - repo: https://github.com/PyCQA/bandit rev: 1.8.0 hooks: - id: bandit args: ["-c", "pyproject.toml"] additional_dependencies: ["bandit[toml]"] # 依赖锁定文件同步检查 - repo: local hooks: - id: uv-lock-check name: Check uv lock file is up-to-date entry: bash -c 'uv pip compile pyproject.toml -o requirements.lock --locked' language: system files: ^(pyproject\.toml|requirements\.lock)$ pass_filenames: false # 模型表名前缀一致性检查 - repo: local hooks: - id: table-prefix-check name: Check model __tablename__ has mjk_ prefix entry: python scripts/check_table_prefix.py language: system files: ^app/models/.*\.py$ pass_filenames: false