Rework generate function to take an options object, fix app creation so you can create apps in subfolders