diff --git a/dist/index.js b/dist/index.js
index e0e73c55..07c86855 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -4694,6 +4694,7 @@ const installer = __importStar(__webpack_require__(749));
 const auth = __importStar(__webpack_require__(202));
 const path = __importStar(__webpack_require__(622));
 const url_1 = __webpack_require__(835);
+const fs = __importStar(__webpack_require__(747));
 function run() {
     return __awaiter(this, void 0, void 0, function* () {
         try {
@@ -4717,10 +4718,12 @@ function run() {
             if (registryUrl) {
                 auth.configAuthentication(registryUrl, alwaysAuth);
             }
-            const matchersPath = path.join(__dirname, '..', '.github');
-            console.log(`##[add-matcher]${path.join(matchersPath, 'tsc.json')}`);
-            console.log(`##[add-matcher]${path.join(matchersPath, 'eslint-stylish.json')}`);
-            console.log(`##[add-matcher]${path.join(matchersPath, 'eslint-compact.json')}`);
+            // Iterate and register all problem matchers
+            const matchersPath = path.join(__dirname, '..', 'matchers');
+            const matchers = fs.readdirSync(matchersPath);
+            matchers.forEach(matcher => {
+                console.log(`##[add-matcher]${path.join(matchersPath, matcher)}`);
+            });
         }
         catch (error) {
             core.setFailed(error.message);
diff --git a/.github/eslint-compact.json b/matchers/eslint-compact.json
similarity index 100%
rename from .github/eslint-compact.json
rename to matchers/eslint-compact.json
diff --git a/.github/eslint-stylish.json b/matchers/eslint-stylish.json
similarity index 100%
rename from .github/eslint-stylish.json
rename to matchers/eslint-stylish.json
diff --git a/.github/tsc.json b/matchers/tsc.json
similarity index 100%
rename from .github/tsc.json
rename to matchers/tsc.json
diff --git a/src/main.ts b/src/main.ts
index 328db0d2..eec051b7 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -3,6 +3,7 @@ import * as installer from './installer';
 import * as auth from './authutil';
 import * as path from 'path';
 import {URL} from 'url';
+import * as fs from 'fs';
 
 export async function run() {
   try {
@@ -30,14 +31,12 @@ export async function run() {
       auth.configAuthentication(registryUrl, alwaysAuth);
     }
 
-    const matchersPath = path.join(__dirname, '..', '.github');
-    console.log(`##[add-matcher]${path.join(matchersPath, 'tsc.json')}`);
-    console.log(
-      `##[add-matcher]${path.join(matchersPath, 'eslint-stylish.json')}`
-    );
-    console.log(
-      `##[add-matcher]${path.join(matchersPath, 'eslint-compact.json')}`
-    );
+    // Iterate and register all problem matchers
+    const matchersPath = path.join(__dirname, '..', 'matchers');
+    const matchers = fs.readdirSync(matchersPath);
+    matchers.forEach(matcher => {
+      console.log(`##[add-matcher]${path.join(matchersPath, matcher)}`);
+    });
   } catch (error) {
     core.setFailed(error.message);
   }