$/
  artifacts/
  build/
  docs/
  lib/
  packages/
  samples/
  src/
  tests/
  .editorconfig
  .gitignore
  .gitattributes
  build.cmd
  build.sh
  LICENSE
  NuGet.Config
  README.md
  {solution}.sln
- src- Main projects (the product code)
- tests- Test projects
- docs- Documentation stuff, markdown files, help files etc.
- samples(optional) - Sample projects
- lib- Things that can NEVER exist in a nuget package
- artifacts- Build outputs 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
- global.json- ASP.NET vNext only
[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.
- Update: Added docs folder
- Added README.md and LICENSE - Critical if you're OSS, if not ignore it
- Renamed testtotests
- Added lib for things that CANNOT exist in nuget packages
- Removed NuGet.config for people using packet :)
- Added global.json for ASP.NET vnext
- Added .editorconfig file in the root (x-plat IDE settings)
- Added NuGet.config back because people were confused about it missing
My understanding is the Artefacts is the output of your project, much could include NuGet packages, packages directory contains your projects dependencies.