The current implementation basically shoves all the logic inside _generator.py in a way that makes it very hard to add new commands and re-use logic or extend the command with, for instance, new project types. We need a better architecture that allows to declare/hook in new project types using different templates so that we can allow new project types we have in the roadmap (asgi type is what I'm currently working on but also plugin is definitely something coming up in the future.
Ideally, the create cmd should take care of collecting all the shared into that the create cmd needs, take care of common tasks (like creating the folder or a config file) and then delegating to any custom hooks that are registered to handle new project types.
The current implementation basically shoves all the logic inside
_generator.pyin a way that makes it very hard to add new commands and re-use logic or extend the command with, for instance, new project types. We need a better architecture that allows to declare/hook in new project types using different templates so that we can allow new project types we have in the roadmap (asgitype is what I'm currently working on but alsopluginis definitely something coming up in the future.Ideally, the
createcmd should take care of collecting all the shared into that the create cmd needs, take care of common tasks (like creating the folder or aconfigfile) and then delegating to any custom hooks that are registered to handle new project types.