.NET 6.0
dotnet tool install --global dotnet-newrepo --version
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local dotnet-newrepo --version
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=dotnet-newrepo&version=
nuke :add-package dotnet-newrepo --version

Build Status Nuget Forks Stargazers Issues MIT License LinkedIn

<br /> <p align="center"> <h3 align="center">dotnet newrepo</h3>

<p align="center"> This is a dotnet tool to create a git repo for a dotnet project including folders, solution, test project, readme, license, azure devops build template and more... <br /> <br /> <a href="">Report Bug</a> · <a href="">Request Feature</a> </p> </p>

<details open="open"> <summary><h2 style="display: inline-block">Table of Contents</h2></summary> <ol> <li><a href="#about-the-project">About The Project</a></li> <li><a href="#prerequisites">Prerequisites</a></li> <li><a href="#installation">Installation</a></li> <li><a href="#usage">Usage</a></li> <li><a href="#roadmap">Roadmap</a></li> <li><a href="#contributing">Contributing</a></li> <li><a href="#license">License</a></li> <li><a href="#contact">Contact</a></li> </ol> </details>

About The Project

There is some sort of an unofficial standard structure when it comes to dotnet repositories. For example having a 'src' and 'tests' folder, a solution on the root, etc. As I was finding myself recreating this sctructure multiple times, I decided to create this tool which helps to create as much as possible of an entire repository structure, so that you can focus on addding your value and code instead of worrying about things like how to build the project or how to share settings between projects with DirectoryBuildProps.


You will need to have the "dotnet" and "git" commands in the path


To first install the tool

dotnet tool install dotnet-newrepo --global

To install tool's updates

dotnet tool update dotnet-newrepo --global


#first create a directory host your repo
mkdir Organization.Project
cd Organization.Project
#then create the init.yml file (this file is used to specify a few settings like your github username)
newrepo init
#customize the init.yml file with your custom settings
notepad init.yml
#then finally create the repo


Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request


Distributed under the MIT License. See <a href=""></a> for more information.


Luigi Grilli - @gigifun

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed. 
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated 187 2/12/2023 346 8/30/2022 305 8/30/2022 316 3/31/2021 260 3/28/2021 292 3/20/2021