Here's an interesting feature idea: module provider plugins.
I wanted to convert the Qt modules to a Probe-based infrastructure (well, I still do), but as previously discussed this would obviously lose the ability to detect arbitrary Qt modules. So I came up with the following idea: add a new plugin class called "module provider". Every time a module is looked up in the search path, the search paths of all loaded module provider plugins are also searched. The plugin can, for example, write its module files to a temporary directory and then return that path. This is essentially the same thing as qbs internally invoking qbs-setup-qt internally every time it is run (perhaps with some caching scheme).
This would allow us to eliminate the qbs-setup-qt tool and its annoying requirement to be manually.
Part of removing qbs-setup-qt would still involve rewriting it to be Probe-based, but the automatic module recognition feature could be reintroduced using this module provider plugin concept. Alternatively, we could opt for laziness and do the module provider plugin mechanism first, which would be easier. Then rewriting for Probe-based modules wouldn't necessarily be necessary, although it would be nicer and arguably easier to modify.