Doing such a ‘diff’ is already very close to the previous approach we had for this and requires the CLI’s scaffolding logic to be tightly coupled to the broad structure of a Visual Studio template. This tight coupling is precisely why it’s broken right now, and pretty tedious to fix.
The whole point of diff and patch is to do away with all that scaffolding logic. You would have, for each file needing modification, an initial state and a modified state and a patch that is generated from the two. Then you can re-use these to create various Aurelia CLI templates.
I don’t know about the diffing. Of course it would be ideal, but it’s also much more work to implement and especially maintain.
I actually believe that it would be far less work to maintain.
I would have each file that requires modification have it’s own patch file generated from the before and after modification states. A CLI template would effectively be a composition of these individual patch files represented in a json file and given its own id. Maintaining these would be trivial, as generating a patch would be done with an small app that compares to folders of files (one containing the ‘before modification’ state and the other containing files modified for Aurelia).
Maybe it would just be easier to create a dotnet global tools based CLI compatible tool that would do this, if it is not possible with the CLI. I may look at it if I get the time.