Scanning
Reads manifest files line-by-line and records file, line, description, and snippet whenever a known bad pattern appears.
Repo manifest scanner and patcher
This is the most automation-heavy file in the repo today. It walks the current project tree, finds supported manifest files, flags known compatibility issues like `-m32`, `Win32`, and `CUDA_32_BIT_DEVICE_CODE ON`, and can rewrite them into safer 64-bit defaults.
Reads manifest files line-by-line and records file, line, description, and snippet whenever a known bad pattern appears.
Runs string replacements for every rule, writes changed files back to disk, and rescans the repo to confirm whether issues remain.
Produces `ok` when manifests are clean, `issue` when bad settings remain, and richer messages that describe how many problems or files were changed.
The current patching strategy is text replacement, which makes it simple and effective for known patterns but also intentionally narrow. It is not a full semantic build-system editor.
Related files
Core contract
Declares the structures used to report repo-level compatibility issues and to apply automatic manifest fixes.
Command implementation
Extends `check` with repo scanning, optional auto-configuration, auto-fix behavior, and next-step generation.
Native entrypoint
Owns native argument validation, text and JSON rendering, exit codes, and the interactive handoff from `doctor` to `doctor auto`.