Flowly.Templates
1.2.0
dotnet new install Flowly.Templates@1.2.0
Flowly.Templates
Project templates for scaffolding Flowly-based .NET applications.
Installation
dotnet new install Flowly.Templates
Templates
flowlyapp — Scaffold a complete send/receive solution
Generates a full solution with a Messages contracts library, a Sender, and a Receiver — the fastest way to get a working Flowly app running locally. Matches the quickstart guides exactly, including docker-compose.yml and sbconfig.json for Azure Service Bus.
dotnet new flowlyapp --transport <transport> [options] -n <SolutionName>
Transport (required)
| Value | Alias | Transport |
|---|---|---|
rabbitmq |
rmq |
RabbitMQ |
azureservicebus |
asb |
Azure Service Bus |
inmemory |
inm |
In-Memory (no broker) |
Features (optional)
| Flag | Alias | Description |
|---|---|---|
--jobtracking |
--jobs |
Add job state tracking. Adds ProcessJobMessage, ProcessJobHandler, JobSubmitterService, and a dedicated JobTracker infrastructure project. Requires a DB flag. Not applicable to InMemory (job state runs in App). |
--deadlettertracking |
--deadletter |
Add dead-letter tracking. Adds DeadLetterSampleMessage, DeadLetterSampleMessageHandler with [RetryPolicy], and FailingMessageSenderService. Requires a DB flag. |
Database backend (required when --jobs or --deadletter is used)
| Flag | Database |
|---|---|
--sqlserver |
SQL Server |
--postgres |
PostgreSQL |
--sqlite |
SQLite |
Examples
# Full RabbitMQ solution
dotnet new flowlyapp --transport rabbitmq -n MyApp
# Full Azure Service Bus solution (includes sbconfig.json)
dotnet new flowlyapp --transport asb -n MyApp
# Single-project InMemory solution (no broker required)
dotnet new flowlyapp --transport inm -n MyApp
# RabbitMQ with job tracking (SQLite) and dead-letter tracking
dotnet new flowlyapp --transport rabbitmq --jobs --deadletter --sqlite -n MyApp
# ASB with job tracking (SQL Server) — SQL Server is already in docker-compose
dotnet new flowlyapp --transport asb --jobs --sqlserver -n MyApp
# InMemory with both features (SQLite)
dotnet new flowlyapp --transport inm --jobs --deadletter --sqlite -n MyApp
What's generated
RabbitMQ / Azure Service Bus (baseline):
MyApp/
├── MyApp.slnx
├── Messages/ ← shared message contracts (MyMessage.cs)
├── Sender/ ← WebApplication; sends a message every second
├── Receiver/ ← worker; receives and prints messages
├── docker-compose.yml ← RabbitMQ or ASB emulator (+ SQL Server / Postgres when --sqlserver / --postgres)
└── sbconfig.json ← ASB only: emulator queue config
With --jobs, JobTracker/ is added and ProcessJobMessage.cs / ProcessJobHandler.cs / JobSubmitterService.cs are included in the respective projects. With --deadletter, DeadLetterSampleMessage.cs / DeadLetterSampleMessageHandler.cs / FailingMessageSenderService.cs are added.
InMemory:
MyApp/
├── MyApp.slnx
└── App/ ← single worker; sends and receives in-process (+ DB tracking when --jobs / --deadletter)
After scaffolding, start the local infrastructure (RabbitMQ or ASB only, skip for SQLite):
docker compose up -d
Then run each project:
dotnet run --project Sender # or: dotnet run --project App
dotnet run --project Receiver
dotnet run --project JobTracker # only when --jobs
flowly — Scaffold a new Flowly project
dotnet new flowly --transport <transport> [options] -o <ProjectName>
Transport (required)
| Value | Alias | Transport |
|---|---|---|
rabbitmq |
rmq |
RabbitMQ |
azureservicebus |
asb |
Azure Service Bus |
inmemory |
inm |
In-Memory (no broker) |
Pass via --transport <value>, e.g. --transport rabbitmq or --transport asb.
Features (optional)
| Flag | Alias | Description |
|---|---|---|
--jobtracking |
--jobs |
Add job state tracking. Requires a DB flag. |
--deadlettertracking |
--deadletter |
Add dead-letter tracking. Requires a DB flag. |
--opentelemetry |
--otel |
Add Flowly.OpenTelemetry metrics and tracing. Wires up builder.AddFlowlyOpenTelemetry(). |
--inline |
Wire Flowly inline in Program.cs instead of a config class. | |
--no-http |
Configure as a worker service with no HTTP listener. Use for projects that only process queue messages. |
Database backend (required when --jobs or --deadletter is used)
| Flag | Database |
|---|---|
--sqlserver |
SQL Server |
--postgres |
PostgreSQL |
--sqlite |
SQLite |
Examples
# Minimal RabbitMQ receiver
dotnet new flowly --transport rabbitmq -o Receiver
# Queue-only worker (no HTTP listener)
dotnet new flowly --transport rabbitmq --no-http -o Worker
# Azure Service Bus with job tracking (SQL Server) and dead-letter tracking
dotnet new flowly --transport asb --jobs --sqlserver --deadletter -o Processor
# InMemory with all features, inline wiring
dotnet new flowly --transport inm --jobs --sqlite --deadletter --otel --inline -o TestWorker
What's generated
<ProjectName>.csproj— with the correct Flowly package references for your chosen transport and featuresProgram.cs— minimal ASP.NET Core entry pointFlowlyConfiguration.cs— configuration class inheritingFlowly.Configuration(omitted when--inline)appsettings.json— base configurationappsettings.Development.json— development connection strings for your chosen transport and database
Notes
- Connection string names:
RabbitMQ,AzureServiceBus,FlowlyJobs,FlowlyDeadLetters - Migrations run automatically on startup by default — set
enableMigrations: falseto manage them externally - Each scaffolded project gets a randomly assigned HTTP port (5000–5300) and HTTPS port (7000–7300), so multiple projects created from the template do not collide
flowlymessagelib — Scaffold a Flowly message contracts library
Creates a class library pre-wired with Flowly for holding shared message contracts. Reference this project from both your sender and receiver services.
dotnet new flowlymessagelib -o <ProjectName>
Options
| Flag | Alias | Description |
|---|---|---|
--jobtracking |
--jobs |
Add a Flowly.Jobs dependency and a MyJobMessage.cs starter file. |
Examples
# Minimal contracts library
dotnet new flowlymessagelib -o MyApp.Contracts
# Contracts library with job message support
dotnet new flowlymessagelib --jobs -o MyApp.Contracts
What's generated
<ProjectName>.csproj— class library targetingnet10.0with aFlowlypackage reference (andFlowly.Jobswhen--jobsis specified)MyMessage.cs— a starterrecord MyMessage(string Description)in the project's namespaceMyJobMessage.cs— a starterrecord MyJobMessageimplementingIJobMessage(only when--jobsis specified)
flowlyskills — Install Flowly Claude Code skills
Drops Flowly AI skills for Claude Code into .claude/skills/ in the current directory. Run this from your repository root so skills are available across all projects in the repo.
dotnet new flowlyskills
No options or project name required. The skills teach Claude Code how to scaffold message handlers, recurring jobs, contracts assemblies, and configure Flowly transports.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.0 | 105 | 5/27/2026 |