What is the recommended workflow for managing a live Discourse site?

Yes that’s it exactly - through the docker/production install, you shouldn’t need to do any sort of filesystem maintenance, as it is a config for any plugin installs in your app.yml. Under the hood, plugins are cloned into the plugins directory on build.

In a dev env where you want to have control and build, develop, or alter your environment, use symlinks.

(Hi by the way, I think I recall that we ran into each other on University a little while ago :wave: )