I've begun to try out Chef on Windows (though I don't believe that the OS is necessarily relevant here), and I've come across a sort of a conundrum.
I was following a "getting started" tutorial, which recommended that I clone a Chef repository from GitHub. The readme file for this repository, however, states that this isn't recommended, and instead recommends running chef generate repo, so I did. In my home directory, I ran chef generate repo chef_repo and got (what looked like) mostly the same files and directories. Great.
One of the directories I got was a .chef directory, where (as I understand it) I am to place various files. The tutorial I was following recommended that I place the .chef directory in my .gitignore file. Ok, that's fine.
As I progressed through the tutorial, I came across the documentation for the knife.rb file, which states that knife, by default, expects the knife.rb file to be in ~/.chef. This seems strange to me, as it's fairly clear that the .chef directory should be in the chef repository (both the GitHub sample repository and the chef-generated repository have it this way), unless Chef expects that my entire home directory will be a Git repository, and Chef's Git repository.
Where should the knife.rb file go? Is it "standard practice" to have multiple .chef directories? Is it "standard practice" to never provide a default knife.rb file?