Files
kandev/.pre-commit-config.yaml
T
2026-02-19 22:18:01 +00:00

78 lines
2.4 KiB
YAML

repos:
# Backend (Go) hooks
- repo: local
hooks:
- id: gofmt
name: gofmt (backend)
entry: bash -c 'gofmt -w "$@"' --
language: system
files: ^apps/backend/.*\.go$
pass_filenames: true
- id: go-tests
name: Go tests (backend)
entry: bash -c 'cd apps/backend && go test ./...'
language: system
files: \.go$
pass_filenames: false
- id: go-lint
name: Go Lint (backend)
entry: bash -c 'cd apps/backend && golangci-lint run'
language: system
files: \.go$
pass_filenames: false
# Web app (TypeScript/React) hooks
- repo: local
hooks:
- id: prettier-format
name: Prettier format (web/cli/packages)
entry: bash -c 'cd apps && pnpm exec prettier --write --ignore-unknown "${@/#apps\//}"' --
language: system
files: ^apps/(web|cli|packages)/.*\.(ts|tsx|js|jsx|mjs|cjs|json|md|mdx|yml|yaml|css|scss)$
pass_filenames: true
- id: web-lint
name: Web lint
entry: bash -c 'cd apps && pnpm --filter @kandev/web lint'
language: node
files: ^apps/web/.*\.(ts|tsx|js|jsx)$
pass_filenames: true
additional_dependencies: []
- id: web-tests
name: Web tests
entry: bash -c 'cd apps && pnpm --filter @kandev/web test'
language: node
files: ^apps/web/.*\.(ts|tsx|js|jsx)$
pass_filenames: false
additional_dependencies: []
- id: web-typecheck
name: Typecheck web app
entry: bash -c 'cd apps && pnpm --filter @kandev/web exec tsc -p tsconfig.json --noEmit'
language: node
files: ^apps/web/.*\.(ts|tsx)$
pass_filenames: false
additional_dependencies: []
# Landing page hooks
- repo: local
hooks:
# - id: landing-lint
# name: Landing lint
# entry: bash -c 'cd apps && pnpm --filter @kandev/landing lint'
# language: node
# files: ^apps/landing/.*\.(ts|tsx|js|jsx)$
# pass_filenames: true
# additional_dependencies: []
- id: landing-typecheck
name: Typecheck landing page
entry: bash -c 'cd apps && pnpm --filter @kandev/landing exec tsc -p tsconfig.json --noEmit'
language: node
files: ^apps/landing/.*\.(ts|tsx)$
pass_filenames: false
additional_dependencies: []