diff --git a/.devfile.yaml b/.devfile.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2ef25f1e029b1c8918b3ce415b5e6cae1bde71c6
--- /dev/null
+++ b/.devfile.yaml
@@ -0,0 +1,49 @@
+schemaVersion: 2.1.0
+metadata:
+  name: devfile-todolist-sample
+  version: 1.0.0
+  metadata-name-original-value: todo-list
+  persistVolumes: 'false'
+attributes:
+  controller.devfile.io/storage-type: ephemeral
+  che-theia.eclipse.org/sidecar-policy: mergeImage
+  controller.devfile.io/devworkspace-config:
+    name: devworkspace-config
+    namespace: eclipse-che
+projects:
+  - git:
+      remotes:
+        origin: https://gitlab.stud.idi.ntnu.no/it1901/todo-list.git
+    name: todo-list
+components:
+  - attributes:
+      controller.devfile.io/merge-contribution: true
+    container:
+      env:
+        - name: CHE_DASHBOARD_URL
+          value: https://gitpodtest.stack.it.ntnu.no
+        - name: CHE_PLUGIN_REGISTRY_URL
+          value: https://gitpodtest.stack.it.ntnu.no/plugin-registry/v3
+        - name: CHE_PLUGIN_REGISTRY_INTERNAL_URL
+          value: http://plugin-registry.eclipse-che.svc:8080/v3
+        - name: OPENVSX_REGISTRY_URL
+          value: https://open-vsx.org
+      image: quay.io/devfile/universal-developer-image:ubi8-latest
+      sourceMapping: /projects
+    name: todolist-container
+commands:
+  - id: install-java-17
+    exec:
+      component: todolist-container
+      commandLine: sdk install java 17.0.8-tem
+      label: Install java 17 Temurin
+  - id: select-dir
+    exec:
+      component: todolist-container
+      commandLine: cd todolist
+      label: cd to the root project directory
+  - id: clean-install
+    exec:
+      component: todolist-container
+      commandLine: mvn clean install -DskipUiTests
+      label: Maven clean install