Focused usage guidance for each package in src. Pick the page that matches the layer you are wiring up; the Getting Started guide shows how they fit together.
- Vulthil.Results –
Result<T>andErrorfor explicit success/failure flows without exceptions. - Vulthil.SharedKernel – entity, aggregate root, and domain event primitives.
- Vulthil.SharedKernel.Application – commands, queries, handlers, FluentValidation integration, and pipeline behaviors.
- Vulthil.SharedKernel.Infrastructure –
BaseDbContext, generic repository, and outbox composition entry point. - Vulthil.SharedKernel.Outbox – the EF-free transactional outbox engine (relay, dispatchers,
IOutboxStoreseam). - Vulthil.SharedKernel.Outbox.EntityFrameworkCore – the EF Core implementation of the outbox engine.
- Vulthil.SharedKernel.Infrastructure.Relational – relational outbox store base and
MigrateAsyncfor EF Core providers. - Vulthil.SharedKernel.Infrastructure.Npgsql –
UseNpgsqlprovider wiring with PostgreSQL-tuned outbox. - Vulthil.SharedKernel.Infrastructure.MySql –
UseMySqlprovider wiring with MySQL-tuned outbox. - Vulthil.SharedKernel.Infrastructure.Cosmos –
UseCosmosDbprovider wiring with Cosmos-specific outbox.
- Vulthil.SharedKernel.Api – minimal API endpoint conventions and
Result→ HTTP mapping.
- Vulthil.Extensions.Hosting –
IRestartableHostedService, the marker for hosted services that can be paused and resumed cleanly.
- Vulthil.Messaging.Abstractions – transport-agnostic consumer and publisher contracts.
- Vulthil.Messaging – queue/consumer registration, hosted processing, and the transport-author SDK.
- Vulthil.Messaging.RabbitMq – RabbitMQ transport implementation.
- Vulthil.Messaging.Outbox – transactional bus-publish outbox bridging the outbox engine to the broker.
- Vulthil.Messaging.Inbox – idempotent-receiver consume filter (
IIdempotencyStorecontract). - Vulthil.Messaging.Inbox.EntityFrameworkCore – shared EF Core inbox primitives (
InboxMessage,ISaveInboxMessages). - Vulthil.Messaging.Inbox.Relational – relational idempotency store (transactional exactly-once).
- Vulthil.Messaging.Inbox.Cosmos – Cosmos idempotency store (effectively-once).
- Vulthil.xUnit – reusable xUnit base classes, auto-mocking, containers, and HTTP mocks.
- Vulthil.xUnit.Cosmos – Cosmos DB emulator fixture for
Vulthil.xUnit. - Vulthil.Messaging.TestHarness – in-memory messaging test harness.
- Vulthil.Extensions.Testing – framework-agnostic polling and HTTP response helpers.