Kuestenlogik.Bowline.Templates
0.9.4
Prefix Reserved
dotnet new install Kuestenlogik.Bowline.Templates@0.9.4
Bowline.Templates
dotnet new templates for scaffolding Bowline protocol plugins.
Will be published to nuget.org as Kuestenlogik.Bowline.Templates once the accompanying Kuestenlogik.Bowline SDK is public; NuGet version / download badges are added at that point.
Install
dotnet new install Kuestenlogik.Bowline.Templates
Available templates
| Template | Short name | Docs |
|---|---|---|
| Bowline Protocol Plugin | bowline-plugin |
docs/BowlinePluginTemplate.md |
Quickstart
dotnet new bowline-plugin -n Contoso.Bowline.Protocol.Foo
cd Contoso.Bowline.Protocol.Foo
dotnet test
See docs/BowlinePluginTemplate.md for the full parameter list and what the generated scaffold does. --ProjectOnly true emits just the two csprojs (no solution, no build props) for dropping into an existing monorepo.
Uninstall
dotnet new uninstall Kuestenlogik.Bowline.Templates
Developing this repo
Bowline.Templates/
├── Kuestenlogik.Bowline.Templates.csproj # template pack project
├── RELEASE_NOTES.md # single source of truth for version + changelog
├── build.ps1 # injects RELEASE_NOTES into the csproj before pack
├── nuget.config # nuget.org + local Bowline feed
├── docs/ # per-template markdown docs
├── scripts/ # dev + CI helpers
│ ├── install-dev-templates.ps1 # local dev loop: pack + uninstall + install
│ ├── test-templates.ps1 # smoke-test both template variants
│ ├── getReleaseNotes.ps1
│ └── bumpVersion.ps1
└── src/
└── bowline-plugin/ # template source
├── .template.config/
├── src/Bowline.Plugin1/
└── tests/Bowline.Plugin1.Tests/
Local dev loop:
./scripts/install-dev-templates.ps1
# -> produces bin/Release/Kuestenlogik.Bowline.Templates.<version>.nupkg and installs it
Run the same smoke tests CI runs:
./scripts/test-templates.ps1 -BowlineSdkVersion 0.9.4 -Install
-Install packs and installs the template from the current sources before
running the smoke tests. Leave it off if you already ran
install-dev-templates.ps1 separately.
The -BowlineSdkVersion parameter pins Kuestenlogik.Bowline to a local Prerelease package (check C:\Projekte\KL\Bowline\artifacts\packages\ for the latest build). Omit it to use whatever is published to nuget.org.
License
Apache 2.0 — see LICENSE.
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 |
|---|
* Initial release.
* Scaffolds a Bowline protocol plugin with `IBowlineProtocol` stub, `.slnx` solution, xunit tests, and optional GitHub Actions CI.
* `--IncludeDuplexChannel` flag scaffolds a full `IBowlineChannel` echo demo for bidirectional/duplex protocols.
* `--Preset none|rest|mqtt|websocket|grpc|signalr` pre-fills `DiscoverAsync`/`InvokeAsync` with transport-specific starter code (HTTP+OpenAPI probe; MQTTnet connect+publish; ClientWebSocket roundtrip; GrpcChannel connect; SignalR HubConnection invoke).
* `--IncludeIntegrationTests` scaffolds a second test project that hosts the plugin inside an ASP.NET Core `TestServer` and exercises the real Bowline HTTP API.
* `--ProtocolId` is lowercased and stripped to `[a-z0-9_-]` automatically.
* `--IconSvg` parameter embeds custom SVG markup in the generated `IconSvg` property (default keeps the current circle demo).
* `--Minimal` shortcut combines `ProjectOnly=true + IncludeCI=false + IncludeIntegrationTests=false` for the smallest possible output.