There's really no reason for the launcher to be end-user configurable. Instead of having a single config/launcher.xml which combines all definitions of commands, regardless of what project provides the code, have the launcher read all '/launcher.xml' resources on the class path, treating them as a single set of definitions.
Not only does this unclutter /config; it also facilitates the provision of drop-in modules that are built out-of-tree. A drop-in that wants to augment the launcher configuration need only provide its own /launcher.xml in its own JAR. No editing of a shared file is required.