Instead of syncing whole user-app, just sync relevant directories. This might have adverse effect on export though, as some files/dirs that user might have put in root directory. this is done so that dirs like .git dont end up getting sync'ed. Also remove redundant patterns.
have class files generated in app.
implement clean command which cleans up the output app. Also the idea command which helps user setup idea project files for glide project.
glide config can have environment specific config. glide can be started with -e flag to run in given environment.