{"adoption": {"forks": 576, "observed_at": "2026-08-28T04:09:41.030838+00:00", "stars": 6253}, "canonical_url": "https://ross.abutalabs.com/products/eslint-config", "card": {"archived": false, "artifact_type": "plugin", "description": "Anthony's ESLint config preset", "domain": ["developer-tools", "web-development", "frontend"], "enriched": true, "function": ["linter", "formatter", "developer-tools", "cli"], "health_score": 98, "homepage": "https://eslint-config.antfu.me/", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["antfu/eslint-config"], "name": "antfu/eslint-config", "platform": ["cli"], "pushed_at": "2026-08-06T05:12:42+00:00", "repo": "antfu/eslint-config", "stars": 6253, "tags": ["eslint", "eslint-flat-config", "shareable-config", "code-style", "linting", "prettier-replacement", "typescript", "vue", "code-quality", "opinionated-defaults", "nodejs"], "topics": ["eslint-config", "eslint", "eslint-flat-config"], "urls": [], "use_cases": ["set up eslint for a typescript and vue project with one line of config", "replace prettier with eslint for code formatting", "migrate legacy eslintrc config to eslint flat config", "get an opinionated javascript code style preset with sorted imports and no semicolons", "lint json, yaml, toml, and markdown files out of the box", "enforce consistent code style across a javascript monorepo"], "what_it_is": "A shareable ESLint flat config preset by Anthony Fu that provides opinionated linting and auto-fix formatting for JavaScript, TypeScript, Vue, React, JSON, YAML, TOML, Markdown, and more with a single line of setup. It replaces Prettier via ESLint Stylistic, respects .gitignore, and ships a CLI wizard for one-command setup and legacy config migration.", "when_to_avoid": ["you need a neutral, fully customizable baseline and dislike opinionated style choices like no semicolons", "you are still on ESLint below v9.5.0 or cannot adopt flat config", "your team requires strict control over every rule change, since this is a personal config that may change between releases (forking is recommended in that case)"], "when_to_choose": ["you want an out-of-the-box ESLint setup without hand-picking dozens of rules", "you prefer linting and formatting in a single tool instead of running Prettier alongside ESLint", "your project uses TypeScript, Vue, React, Svelte, Astro, Solid, or UnoCSS and you want first-class support", "you like Anthony Fu's code style (single quotes, no semicolons, sorted imports) and want it enforced automatically"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/eslint-config", "repo": "antfu/eslint-config", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.030838+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:46:35.885671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc06a9e2fbd5f89e16999503261b3bd5959aab4ee9def7592869055326052259", "fetched_at": "2026-08-28T04:09:41.030838+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antfu/eslint-config"}, {"content_hash": "40d57aaeb2fff8d678e42aedad6a93283d666e4d140699673c57481a6c87c77a", "fetched_at": "2026-08-29T08:43:29.478174+00:00", "kind": "homepage", "missing": false, "url": "https://eslint-config.antfu.me/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.030838+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:46:35.885671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc06a9e2fbd5f89e16999503261b3bd5959aab4ee9def7592869055326052259", "fetched_at": "2026-08-28T04:09:41.030838+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antfu/eslint-config"}, {"content_hash": "40d57aaeb2fff8d678e42aedad6a93283d666e4d140699673c57481a6c87c77a", "fetched_at": "2026-08-29T08:43:29.478174+00:00", "kind": "homepage", "missing": false, "url": "https://eslint-config.antfu.me/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:46:35.885671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc06a9e2fbd5f89e16999503261b3bd5959aab4ee9def7592869055326052259", "fetched_at": "2026-08-28T04:09:41.030838+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antfu/eslint-config"}, {"content_hash": "40d57aaeb2fff8d678e42aedad6a93283d666e4d140699673c57481a6c87c77a", "fetched_at": "2026-08-29T08:43:29.478174+00:00", "kind": "homepage", "missing": false, "url": "https://eslint-config.antfu.me/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.030838+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.030838+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.030838+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:46:35.885671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc06a9e2fbd5f89e16999503261b3bd5959aab4ee9def7592869055326052259", "fetched_at": "2026-08-28T04:09:41.030838+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antfu/eslint-config"}, {"content_hash": "40d57aaeb2fff8d678e42aedad6a93283d666e4d140699673c57481a6c87c77a", "fetched_at": "2026-08-29T08:43:29.478174+00:00", "kind": "homepage", "missing": false, "url": "https://eslint-config.antfu.me/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.030838+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.030838+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:46:35.885671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc06a9e2fbd5f89e16999503261b3bd5959aab4ee9def7592869055326052259", "fetched_at": "2026-08-28T04:09:41.030838+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antfu/eslint-config"}, {"content_hash": "40d57aaeb2fff8d678e42aedad6a93283d666e4d140699673c57481a6c87c77a", "fetched_at": "2026-08-29T08:43:29.478174+00:00", "kind": "homepage", "missing": false, "url": "https://eslint-config.antfu.me/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.030838+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.030838+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.030838+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:46:35.885671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc06a9e2fbd5f89e16999503261b3bd5959aab4ee9def7592869055326052259", "fetched_at": "2026-08-28T04:09:41.030838+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antfu/eslint-config"}, {"content_hash": "40d57aaeb2fff8d678e42aedad6a93283d666e4d140699673c57481a6c87c77a", "fetched_at": "2026-08-29T08:43:29.478174+00:00", "kind": "homepage", "missing": false, "url": "https://eslint-config.antfu.me/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.030838+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.030838+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:46:35.885671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc06a9e2fbd5f89e16999503261b3bd5959aab4ee9def7592869055326052259", "fetched_at": "2026-08-28T04:09:41.030838+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antfu/eslint-config"}, {"content_hash": "40d57aaeb2fff8d678e42aedad6a93283d666e4d140699673c57481a6c87c77a", "fetched_at": "2026-08-29T08:43:29.478174+00:00", "kind": "homepage", "missing": false, "url": "https://eslint-config.antfu.me/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:46:35.885671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc06a9e2fbd5f89e16999503261b3bd5959aab4ee9def7592869055326052259", "fetched_at": "2026-08-28T04:09:41.030838+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antfu/eslint-config"}, {"content_hash": "40d57aaeb2fff8d678e42aedad6a93283d666e4d140699673c57481a6c87c77a", "fetched_at": "2026-08-29T08:43:29.478174+00:00", "kind": "homepage", "missing": false, "url": "https://eslint-config.antfu.me/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:46:35.885671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc06a9e2fbd5f89e16999503261b3bd5959aab4ee9def7592869055326052259", "fetched_at": "2026-08-28T04:09:41.030838+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antfu/eslint-config"}, {"content_hash": "40d57aaeb2fff8d678e42aedad6a93283d666e4d140699673c57481a6c87c77a", "fetched_at": "2026-08-29T08:43:29.478174+00:00", "kind": "homepage", "missing": false, "url": "https://eslint-config.antfu.me/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:46:35.885671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc06a9e2fbd5f89e16999503261b3bd5959aab4ee9def7592869055326052259", "fetched_at": "2026-08-28T04:09:41.030838+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antfu/eslint-config"}, {"content_hash": "40d57aaeb2fff8d678e42aedad6a93283d666e4d140699673c57481a6c87c77a", "fetched_at": "2026-08-29T08:43:29.478174+00:00", "kind": "homepage", "missing": false, "url": "https://eslint-config.antfu.me/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 84}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2604, "days_push": 27, "days_rel": 27, "gap_med": 2.5, "n_releases_24m": 113}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}