All authors

Claude Skills by baoduy
github.com/baoduy13 skills0 installs4 views
- Dknet CodegenCovers DKNet.EfCore.DtoGenerator's [GenerateDto(typeof(Entity))] generator (Include/Exclude/IgnoreComplexType, DtoGeneratorExclusions, DtoGeneratorIgnoreComplexType, DKDTOGEN001-005) plus its RaisesEventValidator for [RaisesEvent] (DKRAISEVT001-011); and DKNet.SlimBus.Generators' CrudGenerator, turning [CrudCreate]/[CrudUpdate]/[CrudAction] (DKNet.EfCore.Abstractions.Attributes) into request records, IHandler<,> implementations and Map{Entity}Crud endpoints (DKCRUDGEN001-010). Use when a sour...Votes: 0GitHub stars: 6
- Dknet PackagesRoutes a .NET 10 DDD/Onion Architecture need to the right DKNet NuGet package and to the sibling skill that teaches it, without teaching any package's API in depth. Covers which DKNet.* package to `dotnet add package`, the canonical Program.cs wiring order for a new API (AddDbContextWithHook, AddSpecRepo, AddEventPublisher/AddSlimBusEventPublisher, AddSlimBusEfCoreInterceptor, AddIdempotencyWithRedisStore/MsSqlStore/NpgsqlStore, UseEndpointConfigs), the four DI registration conventions, the o...Votes: 0GitHub stars: 6
- Dknet TestingCovers testing app code that consumes DKNet NuGet packages, and testing inside the DKNet repo. Consumer side - Testcontainers.MsSql/PostgreSql with the ProcessArchitecture.Arm64 -> azure-sql-edge fallback (Apple Silicon only); Microsoft.Data.Sqlite in-memory for hook/event/audit-log DbContext tests; asserting IRepositorySpec/Specification<TEntity> and PredicateBuilder.DynamicAnd/.AsExpandable() predicates via ToQueryString() plus rows; testing IHookAsync, domain events, and IAuditLogPublisher...Votes: 0GitHub stars: 6
- Dknet Aspcore ApiCovers DKNet.AspCore.Extensions and DKNet.AspCore.Tasks. Use when writing an IEndpointConfig group, calling UseEndpointConfigs for minimal-API endpoint discovery and DKNet API versioning, mapping verbs with MapGet/MapPost/MapPut/MapPatch/MapDelete/MapPutById/MapActionById/MapParameterlessActionById, building a generic list endpoint with MapGetList/MapGetById/MapDeleteById plus PagedResponse and ListFilter, converting a FluentResults Result to ProblemDetails via .Response()/.Response<T>() or A...Votes: 0GitHub stars: 6
- Dknet Blob StorageCovers DKNet.Svc.BlobStorage.Abstractions, the .NET blob storage abstraction (IBlobService, BlobService, BlobRequest, BlobDetails.BlobData/BlobStreamData/BlobResult/BlobDataResult, BlobServiceOptions), plus its three providers: DKNet.Svc.BlobStorage.Local (AddLocalDirectoryBlobService, path-traversal-safe filesystem storage), DKNet.Svc.BlobStorage.AwsS3 (AddS3BlobService, AWS S3 and S3-compatible endpoints like MinIO and Cloudflare R2), and DKNet.Svc.BlobStorage.AzureStorage (AddAzureStorageA...Votes: 0GitHub stars: 6
- Dknet Core UtilitiesCovers DKNet.Fw.Extensions and DKNet.RandomCreator, the two dependency-light Core packages DKNet builds on. Fw.Extensions gives GetPropertyValue/SetPropertyValue/TrySetPropertyValue by dotted property path, IsImplementOf for open-generic type checks, TryConvertToEnum, enum [Display] attribute name lookup via GetEnumInfos<T>(), IsRegistered<T>()/IsRegisteredWithImplementation<T>() DI guards on IServiceCollection, and the lazy TypeExtractors assembly scanner to scan assemblies for types, e.g. E...Votes: 0GitHub stars: 6
- Dknet Efcore Data SecurityCovers DKNet.EfCore.DataAuthorization and DKNet.EfCore.Encryption. DataAuthorization gives a multi-tenant row filter over IOwnedBy entities via IDataOwnerProvider and IDataOwnerDbContext.AccessibleKeys, wired with AddDataOwnerProvider<TDbContext,TProvider>; the global query filter fails closed (empty AccessibleKeys denies, not allows) and a SaveChanges hook stamps OwnedBy. Encryption encrypts a column transparently by marking a string property [Encrypted], registering AddEfCoreEncryption<TKey...Votes: 0GitHub stars: 6
- Dknet Efcore Domain ModelCovers DKNet.EfCore.Abstractions, DKNet.EfCore.Extensions and DKNet.EfCore.Relational.Helpers: Entity<TKey>/Entity/AuditedEntity base classes, IConcurrencyEntity/ISoftDeletableEntity, GUID v7 keys, and the [RaisesEvent] declaration, [Sequence]/[SqlSequence], [AuditLog]/[SensitiveData] attributes; UseAutoConfigModel, IEntityTypeConfiguration discovery via DefaultEntityTypeConfiguration, global query filter (GlobalQueryFilter), data seeding, SQL sequences (NextSeqValue), SnapshotContext, SaveCh...Votes: 0GitHub stars: 6
- Dknet Efcore Save PipelineCovers DKNet.EfCore.Hooks, DKNet.EfCore.Events, and DKNet.EfCore.AuditLogs: the three SaveChangesAsync interceptors that stamp, dispatch, and audit around one EF Core write. APIs: AddDbContextWithHook, IBeforeSaveHookAsync/IAfterSaveHookAsync/IHookAsync/HookAsync, AddHook, DisableHooks, SnapshotContext (before/after SaveChanges hook, IHook wiring); AddEventPublisher, IEventPublisher, DefaultEventPublisher, AddEvent/AddEvent<TEvent>(), [RaisesEvent], EventOperations, EventException (domain eve...Votes: 0GitHub stars: 6
- Dknet Efcore SpecificationsCovers DKNet.EfCore.Specifications -- Specification<TEntity>/ModelSpecification<TEntity,TModel> (WithFilter, AddInclude, AddOrderBy/AddOrderByDescending, Skip/Take, AsNoTracking, IgnoreQueryFilters), the non-generic IRepositorySpec (Query, ToPagedListAsync, ToPageEnumerable, BulkDeleteAsync, SaveChangesAsync) via AddSpecRepo<TDbContext>(), IRepositorySpecFactory for background jobs, and the Dynamic Predicate Builder: PredicateBuilder.New<T>().DynamicAnd/DynamicOr(propertyName, Ops, value), As...Votes: 0GitHub stars: 6
- Dknet IdempotencyCovers DKNet.AspCore.Idempotency (the RequiredIdempotentKey endpoint filter on RouteHandlerBuilder/RouteGroupBuilder, AddIdempotentKey, IdempotencyOptions, IdempotentConflictHandling, key scope resolution) plus its store packages DKNet.AspCore.Idempotency.Relational (internal EF Core base, never referenced by apps), DKNet.AspCore.Idempotency.MsSqlStore (AddIdempotencyWithMsSqlStore), DKNet.AspCore.Idempotency.NpgsqlStore (AddIdempotencyWithNpgsqlStore), and DKNet.AspCore.Idempotency.RedisStor...Votes: 0GitHub stars: 6
- Dknet ServicesCovers DKNet.Svc.Encryption, DKNet.Svc.PdfGenerators, and DKNet.Svc.Transformation — three independent, explicitly-invoked .NET services. Encryption — AES-GCM encrypt string .NET, RSA sign verify, HMAC SHA hash helper, Base64/Base64URL, via AddAesGcmEncryption, AddRsaEncryption, AddEncryptionServices, IAesGcmEncryption, IRsaEncryption, IHmacHashing, IShaHashing. PdfGenerators — HTML to PDF, Markdown to PDF via PuppeteerSharp and Markdig, via AddPdfGenerator, IPdfGenerator, PdfGeneratorOptions...Votes: 0GitHub stars: 6
- Dknet Slimbus CqrsCovers DKNet.SlimBus.Extensions: the Fluents.Requests/Fluents.Queries/Fluents.EventsConsumers contracts (INoResponse, IWitResponse<T>, IWitPageResponse<T>, IHandler<,>, IWithKey<T>), NotFoundError, and FluentResults Result/IResultBase conventions inside a CQRS handler. Explains AddSlimBusEfCoreInterceptor's auto-SaveChanges-after-handler rule (why a CQRS handler calling SaveChangesAsync twice is wrong), AddSlimBusEventPublisher forwarding domain events onto the bus, and wiring SlimMessageBus ...Votes: 0GitHub stars: 6