# xojs/xo

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/xojs-xo).**

7,977 stars · 306 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/xojs/xo
- awesome-repositories: https://awesome-repositories.com/repository/xojs-xo.md

## Description

xo is a zero-configuration linting tool for JavaScript and TypeScript. It functions as a wrapper for the ESLint engine, providing a set of strict default rules and static analysis to enforce professional coding standards without requiring manual configuration files.

The tool distinguishes itself by providing a zero-config runtime that automatically determines parser settings and linting rules at execution time. It includes a code style formatter to standardize indentation and syntax across all project files.

The project covers automated error correction and source code formatting to eliminate manual cleanup. It provides capabilities for TypeScript static analysis, framework file validation, and the ability to suppress legacy violations to focus enforcement on new code.

Integration features include the ability to generate compatible configurations for editor extensions and support for incorporating linting checks into continuous integration pipelines.

## Tags

### Development Tools & Productivity

- [Zero-Config Tooling](https://awesome-repositories.com/f/development-tools-productivity/development-workflow-configurations/zero-config-tooling.md) — Operates as a zero-configuration tool that determines linting rules and parser settings automatically at execution time.
- [Code Formatters](https://awesome-repositories.com/f/development-tools-productivity/code-formatters.md) — Provides an integrated formatter to standardize indentation and syntax across all project files.
- [Linting File Filters](https://awesome-repositories.com/f/development-tools-productivity/file-ignore-patterns/linting-file-filters.md) — Uses dedicated tracking files to filter out existing linting violations and focus enforcement on new code.
- [Template File Linting](https://awesome-repositories.com/f/development-tools-productivity/linting-plugins/template-file-linting.md) — Extends static analysis to support and validate non-standard framework template and component files. ([source](https://github.com/xojs/xo/blob/main/readme.md))
- [Linting Suppressions](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/migration-tools/incremental/linting-suppressions.md) — Implements mechanisms to ignore existing linting violations, enabling the gradual adoption of stricter rules on new code. ([source](https://github.com/xojs/xo#readme))
- [Zero-Configuration Build Tools](https://awesome-repositories.com/f/development-tools-productivity/zero-configuration-build-tools.md) — Eliminates the need for complex configuration files by providing professional defaults for a quick environment setup.

### Programming Languages & Runtimes

- [Zero-Configuration Wrappers](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-linters/zero-configuration-wrappers.md) — Functions as a zero-configuration wrapper for the ESLint engine to enforce professional coding standards automatically.
- [JavaScript Linters](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-linters.md) — Identifies and fixes stylistic and programmatic errors in JavaScript source code.

### Part of an Awesome List

- [Code Formatting](https://awesome-repositories.com/f/awesome-lists/devtools/code-formatting.md) — Includes a formatting engine that standardizes indentation and syntax for a consistent visual style. ([source](https://github.com/xojs/xo/blob/main/readme.md))
- [Code Quality Tools](https://awesome-repositories.com/f/awesome-lists/devtools/code-quality-tools.md) — Opinionated JavaScript/TypeScript linter with sensible defaults.
- [Development Utilities](https://awesome-repositories.com/f/awesome-lists/devtools/development-utilities.md) — Provides linting and code quality checks for JavaScript projects.
- [Static Analysis Tools](https://awesome-repositories.com/f/awesome-lists/devtools/static-analysis-tools.md) — Opinionated ESLint wrapper for JavaScript.

### Software Engineering & Architecture

- [Coding Standards Enforcement](https://awesome-repositories.com/f/software-engineering-architecture/coding-standards-enforcement.md) — Enforces professional coding standards and readability constraints through automated analysis of source files. ([source](https://github.com/xojs/xo#readme))
- [JavaScript Style Linting](https://awesome-repositories.com/f/software-engineering-architecture/coding-standards-enforcement/javascript-style-linting.md) — Enforces consistent coding standards and stylistic rules specifically for JavaScript projects.
- [Zero-Configuration Linting Wrappers](https://awesome-repositories.com/f/software-engineering-architecture/coding-standards-enforcement/zero-configuration-linting-wrappers.md) — Functions as a zero-configuration wrapper for ESLint to enforce strict standards for JavaScript and TypeScript. ([source](https://github.com/xojs/xo/blob/main/package.json))
- [Configuration-Free Rule Sets](https://awesome-repositories.com/f/software-engineering-architecture/configuration-free-rule-sets.md) — Provides a set of predefined professional coding standards that eliminate the need for manual project configuration.
- [Framework Syntax Validation](https://awesome-repositories.com/f/software-engineering-architecture/analysis-plugin-frameworks/framework-syntax-validation.md) — Integrates specialized plugins to validate the syntax and structure of non-standard framework component files.

### Testing & Quality Assurance

- [TypeScript Static Analysis](https://awesome-repositories.com/f/testing-quality-assurance/code-quality-review/code-quality-tools/formatting-and-linting-pipelines/javascript-and-typescript-toolchains/typescript-linting-plugins/typescript-static-analysis.md) — Performs static analysis and type-aware validation for TypeScript files.
- [Type-Aware Linting](https://awesome-repositories.com/f/testing-quality-assurance/code-quality-review/code-quality-tools/formatting-and-linting-pipelines/type-aware-linting.md) — Leverages TypeScript compiler type information to perform deep static analysis of typed files automatically.
- [Automatic Lint Fixers](https://awesome-repositories.com/f/testing-quality-assurance/automatic-lint-fixers.md) — Automatically corrects stylistic and programmatic issues across the codebase to eliminate manual cleanup. ([source](https://github.com/xojs/xo#readme))

### DevOps & Infrastructure

- [CI Pipeline Integrations](https://awesome-repositories.com/f/devops-infrastructure/ci-cd-pipelines/ci-pipeline-integrations.md) — Supports integration into continuous integration pipelines to prevent stylistic regressions and syntax errors.
