Linting & Formatting
Our templates come with pre-configured ESLint and Prettier setups to ensure consistent code style and catch potential issues early.
ESLint Configuration
The template uses a modern ESLint configuration with Next.js and TypeScript support. You can find the configuration in eslint.config.mjs
:
We use the following eslint plugins and presets.
next/core-web-vitals
,next/typescript
,eslint:recommended
,plugin:@typescript-eslint/recommended
,plugin:import/recommended
,plugin:import/typescript
,plugin:prettier/recommended
,next
,plugin:jsx-a11y/recommended
,
We autoformat and sort imports.
Prettier Configuration
Code formatting is handled by Prettier. The configuration is in .prettierrc
:
{ "trailingComma": "all", "tabWidth": 2, "semi": true, "useTabs": false, "singleQuote": true, "printWidth": 80, "jsxSingleQuote": false, "plugins": ["prettier-plugin-tailwindcss"],}
We autoformat Tailwind CSS class order.
VS Code / Cursor Integration
Install the recommended VS Code extensions:
- ESLint
- Prettier
The template includes a .vscode/settings.json
file to enable format on save and auto-fix linting issues.
{ "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }, "editor.defaultFormatter": "esbenp.prettier-vscode"}
Running Linting Manually
npm run lint