Project root directory.
The selected config with file count and reason, or null when no
candidate exists.
Angular CLI workspaces often use a "solution style" root tsconfig.json
with "files": [] plus references to tsconfig.app.json /
tsconfig.spec.json. Loading such a root config yields an (almost) empty
program, so every investigation tool would silently search nothing. The
resolver therefore prefers a config that actually contains source files:
references (recursively, *.app.* configs first, *.spec.* last)tsconfig.app.json (root, then src/)The same selection order is mirrored in adapter-mcp's
tools/helpers/find-ts-config.ts, which decides "has files" from the raw
config JSON instead of the TypeScript API (the adapter test suites mock
node:fs and @angular-modernizer/core).
Resolve the tsconfig that should back a ts-morph
ProjectforrootPath. Shared tsconfig discovery used by the kernel factory and every MCP tool that builds a ts-morphProject.