Files
dance-lessons-coach/.vibe/skills/commit_message/assets/git-hooks/pre-commit
Gabriel Radureau 9336178d73 📝 docs: add ADR for staged-only Git hooks formatting
- Add ADR-0012 documenting the decision to format only staged Go files
- Update ADR README.md with new entry
- Document rationale, alternatives, and verification results
- Include future considerations for monitoring and CI/CD integration

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-04 21:36:57 +02:00

43 lines
973 B
Bash
Executable File

#!/bin/sh
# DanceLessonsCoach pre-commit hook
# Runs go mod tidy and go fmt before allowing commits
echo "Running pre-commit hooks..."
# Check if we're in a Go project
if [ ! -f "go.mod" ]; then
echo "Not a Go project, skipping hooks"
exit 0
fi
# Run go mod tidy
echo "Running go mod tidy..."
go mod tidy
if [ $? -ne 0 ]; then
echo "ERROR: go mod tidy failed"
exit 1
fi
# Check if go.mod or go.sum were modified
if git diff --cached --name-only | grep -qE '(go\.mod|go\.sum)'; then
echo "go.mod or go.sum changed, adding to commit..."
git add go.mod go.sum
fi
# Run go fmt on all Go files
echo "Running go fmt..."
GOFILES=$(find . -name '*.go' -not -path "./vendor/*" -not -path "./.git/*")
if [ -n "$GOFILES" ]; then
gofmt -w $GOFILES
if [ $? -ne 0 ]; then
echo "ERROR: go fmt failed"
exit 1
fi
# Add formatted files to commit
git add $GOFILES
fi
echo "Pre-commit hooks completed successfully"
exit 0