diff --git a/.gitea/workflows/shellcheck.yml b/.gitea/workflows/shellcheck.yml
new file mode 100644
index 0000000..88073ce
--- /dev/null
+++ b/.gitea/workflows/shellcheck.yml
@@ -0,0 +1,15 @@
+name: Lint Shell files
+
+on:
+  pull_request:
+    branches: [ "*" ]
+    types: [ "opened", "edited" ]
+  workflow_dispatch: {}
+
+jobs:
+  shellcheck:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v4.2.2
+    - run: apt install shellcheck
+    - run: find . -type f -name "*.sh" -exec shellcheck -a {} \;
\ No newline at end of file