diff --git a/Makefile b/Makefile
index 14a674a4bfb3c9189fe00bad325c86bf2d1cd59e..3994a8fbeadb88d80d5c77ba141489f4cb0f2136 100644
--- a/Makefile
+++ b/Makefile
@@ -129,3 +129,7 @@ cmd/sysotad/sysota-boot-config.InstallDir = $(bindir)
 cmd/sysotad/sysota-boot-config.SymlinkTarget = sysotad
 install: cmd/sysotad/sysota-boot-config.SymlinkTarget = $(cmd/sysotad/sysotad.InstallDir)/sysotad
 $(eval $(call ZMK.Expand,Symlink,cmd/sysotad/sysota-boot-config))
+
+.PHONY: watch-check%
+watch-check-go-test watch-check: watch-check%:
+	find -name '*.go' | entr -c $(MAKE) check$*
diff --git a/cspell.json b/cspell.json
index 602cfc468541b9ceba9eb55e1323007b5999e3ba..1ff838f2dfacc3e19f384c18226e5d97de370041 100644
--- a/cspell.json
+++ b/cspell.json
@@ -45,6 +45,7 @@
         "EEPROM", // Electrically-erasable, programmable read only memory
         "Embest", // company name
         "endef", // end definition, part of define ... endef syntax in Make
+        "entr", // command line tool
         "errcheck", // missing error check tool for Go
         "esac", // shell case ... esac construct
         "eval", // make and shell evaluate function