An opinionated template for creating Umbraco packages hosted on Github.
-
A basic understanding of NuGet package development
- A NuGet API key - Create an API key
-
A git repository on GitHub
- Your repository name must match the project name e.g.
Demo.Package
- GitHub Action Secret -
NUGET_API_KEY
with your NuGet API key
- Your repository name must match the project name e.g.
-
Install template
dotnet new install jcdcdev.Umbraco.PackageTemplate
-
Create new project
dotnet new jcdcdev-umb-package -o Demo.Package --ghUsername jcdcdev --title "My Demo Package" --description "An empty Umbraco package" --addClient
- Open Visual Studio
- Create a new project
- Search for
jcdcdev-umb-package
- Click
Next
- Fill in the project title, description, and other details
- Click
Create
-
Open project in your IDE
-
Build and run project
-
Congratulations! You have created an empty Umbraco package 🎉
Now you can implement your package features.
- Update
README.md
with your package details - Update
README_nuget.md
with your package details - Update
umbraco-marketplace.json
with your package details
- Push your code to GitHub
- Create a pull request into the
main
branch - Merge the pull request
- A new release will be created
Long Name | Short Name | Description | Datatype | Default Value | Required |
---|---|---|---|---|---|
ghUsername | u | GitHub Username - Used for generating Package, Author, Documentation & Issues URLs | string | Yes | |
title | t | Package Title - Used for generating NuGet package title | string | Yes | |
description | d | Package Description - Used for generating NuGet package description and README.md | string | Yes | |
authorName | an | Package Author - Used for generating NuGet Author and Copyright | string | No | |
authorDescription | ad | Package Author Description - Used for umbraco-marketplace.json | string | No | |
authorUrl | au | Package Author URL - Used for umbraco-marketplace.json | string | https://github.com/ghUsername |
No |
authorImageUrl | aiu | Package Author Image URL - Used for umbraco-marketplace.json | string | https://github.com/ghUsername.png |
No |
packageType | pt | Package Type - Used for umbraco-marketplace.json | choice | Package | No |
category | c | Package Category - Used for umbraco-marketplace.json | choice | Developer Tools | No |
addClient | ac | Includes a client project for the package (Lit.js & TypeScript) | bool | false | No |
The solution includes a test site for testing your package features.
On first boot the test site will:
- Create a SQLite database
- Create an admin user
- Username:
admin@example.com
- Password:
1234567890
- Username:
- Run a uSync import to add starter content
Contributions to this package are most welcome! Please read the Contributing Guidelines.
- LottePitcher - opinionated-package-starter