# Perfectionist

> Take Your Code to a Beauty Salon

Automatically sort and organize objects, imports, types, enums, and JSX props. Ensure a clean and maintainable codebase with minimal effort.

- [Get Started](/guide/getting-started.md)
- [View on GitHub](https://github.com/azat-io/eslint-plugin-perfectionist)

## ESLint Plugin

Automatically sort and organize objects, imports, types, enums, and JSX props. Ensure a clean and maintainable codebase with minimal effort.

### Why teams use it

- Fixable Rules — Automatically fix all errors safely. No manual intervention needed!
- Code Uniformity — Achieve a consistent code style for better readability and maintenance.
- Easy to Use — Flexible configuration to match your preferences. Seamless editor integration.
- It's Just Beautiful — Enjoy aesthetically pleasing code. Make it look really awesome.

## Installation

Install `eslint-plugin-perfectionist` with your package manager:

**npm**

```bash
npm install --save-dev eslint-plugin-perfectionist
```

**pnpm**

```bash
pnpm add --save-dev eslint-plugin-perfectionist
```

**yarn**

```bash
yarn add --dev eslint-plugin-perfectionist
```

**bun**

```bash
bun install --dev eslint-plugin-perfectionist
```


For ESLint setup examples and configuration patterns, continue with [Getting Started](/guide/getting-started.md).

## Identical Code Style

Consistent code style fosters collaboration and improves quality. Uniform style makes code readable and manageable, enabling quick understanding and contribution.

Our tool helps enforce these standards, ensuring that your codebase stays neat and organized.

## Interactive Demo

Try the live examples and compare sorting strategies directly in the rule docs:

- [sort-imports](/rules/sort-imports.md)
- [sort-objects](/rules/sort-objects.md)
- [sort-classes](/rules/sort-classes.md)

## Guide

- [Introduction](/guide/introduction.md) — Learn about ESLint Plugin Perfectionist and how it can help maintain a consistent and high-quality codebase
- [Getting Started](/guide/getting-started.md) — Installation and basic configuration guide
- [Integrations](/guide/integrations.md) — Set up automatic formatting on save in popular code editors

## Ready-Made Configs

- [recommended-alphabetical](/configs/recommended-alphabetical.md) — All plugin rules with alphabetical sorting in ascending order
- [recommended-natural](/configs/recommended-natural.md) — All plugin rules with natural sorting in ascending order
- [recommended-line-length](/configs/recommended-line-length.md) — All plugin rules with sorting by line length in descending order
- [recommended-custom](/configs/recommended-custom.md) — All plugin rules with your own custom sorting

## Rules Reference

Explore all 23 rules in [the full list](/rules.md).

## Community

- [GitHub Repository](https://github.com/azat-io/eslint-plugin-perfectionist)
- [NPM Package](https://npmjs.com/package/eslint-plugin-perfectionist)
- [Contributing Guide](https://github.com/azat-io/eslint-plugin-perfectionist/blob/main/contributing.md)
- [Changelog](https://github.com/azat-io/eslint-plugin-perfectionist/blob/main/changelog.md)
