pre-commit:
parallel: true
commands:
biome-check:
glob: "*.{js,ts,jsx,tsx,json}"
exclude: "biome.json|dist/"
run: bun biome check --write --diagnostic-level="error" --no-errors-on-unmatched --files-ignore-unknown=true {staged_files}
stage_fixed: true
typecheck:
glob: "src/**/*.ts"
run: bun run typecheck
commit-msg:
commands:
check-commit-message:
run: |
# Basic commit message validation
msg=$(cat {1})
if [ -z "$msg" ]; then
echo "Commit message cannot be empty"
exit 1
fi
if [ ${#msg} -lt 3 ]; then
echo "Commit message too short (minimum 3 characters)"
exit 1
fi