# Contributor handoff — oxc-project/oxc

> Canonical page: https://codevetter.com/unpack/oxc/agent-handoff

# Contributor handoff — oxc-project/oxc

Scanned commit 7f65b757df7c3225320d8f7e051e64873f80f988 (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Use the pinned implementation and nearest package guidance to choose a narrow edit boundary. Tests and CI were inspected, not executed, and the inventory remains bounded rather than exhaustive. Future verification should target the changed runtime surface before broad workspace checks. Generated outputs, formatter policy, and Rust-versus-Node feature differences are recurring traps.
- Start with the root and nearest package AGENTS.md; Oxfmt's guide identifies separate CLI, stdin, LSP, direct API, and textToDoc paths and warns against assuming shared behavior. — [AGENTS.md#L19-47](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/AGENTS.md#L19-L47) [apps/oxfmt/AGENTS.md#L9-32](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/apps/oxfmt/AGENTS.md#L9-L32)
- Use manifests for version decisions: development Rust is 1.99.0, MSRV is 1.97.0, and the root package manager is pnpm 12.7.0. — [rust-toolchain.toml#L1-3](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/rust-toolchain.toml#L1-L3) [Cargo.toml#L15-18](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/Cargo.toml#L15-L18) [package.json#L20-20](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/package.json#L20-L20)
- Edit generator inputs rather than generated artifacts: AST builder output names its generator, and linter registry output requires cargo lintgen; root guidance also requires lint-timings for linter codegen changes. — [crates/oxc_ast/src/generated/ast_builder.rs#L1-12](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/crates/oxc_ast/src/generated/ast_builder.rs#L1-L12) [crates/oxc_linter/src/generated/rules_enum.rs#L1-2](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/crates/oxc_linter/src/generated/rules_enum.rs#L1-L2) [AGENTS.md#L68-74](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/AGENTS.md#L68-L74)
- For formatter changes, read the shared FORMATTER_POLICY through the crate guide, preserve text-in API boundaries, and keep comments, parentheses, and embedding responsibilities in their owning layer. — [crates/oxc_formatter/AGENTS.md#L1-28](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/crates/oxc_formatter/AGENTS.md#L1-L28) [crates/oxc_formatter/AGENTS.md#L59-82](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/crates/oxc_formatter/AGENTS.md#L59-L82)
- Account for Oxfmt execution differences: the pure Rust CLI has no stdin/LSP support, the Node API uses caller-supplied options without config discovery, and native formatters do not fall back to Prettier. — [apps/oxfmt/AGENTS.md#L14-22](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/apps/oxfmt/AGENTS.md#L14-L22) [apps/oxfmt/AGENTS.md#L68-75](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/apps/oxfmt/AGENTS.md#L68-L75)
- For later authorized checks, use focused Rust tests, filtered cargo coverage tasks, or package-specific pnpm build-test/test commands; this investigation inspected their definitions and CI wiring without executing them. — [justfile#L53-55](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/justfile#L53-L55) [justfile#L117-119](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/justfile#L117-L119) [.github/workflows/ci.yml#L230-241](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/.github/workflows/ci.yml#L230-L241) [.github/workflows/ci.yml#L324-328](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/.github/workflows/ci.yml#L324-L328)
- Do not treat just fmt or just ready as harmless read-only checks: fmt invokes cargo shear --fix, while ready installs dependencies, regenerates code, formats files, and runs broad checks. — [justfile#L35-47](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/justfile#L35-L47) [justfile#L66-70](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/justfile#L66-L70)
- Submission guidance requires AI-use disclosure and human responsibility for reviewed, understood, tested contributions; preserve this requirement when preparing an issue or PR. — [CONTRIBUTING.md#L12-21](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/CONTRIBUTING.md#L12-L21) [AGENTS.md#L9-15](https://github.com/oxc-project/oxc/blob/7f65b757df7c3225320d8f7e051e64873f80f988/AGENTS.md#L9-L15)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
