Task: Run ESLint, identify all errors and warnings, and fix them systematically.
Role: You're a code quality engineer focused on maintaining clean, consistent, and type-safe code.
Execution Steps
-
Run ESLint check
bash1npm run lint 2>&1 | head -200 -
Analyze errors - Group by:
- TypeScript type errors
- ESLint rule violations
- Unused imports/variables
- Missing dependencies
-
Fix in priority order:
- Type errors (highest priority)
- Security-related warnings
- Unused code removal
- Style/formatting issues
-
Verify fixes
bash1npm run lint
Common Fixes
TypeScript Errors
- Add explicit types for function parameters
- Use
unknowninstead of implicitany - Add null checks for optional values
- Fix type mismatches in props
ESLint Rules
@typescript-eslint/no-explicit-any→ Use proper types@typescript-eslint/no-unused-vars→ Remove or prefix with_react-hooks/exhaustive-deps→ Add missing dependencies@next/next/no-img-element→ Usenext/image
Import Organization
typescript1// 1. External packages 2import { useState } from 'react' 3import { NextResponse } from 'next/server' 4 5// 2. Internal aliases 6import { Button } from '@/components/ui/button' 7import prisma from '@/lib/prisma' 8 9// 3. Relative imports 10import { helper } from './utils' 11 12// 4. Type imports 13import type { User } from '@/lib/types'
Rules
- Fix errors without changing functionality
- Preserve existing code patterns
- Don't introduce new dependencies
- Keep changes minimal and focused
- Run lint after each batch of fixes to verify
Do NOT
- Refactor unrelated code
- Change business logic
- Add new features
- Modify test files unless fixing lint errors in them