ci:
  autoupdate_commit_msg: "chore: pre-commit"
  autofix_commit_msg: "style: pre-commit"

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
  rev: v5.0.0
  hooks:
  - id: check-added-large-files
  - id: check-symlinks
  - id: end-of-file-fixer
  - id: mixed-line-ending
  - id: requirements-txt-fixer
  - id: trailing-whitespace

- repo: https://github.com/astral-sh/ruff-pre-commit
  rev: v0.8.0
  hooks:
  - id: ruff
    args: [--fix, --exit-non-zero-on-fix]
    files: ^(src|tests)
  - id: ruff-format
    exclude: ^(docs)
    files: ^(src|tests)

- repo: https://github.com/astral-sh/uv-pre-commit
  rev: 0.5.0
  hooks:
  - id: uv-lock
  - id: uv-export
