Loading...
Loading...
Create Revit plugin projects based on Saury.Revit.Template. Triggered when users request to create Revit plugins, new Revit projects, initialize Revit development environments, or use the saury-revit template. Covered scenarios: (1) Create new Revit plugin projects (2) Install/update saury-revit dotnet templates (3) Add new features (Command/View/ViewModel/Service) to existing projects. Keywords: Revit, plugin, saury-revit, dotnet new.
npx skill4agent add hopesy/skills saury-revitSaury.Revit.TemplateAcme.WallToolsJD.RevitHelperRevitDemoRevitTest2026--RevitVersionwhere dotnetdotnet --list-sdks8.0winget install Microsoft.DotNet.SDK.8where dotnet && dotnet --list-sdkswingetInvoke-WebRequest -Uri https://dot.net/v1/dotnet-install.ps1 -OutFile dotnet-install.ps1
./dotnet-install.ps1 -Channel 8.0# Check if already installed
dotnet new list saury-revitdotnet new install Saury.Revit.Templatedotnet new install Saury.Revit.Template --forcedotnet new saury-revit -n <Project Name> -o <Output Directory>| Parameter | Description | Example |
|---|---|---|
| Project Name (replaces all instances of | |
| Output Directory | |
| Revit Version (default 2026) | |
Saury.Revit.TemplateADDIN-GUID-PLACEHOLDER.template.config/bin/obj/.vs/Logs/*.user<Project Name>/
├── <Project Name>.slnx
└── <Project Name>/
├── Commands/AboutCommand.cs
├── Extensions/DataContextExtension.cs
├── Models/AboutInfo.cs
├── ViewModels/AboutViewModel.cs
├── Views/AboutView.xaml(.cs)
├── Resources/Icons/about.png
├── Resources/Styles/ButtonStyles.xaml
├── Services/Interfaces/
├── Application.cs
├── Host.cs
├── appsettings.json
├── <Project Name>.addin
└── <Project Name>.csprojcd <Output Directory>
dotnet restore
dotnet build --configuration Debug_R26Debug_R26Release_R26DebugReleaseC:\ProgramData\Autodesk\Revit\Addins\2026\<Project Name>.csprojStartProgram<StartProgram>C:\Program Files\Autodesk\Revit 2026\Revit.exe</StartProgram>If Revit is installed in a non-default path, modify it to the actual path.
<Project Name>.slnxDebug_R26Debug<Project Name>.addinModels/AboutInfo.csModels/ViewModels/ObservableObjectViews/Commands/[Transaction(TransactionMode.Manual)]Host.csAddTransientCreateRibbonApplication.csDebugReleaseDebug_R26Release_R26newHost.GetService<T>()MessageBoxWindowappsettings.jsonIOptions<T>