# Designing an Ideal Linting Developer Experience with Flint | Josh Goldberg | Ep 62B Page: https://stenobird.com/podcast/typescript-fm-the-friendly-show-for-typescript-developers-7184981/designing-an-ideal-linting-developer-experience-with-flint-josh-goldberg-ep-62b Text version: https://stenobird.com/podcast/typescript-fm-the-friendly-show-for-typescript-developers-7184981/designing-an-ideal-linting-developer-experience-with-flint-josh-goldberg-ep-62b.md Podcast: [TypeScript.fm - The Friendly Show for TypeScript Developers](https://stenobird.com/podcast/typescript-fm-the-friendly-show-for-typescript-developers-7184981) Published: 2026-04-09T11:00:00+00:00 Episode link: https://share.transistor.fm/s/529ec1ef Audio file: https://media.transistor.fm/529ec1ef/22f4839a.mp3 Processing state: not_requested JSON: https://stenobird.com/v1/public/podcasts/typescript-fm-the-friendly-show-for-typescript-developers-7184981/episodes/designing-an-ideal-linting-developer-experience-with-flint-josh-goldberg-ep-62b Duration seconds: 3432 ## Resource In this episode with Josh Goldberg, maintainer of TypeScript ESLint, we dive into his latest research project, Flint. The goal of Flint is to test different hypothesis on how to architect a modern, hybrid-native JavaScript and TypeScript linter. What happens when every rule can be type-aware? Can you write lint rules in TypeScript and run them with near-native performance? How can error messages be more helpful for humans and agents alike? How can the configuration and plugin system be re-designed so it's less magical and has more type safety? These are the kinds of questions the Flint team is exploring and we talk with Josh about how things are progressing and where Flint's future is headed. Josh's Links Flint.fyi JoshuaKGoldberg.com Flint Discord Josh on BlueSky Josh on Fosstodon Josh on GitHub Chapters (00:00) - Introducing Josh Goldberg (01:43) - Introduction to Flint: A Modern, Hybrid Native Linter (03:44) - What Problems is Flint Trying to Solve? (05:26) - What's a Hybrid Linter? (07:55) - How Does Flint Handle Type-aware Rules? (10:45) - How Does Flint Improve Configuration DX? (17:13) - How Does Flint Handle Error Messages? (20:11) - What is Flint's Take on Errors vs. Warnings? (23:17) - How is Flint Approaching Documentation? (26:09) - Are There Differences in Dev Mode vs. CI Mode? (28:29) - Does Flint Do Anything Special with Formatting? (30:39) - Can Flint Fix Lint Issues? (32:21) - Are There Advantages to Being TypeScript-first? (33:55) - Separating Rules into Stylistic vs. Logical (36:36) - Organizing and Categorizing Lint Rules to Improve DX (38:17) - How to Get Involved with Flint (40:00) - Flint's Roadmap for 2026 and Beyond (43:28) - Where to Follow Josh's Work (44:20) - The Minnesota Long Goodbye??? Sponsored by Excalibur.js Excalibur.js is the free a… ## Actions - request_transcript: `POST https://stenobird.com/v1/public/podcasts/typescript-fm-the-friendly-show-for-typescript-developers-7184981/episodes/designing-an-ideal-linting-developer-experience-with-flint-josh-goldberg-ep-62b/transcription-requests` — Idempotently request low-priority transcript generation for this episode. - read_markdown: `GET https://stenobird.com/podcast/typescript-fm-the-friendly-show-for-typescript-developers-7184981/designing-an-ideal-linting-developer-experience-with-flint-josh-goldberg-ep-62b.md` — Read the agent-friendly Markdown representation of this episode resource. A page view does not enqueue transcription. Agents should invoke `request_transcript` explicitly when they need this episode processed. ## Transcript Full transcripts are not published on public pages unless there is a clear rights basis.