Kuestenlogik.Bowire.Templates 1.1.0

Prefix Reserved
dotnet new install Kuestenlogik.Bowire.Templates@1.1.0
                    
This package contains a .NET Template Package you can call from the shell/command line.

Bowire.Templates

CI License

dotnet new templates for scaffolding Bowire protocol plugins.

Will be published to nuget.org as Kuestenlogik.Bowire.Templates once the accompanying Kuestenlogik.Bowire SDK is public; NuGet version / download badges are added at that point.

Install

dotnet new install Kuestenlogik.Bowire.Templates

Available templates

Template Short name Kind Docs
Bowire Protocol Plugin bowire-plugin project docs/BowirePluginTemplate.md
Bowire CLI command bowire-cli-cmd item adds an IBowireCliCommand scaffold (bowire <verb>)
Bowire mock emitter bowire-mock-emit item adds an IBowireMockEmitter scaffold (recording replay)

bowire-plugin is a project template — scaffolds a full plugin repo. The two item templates drop a single C# file into an existing Bowire-plugin project so you can wire in additional extension points without re-scaffolding.

Quickstart

# Full project scaffold
dotnet new bowire-plugin -n Contoso.Bowire.Protocol.Foo
cd Contoso.Bowire.Protocol.Foo
dotnet test

# Add a `bowire foo` CLI subcommand to that plugin
dotnet new bowire-cli-cmd -n FooCommand --Verb foo

# Add a recording-replay emitter to that plugin
dotnet new bowire-mock-emit -n FooMockEmitter --EmitterId foo

See docs/BowirePluginTemplate.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.Bowire.Templates

Developing this repo

Bowire.Templates/
├── Kuestenlogik.Bowire.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 Bowire 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/
    ├── bowire-plugin/              # project template (full plugin repo)
    │   ├── .template.config/
    │   ├── src/Bowire.Plugin1/
    │   └── tests/Bowire.Plugin1.Tests/
    ├── bowire-cli-cmd/             # item template — IBowireCliCommand scaffold
    │   ├── .template.config/
    │   └── MyCommand.cs
    └── bowire-mock-emit/           # item template — IBowireMockEmitter scaffold
        ├── .template.config/
        └── MyMockEmitter.cs

Local dev loop:

./scripts/install-dev-templates.ps1
# -> produces bin/Release/Kuestenlogik.Bowire.Templates.<version>.nupkg and installs it

Run the same smoke tests CI runs:

./scripts/test-templates.ps1 -BowireSdkVersion 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 -BowireSdkVersion parameter pins Kuestenlogik.Bowire to a local Prerelease package (check C:\Projekte\KL\Bowire\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
1.1.0 304 5/25/2026
1.0.1 293 5/2/2026

* New item template `bowire-cli-cmd` — scaffolds an `IBowireCliCommand` implementation that contributes a `bowire <verb>` subcommand. Drop into any plugin project that references `Kuestenlogik.Bowire.Cli`.
* New item template `bowire-mock-emit` — scaffolds an `IBowireMockEmitter` implementation that replays `BowireRecording` steps over a wire protocol. Matches the in-tree Kafka / AMQP / TacticalAPI emitter shape (binary-first payload precedence, `ReplaySpeed` + `Loop` honoured).
* `bowire-plugin` template's generated `Directory.Packages.props` floor bumped to Bowire 1.6.0 (was 1.5.0). Matches the current compatibility-matrix baseline.