Ok so based on what I have read in various other posts and my personal experience here is the process to regenerate the CSS or any Static Content:
php bin/magento setup:upgrade
This will wipe out all the necessary cache/generation/etc files without deleting anything you actually need.
php bin/magento setup:di:compile
This will then re-compile the files. Lastly:
php bin/magento setup:static-content:deploy
After the last command everything should be new and fresh, just refresh your page.
----- Notes ------
1) Make sure your file permissions and owner:user group is set correctly before doing this, you may need to speak about these with your sysadmin.
2) If your setup:upgrade command fails it might delete the files and be unable to write the new ones, as was my case due to file permissions. This can break your site, just iron out the permissions, then re-run the command.
3) I have not found (so far) a way to only re-compile a specific theme or file (would be super helpful if anyone finds a way) without writing a completely custom script
If anyone knows of something better let me know, because 12 minutes of compiling files because I had to make some css changes is extremely poor design in my eyes.
--- Edit ---
Magento 2 has Grunt tied into it and this makes refreshing CSS/LESS files infinitely easier if you take the time to configure it. Most the files are there as .sample files just remove the .sample file extension, configure the themes.js file in /dev/tools/grunt/configs folder. Then when you need to refresh your LESS files you simply run grunt less:--theme-- from the command line.
Resource:
http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/css-topics/css_debug.html
.htaccess
file in thepub/static
folder so it knows how to symlink files, if you deleted the pub/static folder that.htaccess
is missing now