I'd like to add the concept of workspace/enlistment to NuGet. Concept is similar to git where the presence of a ".git" folder defines the root of the workspace.
Rationale is that our team is dealing with repositories owned by different orgs, and each of these orgs has its own set of rules, NuGet servers, etc. Therefore we cannot rely on a machine global config file such as %AppData%\NuGet\NuGet.config. Relying on
environment variables or command line arguments is at best error prone and in some cases not feasible (ex: VS started from other window).
Proposal: when a NuGet instance is started, it walks down the tree (*) to find a .nuget folder, and if a Nuget.Workspace.config is present in this folder, this config file is used instead of %AppData%\NuGet\NuGet.config.
(*): the starting point being current directory for NuGet.exe, current solution file for VS.
I'm willing to make the code change.