feat: add husky pre-commit hooks and reusable CI lint workflow

- Add husky with lint-staged for pre-commit checks (eslint --fix, prettier --write)
- Add reusable lint.yml workflow (eslint, prettier, tsc)
- Gate docker, release, and CI pipelines behind lint job via needs: lint
This commit is contained in:
c0mrade
2026-01-27 17:37:53 +03:00
parent bc90ba3779
commit f0cfdfdd2a
5 changed files with 45 additions and 7 deletions

29
.github/workflows/lint.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: Lint & Format
on:
workflow_call:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run ESLint
run: npm run lint
- name: Check formatting
run: npm run format:check
- name: Run TypeScript check
run: npx tsc --noEmit