SkillAgentSearch skills...

MiniScaffold

F# Template for creating and publishing libraries targeting library or console apps.

Install / Use

/learn @TheAngryByrd/MiniScaffold
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

MiniScaffold

What is MiniScaffold?

This is an F# Template for:

  • creating and publishing libraries targeting .NET 8.0 net8.0
  • creating and publishing applications targeting .NET 8.0 net8.0

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 do I create releases easily?
  • What Issue/Pull Request templates should I use?
  • How should I go about creating documentation?
  • How do I get CI/CD setup easily?
  • 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 net8.0 application - Target Frameworks
    • To build for net8.0
  • 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:

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

Stable | Prerelease :---: | :---: NuGet Badge | NuGet 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:

View on GitHub
GitHub Stars273
CategoryDevelopment
Updated14d ago
Forks31

Languages

F#

Security Score

100/100

Audited on Mar 27, 2026

No findings