Skip to content

About Flint

Flint is a fast, friendly linter for JavaScript, TypeScript, and other languages in the web ecosystem. It is built as a “hybrid linter”, meaning:

  • The core of Flint, as well as its lint rules, are written in TypeScript for approachability
  • Language plugins may be written in native speed languages for performance

Flint’s goal is to create a seamless linting experience that is both fast and user-friendly. It is meant to include all the rules applicable to most web projects in its core, including JSON, Markdown, typed rules for JavaScript and TypeScript, and YML.

Run flint in an existing project to set up a new configuration file. It will prompt you for what areas of linting you’d like to enable, create a configuration file for you, and install any new dependencies.

Terminal window
npx flint

For more complete explanations on why Flint is experimenting with hybrid linting, read:

  1. Hybrid Linters: The Best of Both Worlds
  2. If I Wrote a Linter, Part 1: Architecture
  3. If I Wrote a Linter, Part 2: Developer Experience
  4. If I Wrote a Linter, Part 3: Ecosystem
  5. If I Wrote a Linter, Part 4: Summary
Made with ❤️‍🔥 in Boston by Josh Goldberg and contributors.