myth

Consolidate Myth libraries into a single .NET toolkit for ASP.NET Core and Console apps.

3|1|Updated Jun 27, 2024
One-click install
npx skills add https://github.com/paulaolileal/myth --skill myth
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: myth
Source: https://github.com/paulaolileal/myth/tree/main
Command: npx skills add https://github.com/paulaolileal/myth --skill myth

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Myth provides a complete, enterprise-grade set of .NET libraries designed to help teams build robust, scalable applications using SOLID principles, clean architecture, CQRS, validation, pipelines, and DDD patterns.

Core Features & Use Cases

  • Myth.Commons: essential utilities, value objects, and global service provider management.
  • Myth.DependencyInjection: auto-discovery and convention-based service registration.
  • Myth.Flow: pipeline orchestration with Result pattern and OpenTelemetry integration.
  • Myth.Flow.Actions: CQRS and event-driven architecture with support for multiple message brokers.
  • Myth.Guard: fluent validation with context-aware rules and ASP.NET Core middleware.
  • Myth.Morph: schema-based object transformation and mapping.
  • Myth.Specification: query specification pattern for encapsulating business rules.
  • Myth.Repository: generic repository interfaces with read/write separation.
  • Myth.Repository.EntityFramework: EF Core implementations with Unit of Work.
  • Myth.Rest: fluent REST client with circuit breaker and retry policies.
  • Myth.Testing: testing utilities, mocks, and base test classes.
  • Myth.Tool: CLI tool for code generation with CQRS, DDD, and Clean Architecture patterns.

Quick Start

Use Myth to bootstrap an ASP.NET Core app by registering Flow, Guard, Morph, and optional Rest and Repository services, then call BuildApp() to initialize the global provider and wire up middleware. In a Console app, configure the Myth service collection, build a global provider, and reuse the provider across libraries for cross-library integration.

Quick Start (What you’ll need)

  • Add core Myth libraries to your project (Flow, Guard, Morph, Repository, Specification, etc.)
  • Register cross-library services in Startup/Program (AddFlow, AddGuard, AddMorph, etc.)
  • BuildApp() (for ASP.NET Core) or BuildWithGlobalProvider() (for Console apps)
  • Reference examples and patterns across CQRS, validation, and morphing

Frequently Asked Questions about myth

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up clean architecture and CQRS in an ASP.NET Core app?

To set up clean architecture and CQRS in an ASP.NET Core app, register Flow, Guard, Morph, and Repository services in Startup, then call BuildApp() to initialize the global provider and wire up middleware.

Can I use convention-based dependency injection and auto-discovery for .NET services?

Yes, you can use convention-based auto-discovery for .NET service registration by applying Myth.DependencyInjection to automatically wire up services without manual interface bindings.

What is the best way to implement the Result pattern with pipeline orchestration in .NET?

The Result pattern with pipeline orchestration is implemented in .NET using Myth.Flow, which orchestrates processes and integrates OpenTelemetry for monitoring within your application workflows.

Does Entity Framework Core work with separated read and write repositories for DDD?

Yes, Entity Framework Core supports separated read and write repositories for DDD through Myth.Repository.EntityFramework, providing generic repository interfaces alongside Unit of Work implementations.

How do I apply fluent validation rules with context-aware middleware in ASP.NET Core?

To apply fluent validation rules in ASP.NET Core, use Myth.Guard to enforce context-aware validation rules and automatically handle validation errors through its integrated middleware.

What is the best way to bootstrap a .NET Console app with global service provider access?

To bootstrap a .NET Console app, configure the Myth service collection and call BuildWithGlobalProvider() to reuse the provider across libraries for cross-library integration.