diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ebf2657c0d8b817cad7352c53b38dc0418cbfaca
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,7 @@
+lint:
+  image: node:16-alpine
+  before_script:
+    - cd frontend
+    - npm install
+  script:
+    - npm run lint
diff --git a/frontend/package.json b/frontend/package.json
index d56a059668725be8f865bdf15d65de16be5c5549..42077269cb2ad34abf6b909ee256654f544e0918 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -6,7 +6,9 @@
   "scripts": {
     "dev": "vite",
     "build": "tsc && vite build",
-    "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
+    "eslint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
+    "ts:check": "tsc --noemit",
+    "lint": "npm run eslint && npm run ts:check",
     "preview": "vite preview"
   },
   "dependencies": {