
pragmatic-design/pragmatic.design
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
A .NET metaprogramming framework. Describe your domain; one source generator derives persistence, APIs, validation, authorization, and more. More intent. Less plumbing.
概要
One generator to rule them all, one generator to find them, one generator to bring them all, and at compile time bind them. 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 what would fail at runtime, and the code it writes into your project . Give your coding agent the Pragmatic skills from , then describe the application you want.
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-appasks 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 readsSKILL.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):
推奨ツール
別のキーワードを試すか、フィルタを外してください。
インストール
npx skillfish add pragmatic-design/pragmatic.design