Skip to content

Contributing

Thank you for considering contributing to eslint-config-airbnb-extended. We welcome all contributions, whether it’s fixing a bug, improving documentation, or suggesting new rules.

How to Contribute

1. Fork & Clone the Repository

sh
$ git clone git@github.com:NishargShah/eslint-config-airbnb-extended.git
$ cd eslint-config-airbnb-extended
sh
$ git clone https://github.com/NishargShah/eslint-config-airbnb-extended.git
$ cd eslint-config-airbnb-extended

2. Install Dependencies

Check the .nvmrc file for the required Node.js version. For pnpm version, see the packageManager field in the root package.json.

This project is a monorepo managed with pnpm. Install dependencies with:

sh
$ pnpm install

3. Project Structure

The repo is organized as a monorepo with two main packages:

  • packages/eslint-config-airbnb-extended → The ESLint configuration package
  • packages/create-airbnb-x-config → The CLI tool for quick setup
  • docs/ → Documentation site (built with VitePress)

4. Making Changes

  • Always create a new branch:

    sh
    $ git checkout -b fix/your-change
  • For rule changes → update the config.

  • For docs → check formatting and verify links.

5. Linting & Formatting

Run checks and fixes before committing:

sh
$ pnpm lint
$ pnpm format:check
sh
$ pnpm lint:fix
$ pnpm format:fix

6. Commit Guidelines

We follow Conventional Commits for a clean commit history. Examples:

  • feat: add strict rules for TypeScript
  • fix: resolve path alias issue in eslint-import-resolver-typescript
  • docs: update installation steps

7. Running Scripts

Before pushing, ensure all scripts pass:

sh
$ pnpm script:lint

8. Submitting a PR

  • Push your branch and open a Pull Request against main.
  • Clearly describe the problem, your solution, and reference any related issues/discussions.
  • Maintainers will review, suggest improvements if needed, and merge once approved.

Code of Conduct

This project follows a Code of Conduct. Please be respectful, collaborative, and inclusive.

Suggestions & Issues

  • Found a bug? → Open an Issue
  • Want a new feature or rule? → Use the same link to create an issue, or start a discussion before opening a PR.

Released under the MIT License.