Include What You Use (IWYU) is a Clang-based static analysis tool for C and C++ source code. It analyzes `#include` directives to determine the minimal set required for a file to compile, flagging unused includes and suggesting missing ones. It is a command-line tool integrated into the build process, often used with CMake or compilation databases, and is complemented by a Python script (`fix_includes.py`) that automatically applies the suggested changes to source files. The system architecture is a hybrid of a deeply integrated Clang plugin (C++) and standalone Python tooling. The C++ core hooks into Clang's preprocessor and AST to track symbol uses, resolve template instantiations, and map symbols to their canonical headers using a sophisticated public/private header mapping system (`.imp` files). The Python driver (`iwyu_tool.py`) enables batch processing over compilation databases, while `fix_includes.py` implements a robust, multi-stage code transformation pipeline to rewrite includes. The codebase demonstrates high craftsmanship, particularly in its handling of complex C++ edge cases (templates, macros, forward declarations) and its exceptionally thorough test suite. While the C++ core is tightly coupled to Clang internals (a necessary trade-off), the supporting Python tools, the mapping file format, and several internal utility libraries (caching, regex abstraction, string utilities) are well-isolated and represent genuinely reusable patterns for static analysis and code transformation tooling.