Home

Awesome

MiniScaffold

What is MiniScaffold?

This is an F# Template for:

Why use MiniScaffold

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

What does this include in the box?

All project types

For Libraries

For Applications


Getting started quickly

Install the dotnet template from NuGet:

dotnet new install "MiniScaffold::*"

Then choose:

dotnet new mini-scaffold -n MyCoolNewLib --githubUsername MyGithubUsername
dotnet new mini-scaffold -n MyCoolNewApp --githubUsername MyGithubUsername -ou console

The scaffold defaults to using the main branch for releases. If you release from a different branch, you can use the --releaseBranch <branch name> parameter to use your release branch instead of the default.


Builds

GitHub Actions
GitHub Actions
Build History

NuGet

StablePrerelease
NuGet BadgeNuGet Badge

Options

githubUserName

This is used to automatically configure author information in the NuGet package, as well as configure push urls for repo locations.

outputType

Defaults to Library

When set to either Console or Library project and the supporting infrastructure around their respective types.


Known issues

Permission denied

-bash: ./build.sh: Permission denied

This is because dotnet template loses permissions of files. (https://github.com/TheAngryByrd/MiniScaffold/pull/37) added a post hook to address this but this only fixes it for dotnet sdk 2.x users. dotnet sdk 1.x will need to run chmod +x ./build.sh

Appveyor badge not scaffolded correctly

Appveyor's conventions around generating URLs based on the project name has some nuances. See this issue for details.


Example Projects using this template:

This project uses the following projects: