Bootstrap as a dependency and styling bootstrap

Bootstraps official recommendation for customising bootstrap seems to be to treat it as another dependency in your development stack - see http://getbootstrap.com/getting-started/#customizing.

So I was wondering why it’s integrated in the asset files rather than called in as a dependency using composer or something, as it is really a third party library?

I was also wondering how everyone is going about customising their themes. Are you:
a) Just delving into the bootstrap less files?
b) Do you have a custom stylesheet and are overriding the bootstrap files? Does this include a custom variables.less?
c) Are you mapping bootstrap source LESS code to your own classes via mixins?

In the past I’ve always done b), with a custom bootstrap.less that calls in my variable.less, all the bootstrap files, and then a custom.less (or more specifically multiple of these) that overwrite the bootstrap stylings.

If I want to do this using grunt I’ll have to figure out how to change the grunt file, so before I do this I wanted to check what the best method was.

Regarding using Grunt, you really wouldn’t need to change much. app.less pulls in bootstrap.less, which imports all of the other Bootstrap less files. So that’s taken care of. You could keep your app.less modular by creating your less files and also importing them in app.less Then you won’t need to touch the Grunt file for this case.

I’ve used Bootstrap as a dependency using Bower and Grunt before, and I’ve also used it quite a few times via Roots. To be honest, I just edit Bootstrap files specifically if I need to with Roots, as I don’t really plan on upgrading Bootstrap in the future, if it’s working as it is. Plus many of the Wordpress sites I work on don’t get big updates from me in the future. Some, but not many.

I do a little bit of a.) when I need to (I don’t like to override). And I some overriding (B). but I’ll take out an entire Bootstrap component if it’s getting in the way…