diff --git a/.github/workflows/lint-html.yml b/.github/workflows/lint-html.yml
new file mode 100644
index 0000000..712e076
--- /dev/null
+++ b/.github/workflows/lint-html.yml
@@ -0,0 +1,40 @@
+name: Lint html files
+
+on:
+ push:
+ branches-ignore:
+ - 'dependabot/**'
+ paths:
+ - 'package.json'
+ - '.htmlhintrc'
+ - 'src/**/*.html'
+ pull_request:
+ paths:
+ - 'package.json'
+ - '.htmlhintrc'
+ - 'src/**/*.html'
+
+env:
+ NODE_VERSION: 18
+
+jobs:
+ lint-html:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Install latest nodejs
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.NODE_VERSION }}
+
+ - name: Install faster package manager
+ run: npm i -g pnpm
+
+ - name: Install dependencies from package.json
+ run: pnpm install
+
+ - name: Run html lint specified in package.json
+ run: pnpm run lint:html
diff --git a/.github/workflows/lint-js.yml b/.github/workflows/lint-js.yml
new file mode 100644
index 0000000..80c1aad
--- /dev/null
+++ b/.github/workflows/lint-js.yml
@@ -0,0 +1,44 @@
+name: Lint javascript files
+
+on:
+ push:
+ branches-ignore:
+ - 'dependabot/**'
+ paths:
+ - 'package.json'
+ - '.eslintignore'
+ - '.eslintrc.yaml'
+ - '.htmlhintrc'
+ - 'src/**/*.js'
+ pull_request:
+ paths:
+ - 'package.json'
+ - '.eslintignore'
+ - '.eslintrc.yaml'
+ - '.htmlhintrc'
+ - 'src/**/*.js'
+
+env:
+ NODE_VERSION: 18
+
+jobs:
+ lint-js:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Install latest nodejs
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.NODE_VERSION }}
+
+ - name: Install faster package manager
+ run: npm i -g pnpm
+
+ - name: Install dependencies from package.json
+ run: pnpm install
+
+ - name: Run lint specified in package.json
+ run: pnpm lint:js