I usually provide my basic stuff in an extension and I try to have nothing stored in the database, e.g. in template records created from the backend, but everything in files. This way you can add everything to your git ord SVN or whatever versioning you are using.
This includes:
- TypoScript
- HTML / Fluid Templates
- CSS
- JavaScript
- Icons and Images
You add your own CSS files by including the via TypoScript:
page.includeCSS.myCustomFile = EXT:my_package/Resources/Public/Css/MyCustomFile.css
This folder structure follows the flow / extbase template for extensions in which every kind of resource is stored either in /Resources/Private (mostly templates and language files) or /Resources/Public for resources that need to be publicly accessible (CSS, JS, Images,...). If you follow this folder structure, your configuration is stored in /Configuration/TypoScript.
I haven't seen it yet by myself, but I guess the introduction distribution is an extension as well and as such located in typo3conf/ext/