awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
sindresorhus avatar

sindresorhus/xo

0
View on GitHub↗
7,977 stars·306 forks·TypeScript·MIT·21 views

Xo

xo is a zero-config linting tool and ESLint wrapper that provides opinionated default rules for JavaScript and TypeScript. It functions as a static analysis tool to enforce code style and readability standards immediately upon installation without requiring manual configuration.

The tool distinguishes itself by providing a zero-config development workflow that eliminates the need for complex configuration files. It supports incremental codebase cleanup by allowing users to ignore known violations through a suppressions file, facilitating the gradual adoption of strict rules in existing projects.

Beyond basic linting, it includes capabilities for automated code formatting, TypeScript static analysis, and the ability to automatically fix syntax and style errors. It also manages parser project resolution for TypeScript and integrates with external plugins to analyze framework template files.

Performance is supported through the caching of linting results to avoid re-processing unchanged files.

Features

  • Zero-Config Tooling - Provides a professional linting environment for JavaScript and TypeScript without requiring any manual configuration files.
  • Configuration-Free Rule Sets - Provides a zero-config environment using predefined, opinionated coding standards to eliminate manual setup.
  • Zero-Config Linters - Applies consistent code style and quality standards immediately upon installation without requiring manual configuration.
  • Automated Lint Fixes - Corrects common style and syntax issues automatically to align code with defined rules.
  • Configuration Wrappers - Encapsulates complex ESLint configurations behind a simplified, opinionated interface to remove manual setup.
  • TypeScript Validators - Performs static analysis and type validation for TypeScript code to ensure correctness and readability.
  • Analysis Suppressions - Allows ignoring known linting violations through a dedicated suppressions file for incremental adoption.
  • JavaScript Linters - Acts as a static analysis tool that identifies style violations and potential errors in JavaScript code.
  • JavaScript Style Linting - Enforces stylistic consistency and coding standards for JavaScript and TypeScript files.
  • TypeScript Static Analysis - Lints TypeScript files and automatically manages parser project settings.
  • Code Formatting - Provides automated code formatting to fix syntax and style violations.
  • Code Formatting Tools - Integrates formatting tools like Prettier to automatically organize and style source code.
  • Linting Configurations - Provides mechanisms to override default linting behavior via configuration files or manifests.
  • Manifest-Based Rule Overrides - Allows users to customize default linting behavior via the package manifest or a configuration file.
  • Linting Suppressions - Provides a suppressions file to ignore known violations, facilitating incremental adoption of strict linting rules.
  • Parser Configuration Resolution - Automatically manages TypeScript project settings and parser configurations even without local config files.
  • Shareable Configurations - Complete preconfigured setup for opinionated JavaScript linting.

Star history

Star history chart for sindresorhus/xoStar history chart for sindresorhus/xo

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Xo

These projects share indexed features with Xo. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • xojs/xoxojs avatar

    xojs/xo

    7,977View on GitHub↗

    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 eliminat

    TypeScript
    View on GitHub↗7,977
  • palantir/tslintpalantir avatar

    palantir/tslint

    5,907View on GitHub↗

    TSLint is an extensible static analysis tool that checks TypeScript source files against a configurable set of lint rules. It scans code by walking the parsed TypeScript abstract syntax tree, applying rule objects to detect readability, maintainability, and functionality errors. The tool supports rule severity configuration, inline suppression through comment directives, and automatic attachment of fix objects for correcting violations. The project provides a framework for developing custom lint rules and formatters, allowing teams to enforce project-specific coding conventions beyond the bui

    TypeScriptlinterlinting-rulesocto-correct-managed
    View on GitHub↗5,907
  • sds/overcommitsds avatar

    sds/overcommit

    4,008View on GitHub↗

    Overcommit is a Git hook manager and pre-commit validation framework designed to automate the execution of scripts and checks during various Git events. It serves as a workflow automation tool that ensures code quality and project standards are met before changes are committed or pushed to a remote repository. The system distinguishes itself through a comprehensive YAML-based configuration that allows for detailed hook behavior control, including file execution filtering, conditional skipping, and the management of hook dependencies. It provides specialized roles such as a commit message vali

    Ruby
    View on GitHub↗4,008
  • jscs-dev/node-jscsjscs-dev avatar

    jscs-dev/node-jscs

    4,936View on GitHub↗

    node-jscs is a JavaScript linter and code style checker designed to analyze source code and enforce consistent coding standards. It functions as a static analysis tool that identifies patterns in JavaScript code to ensure adherence to defined style guides. The project provides capabilities for both JavaScript code linting and automated code formatting. It can check source code for style violations and automatically correct those errors to align the codebase with a specified set of formatting rules.

    JavaScript
    View on GitHub↗4,936
Compare all 30 related projects→

Frequently asked questions

What does sindresorhus/xo do?

xo is a zero-config linting tool and ESLint wrapper that provides opinionated default rules for JavaScript and TypeScript. It functions as a static analysis tool to enforce code style and readability standards immediately upon installation without requiring manual configuration.

What are the main features of sindresorhus/xo?

The main features of sindresorhus/xo are: Zero-Config Tooling, Configuration-Free Rule Sets, Zero-Config Linters, Automated Lint Fixes, Configuration Wrappers, TypeScript Validators, Analysis Suppressions, JavaScript Linters.

Which projects share features with sindresorhus/xo?

Projects with overlapping indexed features include: xojs/xo — xo is a zero-configuration linting tool for JavaScript and TypeScript. It functions as a wrapper for the ESLint… palantir/tslint — TSLint is an extensible static analysis tool that checks TypeScript source files against a configurable set of lint… sds/overcommit — Overcommit is a Git hook manager and pre-commit validation framework designed to automate the execution of scripts and… jscs-dev/node-jscs — node-jscs is a JavaScript linter and code style checker designed to analyze source code and enforce consistent coding… rome/tools — This project is a unified toolchain for JavaScript and TypeScript development, providing a suite of specialized tools… jshint/jshint — JSHint is a JavaScript static analysis tool and linter designed to detect errors and enforce coding standards. It…