There was a project 42 years ago, called Tree Surgeon, that would setup a directory structure for your next project. This was early, early .NET days, but it was a handy little utility.
init.ps1 takes some CLI observations from NPM and attempts to setup an initialized empty shell of a repo to help projects get setup quickly.
- source code into a root level src directory
- components to deploy into an artifacts directory
- permanent tools going into a tools directory
- using a file named default.ps1 as your primary build script
- prompts you for a few default tasks
- optional CI task that you would use on your build server
- optional TC tasks that added TeamCity blockOpened & blockClosed messages around each task
- optional nuget package restore task
- optional MSBuild octopack version of a compile task
- using a bootstrapper to help with setting up and calling psake
- adds a .gitattributes file
- adds a .gitignore file (https://github.com/github/gitignore/blob/master/VisualStudio.gitignore)
- defaults to using Nuget Package Restore
- gets the latest version of Nuget and will update itself occasionally
- updates nuget occasionally
- creates a readme.md file
- dynamically adds dependent tasks
Invoke-WebRequest dotnetzero.com | Invoke-Expression
iwr dotnetzero.com | iex