{"slug": "eslint", "name": "ESLint", "category": "other", "category_name": "Other software", "description": "", "recommenders": 3, "commenters": 5, "warners": 0, "score": 3.354, "rising": 1.67, "first": "2026-02-10", "latest": "2026-10-06", "why": "Eslint runs as a post-tool use hook on edit and write, so each file an agent writes gets immediate feedback and fixes.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 2, "compare": 0, "warn": 0}, "spark": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1], "listed": true, "loved": [], "caveat": "", "short_quote": "Eslint runs as a post-tool use hook on edit and write, so each file an agent writes gets immediate feedback and fixes.", "icon": true, "domain": null, "github_repo": null, "official_url": "https://eslint.org", "pricing": "", "aliases": ["ESLint"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 799599120, "item_id": 49974945, "url": "https://news.ycombinator.com/item?id=49974945", "by": "littlecranky67", "date": "2026-10-06", "stance": "recommend", "quote": "The hot shit is still typescript, eslint. I have been using those for more than a decade in node.", "excerpt": "The hot shit is still typescript, eslint. I have been using those for more than a decade in node. For me, (deno lint) sounds like the new hot shit.", "context": "", "use_case": "linting JavaScript/TypeScript", "switched_from": "", "story": "Friendship ended with Deno, now Node is my best friend"}, {"id": 793390129, "item_id": 49586883, "url": "https://news.ycombinator.com/item?id=49586883", "by": "gojkoa", "date": "2026-09-06", "stance": "recommend", "quote": "Eslint runs as a post-tool use hook on edit and write, so each file an agent writes gets immediate feedback and fixes.", "excerpt": "I'm working for myself (own product, decently profitable SaaS, been in production for 7 years now and used by actual customers), so I'm not sure if I fit your \"employed\" category or not. If I do, then here's my setup: 1. I have a custom-built minimal flow of 5 \"commands\", that take an idea to implementation through capturing intent, impact analysis, iterative planning, execution orchestration and then review/demo. ea", "context": "solo founder of profitable SaaS, 7 years in production", "use_case": "guardrails for agent code", "switched_from": "", "story": "Ask HN: Any Software Engineers here who enjoy their AI-native dev workflow?"}, {"id": 751426577, "item_id": 46964161, "url": "https://news.ycombinator.com/item?id=46964161", "by": "speedgoose", "date": "2026-02-10", "stance": "recommend", "quote": "eslint or biome in TypeScript/JavaScript", "excerpt": "I don't mind tabs or spaces, and I don't even know what I use in a given project. I use the defaults from rustfmt in rust, eslint or biome in TypeScript/JavaScript, or ruff in Python. I also have some .editorconfig files so my editor is automatically configured correctly. Importantly, I do tell the agents to always run the linters and use the auto-formatters if needed. They get it. Don't make them format code, it's s", "context": "", "use_case": "TypeScript/JavaScript linting", "switched_from": "", "story": "Ask HN: Am I holding it wrong?"}]}], "caveats": [], "who": [{"by": "gojkoa", "context": "solo founder of profitable SaaS, 7 years in production", "url": "https://news.ycombinator.com/item?id=49586883", "date": "2026-09-06"}], "tags": [], "use_cases": ["linting javascript/typescript", "guardrails for agent code", "i18n linting", "js linting", "typescript/javascript linting"], "compared": [{"slug": "biome", "name": "Biome", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "oxlint", "name": "oxlint", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "oxfmt", "name": "oxfmt", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "prettier", "name": "Prettier", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49971719", "title": "Friendship ended with Deno, now Node is my best friend", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49586386", "title": "Ask HN: Any Software Engineers here who enjoy their AI-native dev workflow?", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48859673", "title": "Scarf has moved away from Haskell", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48759761", "title": "Vite+ Beta", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46958774", "title": "Ask HN: Am I holding it wrong?", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {"recommend": 1}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {"neutral": 2}, "2026-08": {}, "2026-09": {"recommend": 1}, "2026-10": {"recommend": 1}}, "quotes": [{"id": 799599120, "item_id": 49974945, "url": "https://news.ycombinator.com/item?id=49974945", "by": "littlecranky67", "date": "2026-10-06", "stance": "recommend", "quote": "The hot shit is still typescript, eslint. I have been using those for more than a decade in node.", "excerpt": "The hot shit is still typescript, eslint. I have been using those for more than a decade in node. For me, (deno lint) sounds like the new hot shit.", "context": "", "use_case": "linting JavaScript/TypeScript", "switched_from": "", "story": "Friendship ended with Deno, now Node is my best friend"}, {"id": 793390129, "item_id": 49586883, "url": "https://news.ycombinator.com/item?id=49586883", "by": "gojkoa", "date": "2026-09-06", "stance": "recommend", "quote": "Eslint runs as a post-tool use hook on edit and write, so each file an agent writes gets immediate feedback and fixes.", "excerpt": "I'm working for myself (own product, decently profitable SaaS, been in production for 7 years now and used by actual customers), so I'm not sure if I fit your \"employed\" category or not. If I do, then here's my setup: 1. I have a custom-built minimal flow of 5 \"commands\", that take an idea to implementation through capturing intent, impact analysis, iterative planning, execution orchestration and then review/demo. ea", "context": "solo founder of profitable SaaS, 7 years in production", "use_case": "guardrails for agent code", "switched_from": "", "story": "Ask HN: Any Software Engineers here who enjoy their AI-native dev workflow?"}, {"id": 781947953, "item_id": 48871747, "url": "https://news.ycombinator.com/item?id=48871747", "by": "ohmahjong", "date": "2026-07-11", "stance": "neutral", "quote": "an eslint plugin for a few specific i18n scenarios that Biome doesn't cover", "excerpt": "I'm not who you replied to, but we use Biome for 99% of the linting/formatting, and then an eslint plugin for a few specific i18n scenarios that Biome doesn't cover.", "context": "", "use_case": "i18n linting", "switched_from": "", "story": "Scarf has moved away from Haskell"}, {"id": 780286020, "item_id": 48767876, "url": "https://news.ycombinator.com/item?id=48767876", "by": "ProCodeSoftware", "date": "2026-07-02", "stance": "neutral", "quote": "For a long time, I avoided Eslint due to how strict it was", "excerpt": "I use oxfmt and oxlint, the first JS linter I've used. For a long time, I avoided Eslint due to how strict it was, but even though oxlint uses eslint, I've been ok using it. I haven't used vitest before though. And I think Webpack should be discontinued by now, because Vite has replaced it in every way. Maybe to get other projects to switch, they should make a Webpack-to-Vite migration script.", "context": "", "use_case": "JS linting", "switched_from": "", "story": "Vite+ Beta"}, {"id": 751426577, "item_id": 46964161, "url": "https://news.ycombinator.com/item?id=46964161", "by": "speedgoose", "date": "2026-02-10", "stance": "recommend", "quote": "eslint or biome in TypeScript/JavaScript", "excerpt": "I don't mind tabs or spaces, and I don't even know what I use in a given project. I use the defaults from rustfmt in rust, eslint or biome in TypeScript/JavaScript, or ruff in Python. I also have some .editorconfig files so my editor is automatically configured correctly. Importantly, I do tell the agents to always run the linters and use the auto-formatters if needed. They get it. Don't make them format code, it's s", "context": "", "use_case": "TypeScript/JavaScript linting", "switched_from": "", "story": "Ask HN: Am I holding it wrong?"}]}