Code Quality
Set up ESLint, Prettier or Biome in a JavaScript or TypeScript project. DevFlow generates stack-aware flat configs for React, Vue and NestJS.
ESLint
Pluggable JavaScript/TypeScript linter — uses the modern flat config format.
- ID:
eslint - Category: Quality
- Conflicts with: Biome
What it does
- Installs
eslint,@eslint/js, and stack-specific plugins - Creates
eslint.config.mjswith flat config - Adds
lintandlint:fixscripts
Stack-Aware Configuration
| Stack | Additional Packages | Config Additions |
|---|---|---|
| TypeScript | typescript-eslint | TS recommended rules |
| React / Next.js | eslint-plugin-react, eslint-plugin-react-hooks | JSX rules, hooks rules |
| Vue / Nuxt | eslint-plugin-vue | Vue recommended rules |
Generated Config Example (React + TypeScript)
import js from "@eslint/js";
import tseslint from "typescript-eslint";
import react from "eslint-plugin-react";
import reactHooks from "eslint-plugin-react-hooks";
export default [
js.configs.recommended,
...tseslint.configs.recommended,
{
plugins: { react, "react-hooks": reactHooks },
rules: {
"react/react-in-jsx-scope": "off",
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn",
},
},
{
ignores: ["dist/", "node_modules/", "build/", ".next/", ".nuxt/"],
},
];Prettier
Opinionated code formatter — enforces consistent code style.
- ID:
prettier - Category: Quality
- Conflicts with: Biome
What it does
- Installs
prettier - Creates
.prettierrc.jsonand.prettierignore - Adds
formatandformat:checkscripts
Biome
Ultra-fast linter & formatter — a Rust-based all-in-one replacement for ESLint + Prettier.
- ID:
biome - Category: Quality
- Conflicts with: ESLint, Prettier
What it does
- Installs
@biomejs/biome - Creates
biome.jsonwith linter, formatter, and import organizer enabled - Adds
lint,format, andcheckscripts
Generated Config
{
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
"organizeImports": { "enabled": true },
"linter": {
"enabled": true,
"rules": { "recommended": true }
},
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 100
},
"files": {
"ignore": [
"dist/",
"build/",
"node_modules/",
"coverage/",
".next/",
".nuxt/"
]
}
}EditorConfig
Consistent editor settings — ensures all contributors use the same indentation, line endings, etc.
- ID:
editorconfig - Category: Quality
What it does
- Creates
.editorconfigwith sensible defaults (2-space indent, UTF-8, LF line endings)
TypeScript
Strict TypeScript configuration — adds a strict tsconfig.json and a typecheck script.
- ID:
typescript - Category: Quality
What it does
- Creates or updates
tsconfig.jsonwith strict settings - Adds a
typecheckscript (tsc --noEmit)
Stylelint
CSS/SCSS linter — enforces consistent styles in CSS, SCSS, and CSS-in-JS.
- ID:
stylelint - Category: Quality
markdownlint
Markdown linter — enforces consistent Markdown style.
- ID:
markdownlint - Category: Quality
What it does
- Installs
markdownlint-cli2 - Creates
.markdownlint-cli2.jsoncconfig - Adds a
lint:mdscript
cspell
Spell checker for code — catches typos in source code, comments, and docs.
- ID:
cspell - Category: Quality
What it does
- Installs
cspell - Creates
cspell.jsonwith tech dictionaries enabled - Adds a
spellscript