Oxlint
Rust-based JavaScript/TypeScript linter that runs 50-100x faster than ESLint, with zero configuration required.
Repository Health
Technical Analysis
Oxlint is the linter of the Oxc (Oxidation Compiler) project, a suite of Rust-based JavaScript and TypeScript tooling built by the team behind Rolldown and the VoidZero unified toolchain. It parses and analyzes source files with the same high-performance Rust engine that powers Oxc’s parser and semantic analyzer, running lint passes across an entire codebase in milliseconds using Rayon-based multi-threading — commonly reported as 50-100x faster than ESLint on equivalent workloads.
With over 900 built-in rules spanning ESLint core, TypeScript, React, Next.js, Jest/Vitest, Unicorn, JSX-a11y, and other popular plugin ecosystems, oxlint works out of the box with zero configuration while also supporting .oxlintrc.json config files, ESLint-compatible rule severities, an --init command, automated migration tooling from existing ESLint setups, a built-in language server for editor integration, and — via the optional oxlint-tsgolint companion — type-aware linting rules that would otherwise require the full TypeScript compiler.
What You Get
- 900+ built-in lint rules covering ESLint core, TypeScript, React, Next.js, JSX-a11y, Jest/Vitest, Unicorn, Promise, and more, enabled through plugin categories rather than individual installs
- A Rayon-parallelized Rust linting engine that reuses Oxc’s shared parser/AST/semantic-analysis layer, delivering order-of-magnitude speedups over JS-based linters
- Zero-config operation for the common case, plus
.oxlintrc.jsonfor ESLint-style plugin selection, overrides, ignore patterns, globals, and per-rule severities - An
oxlint --initmigration path and automated ESLint-config translation tooling to move an existing ESLint setup over incrementally - A built-in language server (
--lsp) for real-time diagnostics in editors, and JSON/GitHub Actions/checkstyle/SARIF-style output formatters for CI
Common Use Cases
- Replacing or front-loading ESLint in CI to catch the majority of lint violations in milliseconds before a slower, type-aware pass runs
- Linting large monorepos where ESLint’s Node.js-based rule execution becomes a bottleneck as file counts grow
- Adding fast pre-commit/pre-push lint checks without paying ESLint’s startup and rule-execution overhead on every run
- Migrating an existing ESLint configuration incrementally via automated config translation and rule-compatibility mapping
Under The Hood
Architecture - Oxlint is the CLI crate (apps/oxlint, entry point src/main.rs) built on top of the oxc_linter library crate. The CLI parses arguments with bpaf, then hands off to CliRunner, which drives LintService (crates/oxc_linter/src/service/mod.rs) — a Rayon-parallelized file-walking runtime that reuses Oxc’s shared oxc_allocator/oxc_parser/oxc_semantic pipeline to parse and semantically analyze each file once, then runs every applicable RuleEnum against the resulting AST/semantic graph. Rules are looked up through a ConfigStore built from .oxlintrc.json (crates/oxc_linter/src/config/), and diagnostics flow through oxc_diagnostics/miette for terminal rendering or through pluggable output formatters for CI. A separate --lsp mode spins up a Tokio runtime and language server (src/lsp/) for editor integration, while the napi/ crate exposes the same lint_impl entry point to the oxlint npm package via NAPI-RS, including hooks (JsLoadPluginCb, JsLintFileCb, etc.) for loading JS-authored plugins and type-aware tsgolint rules.
Tech Stack - Rust (workspace Cargo.toml, 100+ member crates under crates/*, apps/*, napi/*), with rayon for data-parallel linting, bpaf for CLI argument parsing, oxc-miette for diagnostic rendering, tracing/tracing-subscriber for structured logging, napi/napi-derive (NAPI-RS) for the Node.js binding published as the oxlint package with per-platform prebuilt binaries (napi targets cover 19 OS/arch combinations), and tokio scoped narrowly to the LSP path so the default synchronous CLI lint run avoids spawning idle async worker threads.
Code Quality - The oxc_linter crate is organized into clearly separated modules (config, context, fixer, service, suppression, rules), each of the 900+ rules lives in its own file under crates/oxc_linter/src/rules/, and 772 of those rule files contain inline #[test] fn test() unit tests exercising pass/fail cases — a strong majority of the ruleset. The crate also carries workspace-wide Clippy lints ([lints] workspace = true) with targeted, commented #[expect(...)] overrides rather than blanket allows, and a size_asserts test pins RuleEnum to 16 bytes to guard a documented 15% performance win from a past size reduction, showing performance-sensitive code paths are actively monitored.
API Design - The Rule trait (crates/oxc_linter/src/rule.rs) gives rule authors a small, well-documented surface — run, run_once, run_on_jest_node, should_run, from_configuration — each with sensible no-op defaults and doc comments explaining when to implement them, so a new rule can start from a handful of methods without touching the linting engine itself. For end users, the CLI is designed to work with zero flags (npx oxlint@latest) and documents its options through --help, --rules, and an --init scaffolding command, while .oxlintrc.json mirrors ESLint’s configuration shape to minimize the conceptual overhead of switching linters.
Used by 63 apps in this directory
Actual
Invoicing Finance
Local-first personal finance with envelope budgeting, end-to-end encryption, and multi-device sync — no subscription required.
AFFiNE
Productivity · Project Management · Note Taking
Write, draw, and plan in one infinite canvas — the open-source alternative to Notion and Miro that keeps your data yours.
AionUi
AI Agents · Productivity
Free, open-source Cowork desktop app that unifies Claude Code, Codex, Gemini CLI, and 20+ AI agents into a single platform with multi-agent teams, 24/7 cron automation, and zero-config built-in agent.
Anarlog
Note Taking · AI Assistants · Productivity
Anarlog is an open-source, local-first AI meeting notetaker that records, transcribes, and summarizes meetings entirely on your device — no cloud lock-in, no mandatory account, and every note saved as a plain markdown file you own forever.
Botpress
AI Assistants · AI Development · Customer Support
The open-source hub for building and deploying LLM-powered AI agents with TypeScript-first tooling, 40+ integrations, and a revolutionary code-execution agent framework.
Bun
Developer Tools
An all-in-one JavaScript and TypeScript toolkit — one Rust-and-JavaScriptCore binary that replaces Node.js, npm, a bundler, and a test runner with faster equivalents.
ChartBrew
Analytics · Databases
Open-source reporting platform to build live dashboards from SQL, NoSQL, APIs, and SaaS tools with an AI assistant that creates charts from natural language.
Cherry Studio
AI Assistants
All-in-one AI desktop client with 300+ assistants and multi-model support
cmux
Developer Tools · AI Development
A native, Ghostty-based macOS terminal with vertical tabs, agent-aware notifications, and a scriptable browser built for running many parallel AI coding agent sessions instead of juggling tmux panes.