You don't want *= require_tree .
as that will, as you've seen, require everything. You want *= require_directory .
which will only require files in the root of the directory (ie. it won't descend into sub directories).
As another approach, this is what I used in a recent project setup like yours:
application.css.scss:
/*
*= require_self
*/
$logo_green: #3b5263;
@import 'smoothness/jquery-ui-1.8.21.custom.css';
@import 'bootstrap_and_overrides.css.scss';
@import 'content.css.scss';
bootstrap_and_overrides.css.scss:
// Set the correct sprite paths
$iconSpritePath: image-url('glyphicons-halflings.png');
$iconWhiteSpritePath: image-url('glyphicons-halflings-white.png');
// override bootstrap colors
$linkColor: lighten(#355c74, 10%);
@import 'bootstrap';
body { padding-top: $navbarHeight + 10px; }
@import 'bootstrap-responsive';
....
And then my content.css.scss contains all my app specific stuff.