There’s going to come a point where I will have to completely transplant a grav install with content, custom themes and plugins from a development server to a live server, and it needs to work exactly as it stands. It’s obvious that the
cache/ dir doesn’t need to move, it will be regenerated.
But what exactly are
vendor/ for? Seems vendor/ is not going to re-generate itself. Also what about the
images/ dir in the root of the grav install?
Grav has been designed in such a way that the entire
user/ folder should contain all your user content including pages, configuration, plugins, themes, images, etc.
Everything else outside of the user folder is considered a Grav system folder. All you need to do is install Grav on your remote server, then copy over your user folder.
For completeness the
assets/ folder is for Grav generated and processed compresses/minified css/js assets. These are automatically regenerated as needed by Grav.
vendor/ folder is where all the 3rd party libraries are stored.
images/ folder is where Grav stores processed images.
These are all system level folders and you shouldn’t really need to mess with them.