MiniScaffold 0.40.0-beta001

This is a prerelease version of MiniScaffold.
dotnet new install MiniScaffold::0.40.0-beta001
                    
This package contains a .NET Template Package you can call from the shell/command line.

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:
  • .NETStandard 0.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.40.0-beta001 31 3/10/2026
0.39.0 427 9/1/2025
0.39.0-beta002 323 9/1/2025
0.38.0 442 12/7/2024
0.38.0-beta001 347 12/7/2024
0.37.1 3,852 11/19/2023
0.37.0 1,121 10/25/2023
0.36.2 550 10/22/2023
0.36.1 484 10/21/2023
0.36.0 995 10/6/2023
0.35.2 537 9/18/2023
0.35.0 489 9/18/2023
0.34.2 534 9/14/2023
0.34.1 487 9/5/2023
0.34.0 734 6/9/2023
0.33.0 450 6/7/2023
0.33.0-alpha009 489 6/7/2023
0.33.0-alpha008 466 6/7/2023
0.33.0-alpha007 456 6/7/2023
0.33.0-alpha006 510 6/7/2023
Loading failed

## [0.40.0-beta001] - 2026-03-09

[0.40.0-beta001]: https://github.com/TheAngryByrd/MiniScaffold//compare/v0.39.0...v0.40.0-beta001

### Added
- [Add dotnet watch support to .props/.targets files](https://github.com/TheAngryByrd/MiniScaffold/pull/305) from @TheAngryByrd
- [Add comprehensive GitHub Copilot instructions for MiniScaffold development](https://github.com/TheAngryByrd/MiniScaffold/pull/294) from @TheAngryByrd
- [Add test-reporter action to display test results in GitHub Actions](https://github.com/TheAngryByrd/MiniScaffold/pull/312) from @TheAngryByrd

### Changed
- [Refactor project files to replace Paket with NuGet for package management](https://github.com/TheAngryByrd/MiniScaffold/commit/8fac2a5) from @TheAngryByrd
- [Update NuGet publish references in tests to use DotNet.nugetPush](https://github.com/TheAngryByrd/MiniScaffold/commit/ab9e1ed) from @TheAngryByrd
- [Optimize SourceLink to only run on Release builds to prevent incremental build breakage](https://github.com/TheAngryByrd/MiniScaffold/pull/306) from @TheAngryByrd
- [Run FsharpFormat once per TFM](https://github.com/TheAngryByrd/MiniScaffold/pull/308) from @TheAngryByrd
- [Refactor project files to enhance package management and build quality settings](https://github.com/TheAngryByrd/MiniScaffold/pull/309) from @TheAngryByrd
- [Re-enable F# analyzers in Library and Console templates](https://github.com/TheAngryByrd/MiniScaffold/pull/310) from @TheAngryByrd
- [Update .gitattributes with comprehensive best practices for .NET projects](https://github.com/TheAngryByrd/MiniScaffold/pull/311) from @TheAngryByrd
- [Prepare for .NET 10: update TFMs, workflows, and infrastructure](https://github.com/TheAngryByrd/MiniScaffold/pull/315) from @TheAngryByrd
- [Convert .sln to .slnx](https://github.com/TheAngryByrd/MiniScaffold/pull/316) from @TheAngryByrd
- [Update Library_Output.md to reflect current template file structure](https://github.com/TheAngryByrd/MiniScaffold/pull/317) from @TheAngryByrd
- [Move template AssemblyInfo generation from FAKE files to MSBuild pack-time metadata](https://github.com/TheAngryByrd/MiniScaffold/pull/320) from @TheAngryByrd