diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 896ecadcbe616b4f7e933d8ce9b039aa3763a7cf..41cd05866acfae1c92e535be0658fb396eb7dba0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,13 @@
 image: node:20.18.1
 
+cache:
+  key:
+    files:
+      - pnpm-lock.yaml
+  paths:
+    - node_modules/
+    - .pnpm-store/
+
 stages:
   - lint
   - build
@@ -8,11 +16,24 @@ stages:
 services:
   - docker:dind
 
-alfa:
-  stage: lint
+prepare npm:
+  stage: .pre
   script:
+    - npm install -g pnpm@9.15.4
+    - cd alfa-client
+    - pnpm config set store-dir .pnpm-store
     - pnpm install  --frozen-lockfile
 
+alfa lint:
+  stage: lint
+  script:
+    - echo "done"
+
+alfa build:
+  stage: build
+  script:
+    - pnpm run ci-build
+
 .admin:
   stage: lint
   script: