You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Validates that modified PHP classes have corresponding unit tests.
php/start_test_in_docker.sh
Runs PHPUnit tests inside Docker for modified files.
CSS / SCSS / Less
Script
Description
css/check_stylelint.sh
Runs Stylelint on staged CSS/SCSS/Less files passed as arguments.
css/check_stylelint_all.sh
Runs Stylelint on all CSS/SCSS/Less files in the project. Used in pre-push hooks.
HTML
Script
Description
html/check_htmlhint.sh
Runs HTMLHint on staged HTML files passed as arguments.
html/check_htmlhint_all.sh
Runs HTMLHint on all HTML files in the project. Used in pre-push hooks.
Markdown
Script
Description
markdown/check_markdownlint.sh
Runs markdownlint on staged .md files passed as arguments.
markdown/check_markdownlint_all.sh
Runs markdownlint on all .md files in the project. Used in pre-push hooks.
YAML
Script
Description
yml/check_yamllint.sh
Runs yamllint on staged .yml/.yaml files passed as arguments.
yml/check_yamllint_all.sh
Runs yamllint on all .yml/.yaml files in the project. Used in pre-push hooks.
Git Workflow
Script
Description
git/check_branch_name.sh
Validates branch names match pattern: {type}/{task-id}_{description}
git/preparations/add_task_id_in_commit.sh
Prepends task ID from branch name to commit message.
git/preparations/prepare-commit-description.sh
Appends list of changed files to commit message.
Docker
Script
Description
docker/check_hadolint.sh
Lints Dockerfiles using Hadolint.
Shell
Script
Description
shell/check_shellcheck.sh
Validates shell scripts using ShellCheck (via Docker).
scripts/check_shellcheck.sh
Validates shell scripts using ShellCheck (local).
Usage Examples
JavaScript/TypeScript
# ESLint — fix entire project
./javascript/check_eslint_all.sh
# Prettier — format specific files
./javascript/check_prettier.sh app/utils.ts lib/helpers.ts
# TypeScript type check
./javascript/check_tsc_all.sh
# Run tests for changed files (auto-discovers matching test files)
./javascript/check_tests.sh app/utils.ts app/helpers.ts
# Run Vitest with coverage
./javascript/check_vitest.sh --coverage
# Run Vitest for specific files in watch mode
./javascript/check_vitest.sh app/utils.ts --watch
# Verify test files exist for staged sources
./javascript/check_tests_exist.sh app/utils.ts components/Header.tsx
Python
# Flake8 — local
./python/check_flake8.sh app/services/user_service.py app/routes/api.py
# Flake8 — in Docker
./python/check_flake8_in_docker.sh app/services/user_service.py
# Mypy — local
./python/check_mypy.sh app/services/auth.py app/models/user.py
# Mypy — in Docker
./python/check_mypy_in_docker.sh app/services/auth.py
# Pytest — local
./python/check_pytest.sh
# Pytest — in Docker
./python/check_pytest_in_docker.sh
# Verify test files exist for services
./python/find_test.sh app/services/user_service.py app/services/auth.py
PHPStan with Progressive Error Reduction
# Default mode: requires error count to decrease by at least 1
./php/check_phpstan.sh default src/Service.php src/Helper.php
# Strict mode: requires zero errors
./php/check_phpstan.sh strict src/Service.php
CSS / SCSS / Less
# Check staged files
./css/check_stylelint.sh styles/main.css components/button.scss
# Check all files in the project
./css/check_stylelint_all.sh
HTML
# Check staged files
./html/check_htmlhint.sh templates/index.html templates/layout.html
# Check all files in the project
./html/check_htmlhint_all.sh
Markdown
# Check staged files
./markdown/check_markdownlint.sh README.md docs/guide.md
# Check all files in the project
./markdown/check_markdownlint_all.sh
YAML
# Check staged files
./yml/check_yamllint.sh .github/workflows/ci.yml docker-compose.yml
# Check all files in the project
./yml/check_yamllint_all.sh
# Run all tests
./tests/run_all.sh
# Run specific test suite
./tests/php/phpstan/run.sh
./tests/javascript/tests_exist/run.sh
./tests/javascript/eslint_all/run.sh
./tests/javascript/vitest/run.sh
./tests/python/flake8/run.sh
./tests/python/mypy/run.sh
./tests/python/find_test/run.sh
./tests/css/stylelint/run.sh
./tests/css/stylelint_all/run.sh
./tests/html/htmlhint/run.sh
./tests/html/htmlhint_all/run.sh
./tests/markdown/markdownlint/run.sh
./tests/markdown/markdownlint_all/run.sh
./tests/yml/yamllint/run.sh
./tests/yml/yamllint_all/run.sh
Requirements
Bash 4.0+
Git
jq
Node.js with npx (for JavaScript/TypeScript, CSS, HTML hooks)