$/
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 projectsdocs
- Documentation stuff, markdown files, help files etc.samples
(optional) - Sample projectslib
- Things that can NEVER exist in a nuget packageartifacts
- Build outputs go here. Doing a build.cmd/build.sh generates artifacts here (nupkgs, dlls, pdbs, etc.)packages
- NuGet packagesbuild
- Build customizations (custom msbuild files/psake/fake/albacore/etc) scriptsbuild.cmd
- Bootstrap the build for windowsbuild.sh
- Bootstrap the build for *nixglobal.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
test
totests
- 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
src/projectname.api and src/projectName.Front is what I did. But it felt weird to do the same for tests : tests/projectName.api.Tests tests/projectName.Front.Test
@fvilches17 I understand your point, but I am personally not a big fan of using dot folders that are platform specific. You are right, that's how github does it and if your ci-cd related files are only used in an Azure/Azure DevOps context, maybe it makes sense in your context.
However, I think that infrastructure files, ci files, or cd files should not be stored in a folder dependent on the platform (even if for github they don't really let you the choice).
Because maybe someday you will migrate from Azure DevOps to another platform, your application could be multi-cloud (with some resources in one cloud, and other in another) or even if it's an azure only application it coud use specific services (authentication, monitoring ...) outside Azure. Moreover, CI/CD files could contain other files than the Azure pipelines YAML files like scripts, configuration files, or even code files. That's why I prefer using an "infra" folder, a "build" or "pipelines" folder .... By the way, by default Azure Developer CLI (preview) uses an infra folder.