A Rust toolchain for parsing, linting, formatting, and transforming JavaScript and TypeScript.
On this page
Overview
Oxc gives each tool in its Rust workspace its own verification path. The guide names crate-specific tests, generators, external conformance suites, and Node bindings, with contribution responsibilities stated before development commands.
The testing section distinguishes parser conformance, inline linter cases, minifier size snapshots, and Node binding tests. A single successful Rust test command is therefore not presented as coverage for every tool.
External suites are cloned by scripts and excluded from Git. The file warns that ripgrep respects those ignore rules and supplies the flag needed to search the actual cases.
Source excerpt starting at line 273.
273NOTE: These suites are script-cloned and fully gitignored. ripgrep respects `.gitignore`, so a plain `rg` inside them silently returns nothing.274Use `rg --no-ignore` (or `-u`) when searching them.
03 / Generated file guards
Keep generated rule metadata and timing data together
Linter code-generation changes require two commands rather than a generic instruction to regenerate files. The rule names both the generator inputs and generated runner paths that trigger the pair.
Source excerpt starting at line 318.
318When changing linter codegen files such as `tasks/linter_codegen/**` or generated linter rule runner files under `crates/oxc_linter/src/generated/`, run `cargo lintgen` and `cargo lint-timings` so generated rule metadata and linter timing data stay in sync.
04 / Router files
Delegate formatter details to the target crate
The shared guide points formatter work to the relevant crate's AGENTS.md. That keeps language-specific behavior and verification close to the implementation while the root remains a workspace map.
Source excerpt starting at line 189.
189- Read the target crate's `AGENTS.md`; it includes the shared formatter policy plus language-specific rules and verification commands
Ideas for your repo
01Map each subsystem to the test suite that actually covers it.
02Document when ignored files require different search commands.
03Keep coupled generated artifacts in one regeneration instruction.
04Route language-specific work to the local guide.
Sponsored by
Give your agents the whole story.
These instructions explain how to work in Oxc. Modem shows your agents what customers said, who is affected, and what changed.