This skill should be used when setting up code quality tooling with ESLint v9 flat config, Prettier formatting, Husky git hooks, lint-staged pre-commit checks, and GitHub Actions CI lint workflow. Apply when initializing linting, adding code formatting, configuring pre-commit hooks, setting up quality gates, or establishing lint CI checks for Next.js or React projects.
View on GitHubhopeoverture/worldbuilding-app-skills
eslint-prettier-husky-config
plugins/eslint-prettier-husky-config/skills/eslint-prettier-husky-config/SKILL.md
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/hopeoverture/worldbuilding-app-skills/blob/main/plugins/eslint-prettier-husky-config/skills/eslint-prettier-husky-config/SKILL.md -a claude-code --skill eslint-prettier-husky-configInstallation paths:
.claude/skills/eslint-prettier-husky-config/# ESLint, Prettier, Husky Configuration ## Overview Configure comprehensive code quality tooling for Next.js/React projects using ESLint v9 (flat config), Prettier, Husky git hooks, lint-staged, and CI lint checks. ## Installation and Configuration Steps ### 1. Install Dependencies Install required packages for ESLint v9, Prettier, and git hooks: ```bash npm install -D eslint@^9 @eslint/js eslint-config-prettier eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jsx-a11y prettier husky lint-staged ``` For TypeScript projects, add: ```bash npm install -D @typescript-eslint/parser @typescript-eslint/eslint-plugin typescript-eslint ``` ### 2. Create ESLint Flat Config Create `eslint.config.mjs` in project root using the provided template from `assets/eslint.config.mjs`. This flat config format: - Uses modern ESLint v9 configuration - Includes React, React Hooks, and JSX accessibility rules - Supports TypeScript with type-aware linting - Ignores Next.js build directories and configuration files Customize the configuration based on project needs: - Adjust `languageOptions.parserOptions` for different ECMAScript versions - Modify `rules` to match team preferences - Add additional plugins as needed ### 3. Create Prettier Configuration Create `.prettierrc` in project root using the template from `assets/.prettierrc`. This configuration: - Sets 2-space indentation - Uses single quotes for strings - Removes trailing commas - Sets 100-character line width - Uses Unix line endings Adjust formatting rules to match team style guide. Create `.prettierignore` using `assets/.prettierignore` to exclude: - Build directories (.next, dist, out) - Dependencies (node_modules, package-lock.json) - Generated files - Public assets ### 4. Set Up Husky and Lint-Staged Initialize Husky for git hooks: ```bash npx husky init ``` This creates `.husky/` directory with a `pre-commit` hook. Replace the pre-commit hook content with: ```bash npx lint-staged ``` Add lint