Find the project that actually ships.
A rule begins with a real project root and its language toolchain. ArchUnit does not start from a diagram or a manually maintained inventory.
Python walks .py files beneath the selected root. Built-in exclusions skip environments, caches, builds, and generated package metadata; .archignore adds project-specific omissions.
for dirpath, dirnames, filenames in os.walk(project_root):TypeScript starts from tsconfig.json, including its include and exclude rules, compiler options, path aliases, and referenced projects.
const config = ts.readConfigFile(configPath, ts.sys.readFile);