diff --git a/.golangci.yml b/.golangci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f402b57fbfa2435ccb5f6442fb4378d839217c96
--- /dev/null
+++ b/.golangci.yml
@@ -0,0 +1,4 @@
+linters:
+  disable-all: true
+  enable:
+    - gofmt
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..19505ed5c29bbbcaeb6a98b15330d7628ea23078
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,11 @@
+repos:
+  - repo: https://github.com/codespell-project/codespell
+    rev: v2.2.5
+    hooks:
+      - id: codespell
+        args: ['--skip "*.js,*.map,*.sum"']
+
+  - repo: https://github.com/golangci/golangci-lint
+    rev: v1.57.2
+    hooks:
+      - id: golangci-lint
diff --git a/Makefile b/Makefile
index 8355bacd13e997b64e2e1e5f6ff25c694b66a115..7a56c7d812de921387b83208dcb2e1f2038934b8 100644
--- a/Makefile
+++ b/Makefile
@@ -29,7 +29,7 @@ endif
 SWAG = $(GOPATH)/bin/swag
 SWAG_ARGS := -d api/v1/,cmd/tank/ -g api.go
 
-EXECUTEABLE := tank
+EXECUTABLE := tank
 
 all: build
 .PHONY: vet format ui build clean distclean
@@ -37,6 +37,7 @@ all: build
 init.dev::
 	go get -u github.com/swaggo/swag/cmd/swag
 	go install github.com/swaggo/swag/cmd/swag@latest
+	curl -sSfL https://github.com/pre-commit/pre-commit/releases/download/v3.7.0/pre-commit-3.7.0.pyz -o pre-commit.pyz && python3 pre-commit.pyz && rm -f pre-commit.pyz
 
 vet:
 	$(GOCMD) vet ./...
@@ -57,10 +58,10 @@ api-docs:
 # to allow building binary without generating api docs first, we put api/docs/docs.go under version control
 # see #30
 build: ui
-	$(GOCMD) build -o $(EXECUTEABLE) ./cmd/tank
+	$(GOCMD) build -o $(EXECUTABLE) ./cmd/tank
 
 dev:
-	$(GOCMD) build -o $(EXECUTEABLE) -tags=dev ./cmd/tank
+	$(GOCMD) build -o $(EXECUTABLE) -tags=dev ./cmd/tank
 
 test-all:
 	gitlab-runner exec docker test-all
@@ -69,7 +70,7 @@ coverage:
 	gitlab-runner exec docker test-all | grep 'ok.*of statements'
 
 clean:
-	rm -f $(EXECUTEABLE)
+	rm -f $(EXECUTABLE)
 
 distclean: clean
 	rm -f ui/assets_vfsdata.go