Angelo.Scaffold
1.0.3
dotnet add package Angelo.Scaffold --version 1.0.3
NuGet\Install-Package Angelo.Scaffold -Version 1.0.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Angelo.Scaffold" Version="1.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Angelo.Scaffold" Version="1.0.3" />
<PackageReference Include="Angelo.Scaffold" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Angelo.Scaffold --version 1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Angelo.Scaffold, 1.0.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Angelo.Scaffold@1.0.3
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Angelo.Scaffold&version=1.0.3
#tool nuget:?package=Angelo.Scaffold&version=1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Angelo.Scaffold
Interactive scaffolding tool for Angelo.* packages.
Angelo.Scaffold provides a seamless way to scaffold files from Angelo packages into your project with smart merging capabilities, namespace adjustment, and an interactive terminal UI.
Installation
dotnet add package Angelo.Scaffold
Usage
Add a single line at the start of your Program.cs:
using Angelo.Scaffold.Extensions;
Scaffold.Enable();
var builder = WebApplication.CreateBuilder(args);
// ... rest of your code
When you run your app in Debug mode, a separate terminal window will open with the scaffolding interface.
Terminal Interface
Angelo Scaffold v1.0.0
╭──────────────────────────────────────────────────╮
│ Project MyWebApp │
│ Location C:\Projects\MyWebApp │
╰──────────────────────────────────────────────────╯
Select an action
> Scan for Angelo packages
Scaffold from package
View scaffold history
Re-scaffold (update)
Exit
Workflow
- Scan to discover installed Angelo packages with scaffold support
- Select a package to scaffold from
- Choose which files to scaffold
- Review diffs for existing files
- Confirm merges for special files (appsettings.json, DbContext, Program.cs)
Configuration
Scaffold.Enable(config =>
{
config.DebugModeOnly = true; // Only run in debug mode (default: true)
config.CreateBackups = true; // Backup files before overwriting (default: true)
config.TerminalTitle = "My Scaffold"; // Custom terminal window title
});
Alternative: WebApplicationBuilder Extension
var builder = WebApplication.CreateBuilder(args);
builder.UseAngeloScaffold();
// ... rest of your code
Features
- Auto-discovery - Automatically scans for installed Angelo.* packages with scaffold support
- 1:1 Folder Mapping - Scaffold files maintain their folder structure
- Smart Merging - Intelligently merges JSON configs, Program.cs, and DbContext files
- Namespace Adjustment - Automatically adjusts namespaces to match your project
- Version Tracking - Keeps track of what was scaffolded for easy updates
- Backups - Creates backups before overwriting files
- Diff Comparison - Shows differences before overwriting existing files
Merge Strategies
| File Type | Strategy | Behavior |
|---|---|---|
appsettings.json |
JSON Merge | Deep merges keys, preserves existing values |
Program.cs |
Roslyn Merge | Adds usings, services, and middleware at markers |
*DbContext.cs |
DbContext Merge | Adds DbSets and OnModelCreating configurations |
| All other files | Copy | Copies with namespace adjustment for .cs files |
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- DiffPlex (>= 1.9.0)
- Microsoft.CodeAnalysis.CSharp (>= 5.0.0)
- Microsoft.EntityFrameworkCore (>= 10.0.2)
- Newtonsoft.Json (>= 13.0.4)
- Spectre.Console (>= 0.54.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.