Thank you for your interest in redb.Route!
- Use GitHub Issues for bug reports
- Use GitHub Discussions for questions and feature requests
Please include:
- Package name and version (e.g.
redb.Route.Kafka 1.0.0-preview.1) - .NET version
- Transport / broker version where applicable (e.g. Kafka 3.6, RabbitMQ 3.13)
- Minimal route definition to reproduce the issue
- Expected vs actual behavior (including exception message and stack trace if any)
Open a Discussion with:
- Description of the feature
- Use case / motivation
- Example code showing the desired DSL or API (if applicable)
This repository contains the full source of redb.Route — the core engine, all transports, and adapter packages. Pull requests for bug fixes, documentation improvements, and new transport connectors are welcome.
- Fork the repository
- Create a branch:
git checkout -b fix/kafka-ack-handling - Make your changes (see guidelines below)
- Run existing tests if you have access to the required brokers
- Submit a Pull Request with a clear description
- Follow the existing code style — C# 12,
nullable enable,implicit usings - Use English for all code identifiers, XML doc summaries, and error messages
- Add
/// <summary>for all new public classes and methods - Do not use
dynamic— prefer concrete types and strong typing - Use LINQ where appropriate; avoid unnecessary nested loops
- Every new transport must implement
IComponentand register a URI scheme - Every new transport must have a fluent builder with
implicit operator string - New processors must implement
IProcessororIAsyncProcessor - Do not suppress
CS1591— every public member must have XML documentation
- Implements
IComponentand registers URI scheme - Has a fluent builder class (e.g.
MyTransportBuilder) withimplicit operator string - Has a
README.mdwith NuGet badge, Installation, Usage, Fluent Builder API table, and "Part of" footer - Headers use a consistent
redbXxx.prefix - Options class inherits from appropriate base (or standalone with XML docs)
- Registered via
AddRedbRouteXxx()extension onIServiceCollection
Use the format: type(scope): description
Examples:
fix(kafka): handle null message key in consumerfeat(s3): add server-side encryption optionsdocs(http): document named URL parameter binding
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.