vecboost 0.1.2

High-performance embedding vector service written in Rust
# Pre-commit hooks for VecBoost Rust Project
#
# This configuration defines pre-commit checks that run before each commit.
# All checks must pass for the commit to be allowed.
#
# Installation:
#   1. Install pre-commit: pip install pre-commit
#   2. Initialize hooks: pre-commit install
#   3. Update hooks: pre-commit autoupdate
#
# Manual run:
#   pre-commit run --all-files

repos:
  # Custom Rust pre-commit script (main check)
  - repo: local
    hooks:
      - id: vecboost-precommit
        name: VecBoost pre-commit checks
        description: Run all VecBoost pre-commit checks (fmt, clippy, check, build)
        entry: bash -c ". scripts/pre-commit-check.sh"
        language: system
        pass_filenames: false
        always_run: false

  # Remove trailing whitespace
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.6.0
    hooks:
      - id: trailing-whitespace
        name: Check trailing whitespace
        entry: trailing-whitespace-fixer
        language: system
        pass_filenames: true

  # Check for merge conflicts
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.6.0
    hooks:
      - id: check-merge-conflict
        name: Check for merge conflict markers
        entry: check-merge-conflict
        language: system
        pass_filenames: true

  # Detect large files
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.6.0
    hooks:
      - id: check-added-large-files
        name: Check for large files
        entry: check-added-large-files
        args: ['--maxkb=1000']
        language: system
        pass_filenames: true

# Global settings
default_install_hook_types: [pre-commit, commit-msg]
default_stages: [pre-commit]
minimum_pre_commit_version: '3.0.0'

# Exclude patterns
exclude: |
  (?x)^(
    target/|
    \.git/|
    \.cargo/|
    \.github/workflows/|
    docs/|
    \.pyc$
  )