Hi @kikeenrique! I’m Dosu and I’m helping the Tuist team.
Your analysis is correct — both gaps are confirmed in the codebase:
-
Product.forPlatforminSources/XcodeGraph/Models/Product.swift— the.uiTestscase only includes macOS, tvOS, and iOS, explicitly leaving out visionOS [1]. -
GraphLinter.validLinksinSources/TuistGenerator/Linter/GraphLinter.swift— the visionOS section has entries for.app,.unitTests,.appExtension, etc., but noLintableTarget(platform: .visionOS, product: .uiTests)entry [2].
The fix is straightforward: add platform == .visionOS to the .uiTests condition in Product.forPlatform, and add a corresponding .uiTests valid-links entry for visionOS in GraphLinter.swift (mirroring how the other platforms define their UI test dependency rules).
If you’d like to debug this further or prototype a fix, you might consider installing this skill following the steps in this repo and using a coding agent like Claude, Codex, or Amp to assist. A PR with these two changes (plus corresponding test updates) would likely be welcome.
To reply, just mention @dosu.
Share context across your team and agents. Try Dosu.