PD

pragmatic-design/pragmatic.design

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

15 stars Качество 51 Тренд 29NOASSERTION

Структура метапрограммирования .NET. Опишите свой домен; один генератор источников получает персистентность, API, валидацию, авторизацию и многое другое. Больше намерений. Меньше сантехники.

Обзор

Один генератор, чтобы управлять ими всеми, один генератор, чтобы найти их, один генератор, чтобы привести их всех, и в собранное время связать их. Прагматично. Дизайн - это .NET 10 фреймворк для бизнес-программного обеспечения. Вы пишете то, что характерно для вашего бизнеса: организации, операции с ними, правила, которым они подчиняются. Генератор одного инкрементного источника пишет то, чего нет: персистентность, конечные точки HTTP, валидация, авторизация, события, кэширование, проводка DI, OpenAPI. Два генератора-компаньона идут дальше и пишут типизированный HTTP-клиент для вашего API и тестов его контракта. Это метапрограммирование времени компиляции для .NET. Работа, которую выполняют другие фреймворки во время выполнения, с отражением, прокси-серверами и сканированием сборки, происходит здесь, когда проект строит: генератор записывает простой C#, который вы можете прочитать в obj /, что выйдет из строя во время выполнения, и код, который он записывает в ваш проект. Дайте своему агенту по кодированию прагматические навыки, а затем опишите приложение, которое вы хотите.

Обзор (машинный перевод)

** Сайт** Документация ** Пакеты** ** Агентские навыки**

Один генератор, чтобы управлять ими всеми, один генератор, чтобы найти их. Один генератор, чтобы привести их всех и в собранное время связать их.

** Опишите свой домен. Один генератор источника пишет приложение вокруг него.

Прагматично. Дизайн - это .NET 10 фреймворк для бизнес-программного обеспечения. Вы пишете, что конкретно Ваш бизнес: организации, операции с ними, правила, которым они подчиняются. Единый инкрементный источник Генератор пишет то, чего нет: настойчивость, конечные точки HTTP, валидация, авторизация, события, кэширование, DI проводка, OpenAPI. Два генератора-компаньона идут дальше и пишут типизированный HTTP-клиент для вашего API. испытания своего контракта.

Это метапрограммирование времени компиляции для .NET. Работа, которую выполняют другие фреймворки во время выполнения, с отражением, Прокси и сборочное сканирование, происходит здесь, пока проект строит: генератор пишет простой C# Вы можете прочитать в obj/, он ** опровергает во время компиляции** то, что выйдет из строя во время выполнения, и код его Записывайте в свой проект ** это ваш **.

[!TIP] Начните с вашего агента. Дайте своему агенту по кодированию прагматические навыки

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

Pragmatic.Design

Website · Documentation · Packages · Agent skills

One generator to rule them all, one generator to find them, one generator to bring them all, and at compile time bind them.

Describe your domain. One source generator writes the application around it.

Pragmatic.Design is a .NET 10 framework for line-of-business software. You write what is specific to your business: entities, the operations on them, the rules they obey. A single incremental source generator writes what is not: persistence, HTTP endpoints, validation, authorization, events, caching, DI wiring, OpenAPI. Two companion generators go further, and write a typed HTTP client for your API and the tests of its contract.

It is compile-time metaprogramming for .NET. The work other frameworks do at runtime, with reflection, proxies and assembly scanning, happens here while the project builds: the generator writes plain C# you can read in obj/, it refuses at compile time what would fail at runtime, and the code it writes into your project is yours.

[!TIP] Start here with your agent. Give your coding agent the Pragmatic skills from pragmatic-design/skills, then describe the application you want. pragmatic-new-app asks what it needs (the bounded contexts, who calls the API, whether rows belong to a tenant, which capabilities) and scaffolds the solution from the packages. The skills install as a plugin in Claude Code and Codex and work in any agent that reads SKILL.md; Build with an agent has the steps for each.

Writing the code yourself: Installation.


One declaration, a whole slice

This is a real entity from the Showcase, a hotel-booking reference application (abridged; the comments are added here):

Открыть полный README на GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add pragmatic-design/pragmatic.design
Новичок в MCP? Начните с руководства на mcpskill.org →