{"id":18024338,"url":"https://github.com/egvijayanand/winui-templates","last_synced_at":"2025-03-27T00:31:01.756Z","repository":{"id":103339092,"uuid":"565980448","full_name":"egvijayanand/winui-templates","owner":"egvijayanand","description":"WinUI 3 CLI Templates","archived":false,"fork":false,"pushed_at":"2024-09-17T09:52:02.000Z","size":1114,"stargazers_count":13,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-09-17T12:18:18.245Z","etag":null,"topics":["cli","client","desktop","library","msix","template","windows","windows-app-sdk","winui","winui3"],"latest_commit_sha":null,"homepage":"https://egvijayanand.in/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/egvijayanand.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-14T18:18:06.000Z","updated_at":"2024-09-17T09:45:14.000Z","dependencies_parsed_at":"2024-05-31T18:56:17.840Z","dependency_job_id":"48881589-0da3-4b13-ba57-7e8117783f02","html_url":"https://github.com/egvijayanand/winui-templates","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egvijayanand%2Fwinui-templates","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egvijayanand%2Fwinui-templates/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egvijayanand%2Fwinui-templates/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egvijayanand%2Fwinui-templates/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/egvijayanand","download_url":"https://codeload.github.com/egvijayanand/winui-templates/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222178383,"owners_count":16943759,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","client","desktop","library","msix","template","windows","windows-app-sdk","winui","winui3"],"created_at":"2024-10-30T07:12:37.031Z","updated_at":"2025-03-27T00:31:01.743Z","avatar_url":"https://github.com/egvijayanand.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"### CLI Project and Item Templates for developing WinUI 3 based Windows Desktop Apps\n\nJoin me on [**Developer Thoughts**](https://egvijayanand.in/ \"Developer Thoughts\"), an exclusive blog for .NET MAUI and Blazor.\n\n#### Package Status:\n\n|Channel|Version|\n|:---:|:---:|\n|Stable|[![VijayAnand.WinUITemplates - NuGet Package](https://badgen.net/nuget/v/VijayAnand.WinUITemplates/?icon=nuget\u0026foo=bar)](https://www.nuget.org/packages/VijayAnand.WinUITemplates/ \"WinUI CLI Templates (Stable)\")|\n\u003c!--\n|Preview|[![VijayAnand.WinUITemplates - NuGet Package](https://badgen.net/nuget/v/VijayAnand.WinUITemplates/latest?icon=nuget)](https://www.nuget.org/packages/VijayAnand.WinUITemplates/absoluteLatest \"WinUI CLI Templates (Preview)\")|\n--\u003e\n\n\u003c!-- CLI project template for developing `WinUI 3` App and Class Library and is named as `winui` and `winuilib` respectively. --\u003e\n\n#### Install Package:\n\nTo install the template NuGet package, use the below .NET CLI command:\n\nLatest stable version:\n\n```shell\ndotnet new install VijayAnand.WinUITemplates\n```\n\n\u003c!--\nLatest preview version:\n\n```shell\ndotnet new install VijayAnand.WinUITemplates::2.2.0-preview.4\n```\n--\u003e\n\nIf you've already installed this package, then it can be updated to the latest version with the below command:\n\n```shell\ndotnet new update --check-only\n```\n\n```shell\ndotnet new update\n```\n\n#### Templates Included\n\n|Item|Template Name|Type|\n|:---:|:---:|:---:|\n|WinUI 3 App|winui|Project|\n|WinUI 3 Blazor App|winui-blazor|Project|\n|WinUI 3 Class Library|winuilib|Project|\n|WinUI 3 Page|winui-page|Item|\n|WinUI 3 UserControl|winui-usercontrol|Item|\n|WinUI 3 Window|winui-window|Item|\n\nAll three project templates takes the target framework as an input parameter, can be specified with `--framework` / `-f`.\n\nAnd the supported values are:\n\n* net8.0\n* net9.0 *(the default value)*\n* net10.0\n\nNote: The default value for the framework parameter remains as `net9.0` (the latest stable channel), which means to create a project for .NET 10 (the preview channel), an explicit value of `net10.0` is to be passed.\n\nAll three project templates take the below optional parameter to include the officially supported [CommunityToolkit.Mvvm](https://www.nuget.org/packages/CommunityToolkit.Mvvm) NuGet package.\n\n* `-imt` | `--include-mvvm-toolkit` - Default value is `false`\n\nBoth the **App** project takes another optional parameter thus allowing it to be created as MVVM supported solution using the same Microsoft MVVM Toolkit.\n\n* `-mvvm` | `--use-mvvm` - Default value is `false`\n\nStarting with [v3.1.0](https://www.nuget.org/packages/VijayAnand.WinUITemplates/3.1.0), all three project templates take the below optional parameter support NuGet's Central Package Management (CPM) feature.\n\n* `-cpm` | `--central-pkg-mgmt` - Default value is `false`\n\nStarting with [v3.3.0](https://www.nuget.org/packages/VijayAnand.WinUITemplates/3.3.0), added the ability to use the NuGet Central Package Management (CPM) feature within Visual Studio IDE.\n\nStarting with [v3.4.0](https://www.nuget.org/packages/VijayAnand.WinUITemplates/3.4.0), introduced an option to support the XML-based solution file (slnx) format.\n\n*This would be an explicit option since the SLNX feature is currently in the preview stage and is only supported on VS2022.*\n\nStarting with [v4.0.0](https://www.nuget.org/packages/VijayAnand.WinUITemplates/4.0.0), added another option (`net10.0`) to the `framework` parameter to support .NET 10 Previews and revamped the WinUI Blazor project template.\n\n* `-slnx` | `--use-slnx` - Default value is `false`\n\n*Note: These options may also be combined.*\n\n\u003c!-- CLI item template for `WinUI 3` Page, UserControl, and Window and is named as `winui-page`, `winui-usercontrol`, and `winui-window` respectively. --\u003e\n\nUse the below .NET CLI command to create the projects out these template:\n\n#### WinUI 3 App:\n\n```shell\ndotnet new winui -n MyApp\n```\n\n.NET 8:\n```shell\ndotnet new winui -n MyApp -f net8.0\n```\n\n.NET 10 Preview:\n```shell\ndotnet new winui -n MyApp -f net10.0\n```\n\nMVVM based solution:\n```shell\ndotnet new winui -n MyApp -mvvm\n```\n\nOption to include only the MVVM NuGet package:\n```shell\ndotnet new winui -n MyApp -imt\n```\n\nOption to use the CPM feature:\n```shell\ndotnet new winui -n MyApp -cpm\n```\n\nOption to create the SLNX solution file:\n```shell\ndotnet new winui -n MyApp -slnx\n```\n\n#### Blazor Hybrid App:\n\n```shell\ndotnet new winui-blazor -n HybridApp\n```\n\n.NET 8:\n```shell\ndotnet new winui-blazor -n HybridApp -f net8.0\n```\n\n.NET 10 Preview:\n```shell\ndotnet new winui-blazor -n HybridApp -f net10.0\n```\n\nMVVM based solution:\n```shell\ndotnet new winui-blazor -n HybridApp -mvvm\n```\n\nOption to include only the MVVM NuGet package:\n```shell\ndotnet new winui-blazor -n HybridApp -imt\n```\n\nOption to use the CPM feature:\n```shell\ndotnet new winui-blazor -n HybridApp -cpm\n```\n\nOption to create the SLNX solution file:\n```shell\ndotnet new winui-blazor -n HybridApp -slnx\n```\n\n#### Library:\n\n```shell\ndotnet new winuilib -n MyLib\n```\n\n.NET 8:\n```shell\ndotnet new winuilib -n MyLib -f net8.0\n```\n\n.NET 10 Preview:\n```shell\ndotnet new winuilib -n MyLib -f net10.0\n```\n\nOption to include only the MVVM NuGet package:\n```shell\ndotnet new winuilib -n MyLib -imt\n```\n\nOption to use the CPM feature:\n```shell\ndotnet new winuilib -n MyLib -cpm\n```\n\nOption to create the SLNX solution file:\n```shell\ndotnet new winuilib -n MyLib -slnx\n```\n\n#### Item Templates:\n\nUse the below .NET CLI command to create the items out these template:\n\nAll these item templates require one mandatory parameter:\n\n* `-n` | `--name` - Name of the item\n\nAuto suffixing of the Type name is supported for the files created with the `Page` and `Window` item templates.\n\nPage:\n```shell\ndotnet new winui-page -n Order\n```\n\nUserControl:\n```shell\ndotnet new winui-usercontrol -n CardView\n```\n\nWindow:\n```shell\ndotnet new winui-window -n Home\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegvijayanand%2Fwinui-templates","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fegvijayanand%2Fwinui-templates","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegvijayanand%2Fwinui-templates/lists"}