i18n(uk): add missing files, translate P4 root docs
- Copy code/image/config files across all modules - Translate brand-voice and code-review templates - Translate CONTRIBUTING, CODE_OF_CONDUCT, SECURITY, STYLE_GUIDE - Copy CHANGELOG as-is (technical log) Ref: luongnv89/claude-howto#63
This commit is contained in:
50
uk/06-hooks/pre-commit.sh
Normal file
50
uk/06-hooks/pre-commit.sh
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
# Run tests before commit
|
||||
# Hook: PreToolUse (matcher: Bash) - checks if the command is a git commit
|
||||
# Note: There is no "PreCommit" hook event. Use PreToolUse with a Bash matcher
|
||||
# and inspect the command to detect git commit operations.
|
||||
|
||||
echo "🧪 Running tests before commit..."
|
||||
|
||||
# Check if package.json exists (Node.js project)
|
||||
if [ -f "package.json" ]; then
|
||||
if grep -q "\"test\":" package.json; then
|
||||
npm test
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "❌ Tests failed! Commit blocked."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check if pytest is available (Python project)
|
||||
if [ -f "pytest.ini" ] || [ -f "setup.py" ]; then
|
||||
if command -v pytest &> /dev/null; then
|
||||
pytest
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "❌ Tests failed! Commit blocked."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check if go.mod exists (Go project)
|
||||
if [ -f "go.mod" ]; then
|
||||
go test ./...
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "❌ Tests failed! Commit blocked."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check if Cargo.toml exists (Rust project)
|
||||
if [ -f "Cargo.toml" ]; then
|
||||
cargo test
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "❌ Tests failed! Commit blocked."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "✅ All tests passed! Proceeding with commit."
|
||||
exit 0
|
||||
Reference in New Issue
Block a user