repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v6.0.0 hooks: - id: end-of-file-fixer exclude: (.*store-openapi\.json$) - id: trailing-whitespace - id: check-yaml exclude: ^mkdocs\.yml$ - id: check-toml - id: check-added-large-files args: ["--maxkb=1024"] exclude: (^uv\.lock$)|(^docs/assets/.*\.svg$)|(.*store-openapi\.json$) - id: check-shebang-scripts-are-executable - id: detect-private-key - repo: https://github.com/pycqa/isort rev: 6.0.1 hooks: - id: isort args: ["."] - repo: https://github.com/psf/black rev: 25.1.0 hooks: - id: black pass_filenames: false always_run: true args: ["."] - repo: local hooks: - id: prettier name: prettier (dashboard) language: system pass_filenames: false always_run: true entry: > bash -c ' cd dashboard || exit 1 if [ -d node_modules ]; then echo "✅ node_modules already exists" npx prettier --cache --write "**/*.{ts,tsx,mjs,cjs}" else echo "⚠️ node_modules not found — npx is not reliable. Skipping." fi ' - id: eslint name: eslint (dashboard) language: system pass_filenames: false always_run: true entry: > bash -c ' cd dashboard || exit 1 if [ -d node_modules ]; then echo "✅ node_modules already exists" npx eslint --cache --fix . else echo "⚠️ node_modules not found — npx is not reliable. Skipping." fi ' - id: stylelint name: stylelint (dashboard) language: system pass_filenames: false always_run: true entry: > bash -c ' cd dashboard || exit 1 if [ -d node_modules ]; then echo "✅ node_modules already exists" npx stylelint --cache --fix "**/*.css" else echo "⚠️ node_modules not found — npx is not reliable. Skipping." fi '