一键导入
myth
myth 收录了来自 paulaolileal 的 13 个 skills,并提供仓库级职业覆盖和站内 skill 详情页。
这个仓库中的 skills
Complete guide for using the Myth .NET ecosystem - enterprise-grade libraries for building scalable applications with SOLID principles, clean architecture, CQRS, validation, pipelines, and DDD patterns
Use when you need CQRS and event-driven architecture. IDispatcher handles DispatchCommandAsync<T>(), DispatchQueryAsync<T,R>() with optional caching, and PublishEventAsync<T>(). IEventBus supports InMemory, RabbitMQ, and Kafka brokers. Handlers implement ICommandHandler<T>/IQueryHandler<T,R>/IEventHandler<T>, are registered as Scoped, and inject repositories directly. Requires Myth.Flow.
Use when you need to orchestrate data processing pipelines. Pipeline.Start(ctx) chains .Step()/.StepAsync()/.StepResultAsync(), .Tap()/.TapAsync() for side effects, .When() for conditional branches, and .Transform() for context type changes. Built-in Result<T> pattern, retry with exponential backoff, OpenTelemetry tracing, and per-step DI resolution.
Use when writing xUnit tests in the Myth ecosystem. BaseTests provides DI with AddService<T>()/ReplaceService<T>(), Faker (_faker) for test data, and configuration helpers. BaseDatabaseTests<TContext> adds EF Core In-Memory database with auto setup/cleanup. Includes HTTP mocking, FluentAssertions extensions for API responses, and Moq.
Use when you need EF Core repository implementations. Provides ReadRepositoryAsync<T>, WriteRepositoryAsync<T>, and ReadWriteRepositoryAsync<T> base classes, plus BaseContext (auto-discovers IEntityTypeConfiguration<T>), IUnitOfWorkRepository for transactions/savepoints, and AddRepositories() for automatic DI registration.
Use when you need base Myth utilities: JSON serialization/deserialization with CamelCase/snake_case config, string manipulation, Value Objects with structural equality, Typed Constants (type-safe enum alternative), Pagination models, Global Service Provider for cross-library DI, and IScopedService<T> for scope management in singleton/hosted services.
Use when you need fluent, context-aware validation. Entities implement IValidatable<T> with ValidationBuilder<T> rules scoped to ValidationContextKey (Create, Update, Delete, etc.). Use Sentry.For() for standalone field validation, Validate.All() for parallel multi-value validation. IValidator.ValidateAsync() throws on failure; UseGuard() middleware returns RFC 9457 Problem Details responses.
Use when you need to map/transform objects between types (e.g. DTO to entity). Implement IMorphableTo<T> or IMorphableFrom<T> and use Schema<T>.Bind()/BindAsync()/Ignore() for custom mappings. Call .To<T>() and .ToAsync<T>() extension methods to execute transformations. Supports DI, async, collections, and bidirectional mapping.
Use when you need automatic service registration via assembly scanning. TypeProvider gives access to all application assemblies and types. AddServiceFromType<T>() auto-registers implementations by naming convention (IUserRepository → UserRepository). Supports Scoped, Transient, and Singleton lifetimes.
Use when you need to scaffold code via CLI. Commands: myth setup <ProjectName> for Clean Architecture structure; myth create model/command/query/event/dto/repository/controller/test <aggregate> <name> to generate production-ready Myth-integrated code. Uses Scriban templates. Install globally with: dotnet tool install -g Myth.Tool.
Use when defining repository contracts. Provides IReadRepositoryAsync<T>, IWriteRepositoryAsync<T>, and IReadWriteRepositoryAsync<T> interfaces with async-first, Specification-aware, and paginated operations. Interface-only library — concrete implementations are in Myth.Repository.EntityFramework.
Use when you need to make external HTTP calls. Rest.Create() builds requests fluently with .DoGet()/.DoPost()/.DoPut()/.DoDelete(), auto JSON serialization, retry policies (fixed, exponential backoff, jitter), circuit breaker, Bearer/Basic/certificate auth, file upload/download, and IHttpClientFactory integration. Supports named configurations for multiple API clients.
Use when you need to build reusable, composable database queries. SpecBuilder<T>.Create() chains .And()/.Or()/.Not()/.AndIf()/.OrIf() with Expression<Func<T,bool>>, plus .Order()/.OrderDescending(), .Skip()/.Take(), and .DistinctBy(). Translates to SQL via EF Core and also supports in-memory validation.