https://github.com/elsa-workflows/elsa-templates
.NET solution templates for getting started with Elsa quickly.
https://github.com/elsa-workflows/elsa-templates
Last synced: 26 days ago
JSON representation
.NET solution templates for getting started with Elsa quickly.
- Host: GitHub
- URL: https://github.com/elsa-workflows/elsa-templates
- Owner: elsa-workflows
- License: mit
- Created: 2026-05-26T22:38:50.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-26T23:58:59.000Z (about 1 month ago)
- Last Synced: 2026-05-27T00:19:12.386Z (about 1 month ago)
- Language: C#
- Size: 35.2 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Roadmap: docs/roadmap.md
Awesome Lists containing this project
README
# Elsa Templates
`elsa-templates` provides .NET solution templates for getting started with Elsa quickly.
## Version Policy
The `main` branch targets the latest stable Elsa release. At repository creation time this is Elsa `3.7.0`.
Version-specific branches may target exact stable or preview versions, for example:
- `3.7.0`
- `3.8.0-preview`
- `3.8.0-preview.1234`
## Planned Templates
- `elsa-server`: Elsa Server with selectable feature model and EF Core persistence provider.
- `elsa-studio`: Elsa Studio with selectable Blazor hosting model, authentication provider, and optional Labels module.
- `elsa-combined`: Elsa Server and Elsa Studio in one solution with selectable server feature model, persistence provider, Studio hosting model, Studio authentication provider, and optional Labels module.
## Install From NuGet
Stable template packages are published to NuGet.org:
```bash
dotnet new install Elsa.Templates
```
## Install From Preview Feed
Preview template packages are published to the Elsa preview feed. Install a preview version by passing the feed URL as an additional source and specifying the preview version:
```bash
dotnet new install Elsa.Templates@ --add-source https://f.feedz.io/elsa-workflows/elsa-3/nuget/index.json
```
For example: `Elsa.Templates@3.8.0-preview.1234`.
To make the preview feed available for package restore as well, add it to your `NuGet.config` next to the main NuGet feed:
```xml
```
## Install From Source
```bash
dotnet pack src/Elsa.Templates/Elsa.Templates.csproj
dotnet new install artifacts/package/release/Elsa.Templates.*.nupkg
```
## Usage
Create an Elsa Server using static feature registration:
```bash
dotnet new elsa-server -n MyElsaServer --feature-model static
```
Create an Elsa Server using CShells:
```bash
dotnet new elsa-server -n MyElsaServer --feature-model shell
```
Create an Elsa Server using a different EF Core persistence provider:
```bash
dotnet new elsa-server -n MyElsaServer --persistence sqlite
dotnet new elsa-server -n MyElsaServer --persistence sqlserver
dotnet new elsa-server -n MyElsaServer --persistence postgresql
dotnet new elsa-server -n MyElsaServer --persistence oracle
```
Create an Elsa Studio solution:
```bash
dotnet new elsa-studio -n MyElsaStudio --hosting server
dotnet new elsa-studio -n MyElsaStudio --hosting wasm
dotnet new elsa-studio -n MyElsaStudio --hosting hybrid
```
Configure Studio authentication and optional modules:
```bash
dotnet new elsa-studio -n MyElsaStudio --auth-provider elsa-identity
dotnet new elsa-studio -n MyElsaStudio --auth-provider open-id-connect
dotnet new elsa-studio -n MyElsaStudio --auth-provider elsa-login --with-labels
```
Create a combined Elsa Server + Studio solution:
```bash
dotnet new elsa-combined -n MyElsaApp --feature-model static --studio-hosting server
dotnet new elsa-combined -n MyElsaApp --feature-model shell --studio-hosting wasm
dotnet new elsa-combined -n MyElsaApp --feature-model shell --studio-hosting hybrid --persistence postgresql --auth-provider open-id-connect --with-labels
```
Hybrid Studio output includes a host project and a WASM client project. The generated host reads `Studio:HostingModel` from configuration so the runtime can start Studio as `Server` or `Wasm`.
The stable `3.7.0` template package exposes only options that restore and build against stable Elsa packages. Preview-only Studio modules and the current MySQL EF provider are intentionally not exposed from `main`.
## Verification
The smoke tests pack the template package, install it into an isolated template hive, generate every supported option combination, and build the generated outputs.
```bash
dotnet test test/Elsa.Templates.Tests/Elsa.Templates.Tests.csproj
```
## Development
See [Roadmap](docs/roadmap.md) and [Tasks](docs/tasks.md).