``` $/ src/ test/ samples/ artifacts/ packages/ build/ .gitignore .gitattributes {solution}.sln NuGet.config build.cmd build.sh ``` - `src` - Main projects - `test` - Test projects - `samples` - Sample projects - `artifacts` - Build ouputs go here. Doing a build.cmd/build.sh generates artifacts here (nupkgs, dlls, pdbs, etc.) - `packages` - NuGet packages - `build` - Build customizations (custom msbuild files/psake/fake/albacore/etc) scripts - `build.cmd` - Bootstrap the build for windows - `build.sh` - Bootstrap the build for *nix ## .gitignore ``` [Oo]bj/ [Bb]in/ .nuget/ _ReSharper.* packages/ artifacts/ *.user *.suo *.userprefs *DS_Store *.sln.ide ``` There's probably more things that go in the ignore file.