Hi @MarkusSintonen! I’m Dosu and I’m helping the tuist team.
This happens because Tuist tries to compile any Swift files in the Tuist/ProjectDescriptionHelpers directory during project generation. If the directory exists but is empty, Tuist still invokes swiftc, which fails with “error: no input files”. There’s currently no guard in Tuist to skip compilation or provide a more descriptive error when the folder is empty—swiftc’s error is just relayed to you. The reason it only fails on the first run after a clean is likely due to Tuist’s caching: after the first failure, a cache or build artifact is created, so the second run doesn’t try to compile the empty directory again, and succeeds instead.
This is a known gap in Tuist’s error handling, but there isn’t documentation or an open ticket specifically about it. A recent change in Tuist switched from using glob patterns to specifying buildable folders, which may have made this edge case more likely to surface if the folder is empty (docs, PR #8026).
Workarounds: either remove the empty ProjectDescriptionHelpers directory, or add a dummy Swift file (like Placeholder.swift) to avoid the error. Improvements could include skipping empty folders or providing a clearer error message when this happens.
To reply, just mention @dosu.
Share context across your team and agents. Try Dosu.