# Contributor handoff — typescript-eslint/typescript-eslint

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

# Contributor handoff — typescript-eslint/typescript-eslint

Scanned commit effa652828afba0aa730f106cb326c54a97ccfb5 (2026-10-01). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Tests and CI were inspected, not executed, and all described flows are source traces. Future agents should begin with the owning package and preserve public parser, plugin, and generated-config contracts. Test and build commands below describe repository workflows for a separately authorized implementation task; they do not authorize execution during this read-only investigation. This bounded inventory leaves additional packages, rules, fixtures, and browser behavior for task-specific inspection.
- Read the owning manifest, root scripts, and local-development guide first; the guide directs contributors to the packageManager field and explains package build dependencies. — [docs/contributing/Local_Development.mdx#L10-30](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/docs/contributing/Local_Development.mdx#L10-L30) [package.json#L24-52](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/package.json#L24-L52)
- For authorized validation, start with the owning package’s test command, then relevant lint/typecheck checks; packed integration tests are a separate root script, and Vitest is configured without watch mode. — [packages/parser/package.json#L40-48](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/packages/parser/package.json#L40-L48) [package.json#L48-52](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/package.json#L48-L52) [vitest.config.base.mts#L26-32](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/vitest.config.base.mts#L26-L32)
- Installation has substantial side effects: postinstall changes to workspaceRoot, installs Husky hooks, and normally runs clean, build, and ast-spec type checking unless skip conditions apply. — [package.json#L43-46](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/package.json#L43-L46) [tools/scripts/postinstall.mts#L23-44](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/tools/scripts/postinstall.mts#L23-L44)
- Treat generated presets as generator outputs: their headers prohibit hand editing, and rule-development documentation identifies generate-configs and rule-doc snapshot regeneration as follow-up workflows. — [packages/eslint-plugin/src/configs/flat/recommended-type-checked.ts#L1-6](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/packages/eslint-plugin/src/configs/flat/recommended-type-checked.ts#L1-L6) [tools/scripts/generate-configs.mts#L25-33](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/tools/scripts/generate-configs.mts#L25-L33) [docs/contributing/Local_Development.mdx#L73-79](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/docs/contributing/Local_Development.mdx#L73-L79)
- Preserve plugin identity across package imports and compatibility boundaries; parser/plugin manifests support ESLint 8.57/9/10 and TypeScript below 6.1, while parser startup explicitly rejects TypeScript major versions at least 7. — [packages/typescript-eslint/src/index.ts#L45-69](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/packages/typescript-eslint/src/index.ts#L45-L69) [packages/parser/package.json#L50-52](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/packages/parser/package.json#L50-L52) [packages/eslint-plugin/package.json#L95-98](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/packages/eslint-plugin/package.json#L95-L98) [packages/parser/src/index.ts#L3-18](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/packages/parser/src/index.ts#L3-L18)
- When changing parser behavior, preserve forced ESLint tokens/comments/locations and node maps; legacy single-run repeated parsing falls back to an isolated Program, whereas projectService bypasses that fallback. — [packages/parser/src/parser.ts#L137-150](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/packages/parser/src/parser.ts#L137-L150) [packages/typescript-estree/src/parser.ts#L221-261](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/packages/typescript-estree/src/parser.ts#L221-L261)
- Repository skill guidance emphasizes comment-preserving fixers, source-level type fixes, shared utilities, precise static rule tests, and deferred checker calls; visitor keys must retain source order rather than alphabetical order. — [.agents/skills/README.md#L23-30](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/.agents/skills/README.md#L23-L30) [packages/visitor-keys/src/visitor-keys.ts#L112-130](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/packages/visitor-keys/src/visitor-keys.ts#L112-L130)
- The AI contribution policy requires close human review and sufficient independent understanding, discourages AI-generated issue/comment/PR prose, and allows maintainers to close contributions that do not follow its guidance. — [docs/contributing/AI_Contribution_Policy.mdx#L9-21](https://github.com/typescript-eslint/typescript-eslint/blob/effa652828afba0aa730f106cb326c54a97ccfb5/docs/contributing/AI_Contribution_Policy.mdx#L9-L21)

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)
