diff --git a/tests/check-rules.js b/tests/check-rules.js
index <HASH>..<HASH> 100644
--- a/tests/check-rules.js
+++ b/tests/check-rules.js
@@ -16,4 +16,15 @@ describe('smoke tests', () => {
     const files = new Set(fs.readdirSync('./lib/configs').map(f => path.basename(f, path.extname(f))))
     assert.deepEqual(files, exportedConfigs)
   })
+
+  it('exports valid rules in each config', () => {
+    const exportedRules = new Set(Object.keys(config.rules))
+    for (const flavour in config.configs) {
+      for (const rule in config.configs[flavour].rules) {
+        if (rule.startsWith('github/')) {
+          assert(exportedRules.has(rule.replace(/^github\//, '')), `rule ${rule} is not a valid rule`)
+        }
+      }
+    }
+  })
 })
test: add smoke test ensuring every config rule is one that is exported