MiniScaffold


What is MiniScaffold?

This is an F# Template for:

  • creating and publishing libraries targeting .NET Full net461 and Core netstandard2.1
  • creating and publishing applications targeting .NET Core netcoreapp3.1

Why use MiniScaffold?

This takes away the ambiguity that developers face when creating an OSS project. Such as:

  • How do I structure my project?
  • How do I create repeatable builds?
  • Which test framework should I use?
  • How to I create releases?
  • What Issue/Pull Request templates should I use?
  • How should I go about creating documentation?
  • How do I setup CI?
  • What's the standard .gitignore file?
  • What other things would make it easier for me when starting off creating a project I might not even know about?

What does this include in the box?

All project types

For Libraries

For Applications

  • Basic argument parsing example via Argu
  • Builds a netcoreapp3.1 application - Target Frameworks
  • Builds for win-x64, osx-x64 and linux-x64 - Runtime Identifiers. Bundles the application via dotnet-packaging
    • Bundles the win-x64 application in a .zip file.
    • Bundles the osx-x64 application in a .tar.gz file.
    • Bundles the linux-x64 application in a .tar.gz file.

Getting started quickly

Install the dotnet template from NuGet:

1: 
dotnet new -i "MiniScaffold::*"

I want to build a library

1: 
dotnet new mini-scaffold -n MyCoolNewLib --githubUsername MyGithubUsername

I want to build a console application

1: 
dotnet new mini-scaffold -n MyCoolNewApp --githubUsername MyGithubUsername -ou console

Tutorials

Takes you by the hand through a series of steps to create your first library.

How-To Guides

Guides you through the steps involved in addressing key problems and use-cases.

Explanations

Discusses key topics and concepts at a fairly high level and provide useful background information and explanation..

Reference

Contain technical references.