In go buffalo, there is a generated .gitignore file which ignores public/assets. However, at the same time, the generated css and js are critical for getting a 'real' buffalo app. So, there's a disconnect which I don't fully understand, which is that something seemingly critical for deploying an app is bound to be missing, by default, from any version control system which builds the app itself.
What I've noticed
buffalo build does not generate content in public/assets.
buffalo dev also does not generate this content.
running buffalo dev after deleting
public/assets/*
results in a site that doesn't have any CSS, implying that it breaks functionality.
So, thus. from what I can tell /public/assets are both essential, and non-dynamically created.
So, my question is thus, how can i regenerate public/assets in my buffalo workflow at build time (i.e. how can i retain the .gitignore defaults) or where do people generally package their assets if not in version control?
There's source control, which contains the source you've created for your application, there's the build server, which turns the source into deployable artifact(s), and there's artifacts, which contain everything necessary to run the app (i.e. resources, compiled binary, no source code).
Source control is generally a poor solution for storing artifacts; this is why e.g. GitHub has the Releases feature. Find a proper solution for your artifacts, outside of source control - what you choose will depend on your build and operating environments and your deployment system. For example, S3 is a popular choice for storing internal build artifacts because it's very easy to use and reasonably cheap.