In order to enable our CLI toolkit to generate consistent files, even after we changed the templates (possibly in backwards incompatible way), we should store CLI-related configuration in all scaffolded projects.
This configuration can be stored in package.json file or as a new standalone file (I personally prefer this option more), see .yo-rc.json for an example.
The config can contain information like
- the version of our CLI toolkit used to create the project
- project options (e.g. extension vs. API server)
- what ORM is being used
- etc.