I have noticed that most articles on how to author NuGet packages focus on the practical part; which commands to run and how to setup your own NuGet server. All these articles also fail to point out the most important information in the NuGet guidelines.

Read more here.