I am currently trying to build my own gulp + scss/sass workflow for a custom Magento theme and I used some basic principles from SnowdogApps/magento2-frontools. E.g. my setup also processes the …/[theme_name]/web path and then puts the result into pub/static/[theme_area]/[theme_vendor]/[theme_name].
However, one thing I could not quite figure out in this workflow yet: whenever you have to delete caches during Magento code development etc., the contents of the pub/static are also deleted - meaning you would have to run gulp again (or deploy the contents to the remote server again).
Is this really how it is supposed to work? Wouldn't it be better for the results of gulp to be put into the …/[theme_name]/web as well - so that Magento can reprocess the files, whenever the caches need to be deleted? What am I missing here?
No, my question is regarding the concepts used by https://github.com/SnowdogApps/magento2-frontools. The README of that project states to come to this forum if one has any questions.
In Frontools you have the possibility to set a custom dest path (https://github.com/SnowdogApps/magento2-frontools/blob/master/config/themes.json.sample#L22), so you can set the dest path to app/design/frontend/<your-vendor>/<your-theme>/web/css and your compiled file will not be placed in the pub folder.
And if you're writing your own gulp workflow you can compile it to your theme path.