diff --git a/scripts/validate b/scripts/validate
index e861dee3..2811bb8d 100755
--- a/scripts/validate
+++ b/scripts/validate
@@ -7,3 +7,18 @@ echo Running validation
 
 echo Running: golangci-lint
 golangci-lint run
+
+echo Tidying up modules
+go mod tidy
+
+echo Verifying modules
+go mod verify
+
+echo Generating files
+go generate
+
+if [ -n "$(git status --porcelain --untracked-files=no)" ]; then
+  echo "Encountered dirty repo!"
+  git status --porcelain --untracked-files=no
+  exit 1
+fi