fail_fast: true

repos:
  - repo: https://github.com/charliermarsh/ruff-pre-commit
    rev: v0.8.2
    hooks:
      - id: ruff-format
        args: [reflex, tests]
      - id: ruff
        args: ["--fix", "--exit-non-zero-on-fix"]
        exclude: '^integration/benchmarks/'

  - repo: local
    hooks:
      - id: update-pyi-files
        name: update-pyi-files
        always_run: true
        language: system
        entry: poetry run python scripts/make_pyi.py
        description: 'Update pyi files as needed'

  - repo: local
    hooks:
      - id: pyright
        name: pyright
        entry: poetry run pyright
        language: system
        types: [python]
        args: [reflex, tests]

  - repo: https://github.com/terrencepreilly/darglint
    rev: v1.8.1
    hooks:
      - id: darglint
        exclude: '^reflex/reflex.py'