Skip to main content
The plugin ships two presets. Both register the plugin under the gadget namespace, so rules appear as gadget/<rule-name> in ESLint output. Three critical rules run at error. The remaining 13 run at warn so they surface issues without blocking CI.
eslint.config.js
import gadget from "@aurelienbbn/eslint-plugin-gadget";

export default [gadget.configs.recommended];

Strict preset

Every rule runs at error. Use this when you want the full rule set to block CI.
eslint.config.js
import gadget from "@aurelienbbn/eslint-plugin-gadget";

export default [gadget.configs.strict];

Override individual rules

Start from a preset and adjust specific rules as needed:
eslint.config.js
import gadget from "@aurelienbbn/eslint-plugin-gadget";

export default [
  gadget.configs.recommended,
  {
    rules: {
      "gadget/action-require-timeout-ms-comment": "off",
    },
  },
];
Check the configurations reference for the full severity matrix across both presets.

Combine with other configs

The plugin config is a standard flat config object. It composes with any other ESLint config:
eslint.config.js
import gadget from "@aurelienbbn/eslint-plugin-gadget";
import tseslint from "typescript-eslint";

export default [...tseslint.configs.recommended, gadget.configs.recommended];

Next step

How rules apply

Understand which files the plugin inspects and why some rules target all files.
Last modified on March 10, 2026