An opinionated collection of ESLint shared configs and rules used by GitHub. Current stable version is 6.0.0, which includes flat config support and ESM-only. The package provides configs for browser, React, TypeScript, and internal GitHub applications. Key differentiators: it enforces GitHub's own coding standards, includes accessibility rules (a11y), async/await best practices, and actionable rules like array-foreach and no-then. It supports both legacy .eslintrc and flat config via getFlatConfigs().
Verified import paths — ran on the pinned version, not inferred.
v6.0.0 is ESM-only. CommonJS require() will fail; use dynamic import() in CommonJS if needed, or stay on v5.
Only available with flat config (ESLint v9). Legacy .eslintrc users should use extends: plugin:github/recommended.
Custom rules are prefixed with github/ when using the plugin. For example, github/async-preventdefault, github/no-then, github/a11y-aria-label-is-well-formatted.
Shows flat config usage with recommended, browser, react, typescript configs and custom rules.
Breaking-change detection hasn't run for this library yet.
CVE tracking and dependency tree are planned for a later release.