Back to Skills

eslint-prettier-husky-config

verified

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 GitHub

Marketplace

worldbuilding-app-skills

hopeoverture/worldbuilding-app-skills

Plugin

eslint-prettier-husky-config

development

Repository

hopeoverture/worldbuilding-app-skills
1stars

plugins/eslint-prettier-husky-config/skills/eslint-prettier-husky-config/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
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-config

Installation paths:

Claude
.claude/skills/eslint-prettier-husky-config/
Powered by add-skill CLI

Instructions

# 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

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
6291 chars