csharp-rest
readyC#
ASP.NET Core + EF Core + PostgreSQL + JWT + Clean Architecture (core → domain → efcore → rest)
Each bridge is one layer in one axis: a thin certified core plus role layers on top. `extends` builds the chain, `--replace` swaps a layer — no forks, no N×M repositories.
C#
ASP.NET Core + EF Core + PostgreSQL + JWT + Clean Architecture (core → domain → efcore → rest)
C#
Thin language core — enum wire values, entity types, query schema
TypeScript
Thin language core — typed query DSL, permissions, wire values
TypeScript
Zod validation, JWT fetch client, per-entity CRUD (extends ts-core)
TypeScript
React glue (extends ts-client) — TanStack Query hooks, typed filters, auth
HTML
Admin panel with Alpine.js + 0build UIkit — CRUD for any REST backend
JSON
Appwrite schema: TablesDB + role teams + settings, deployed via the Appwrite CLI
Planned: csharp-dapper (persistence),csharp-grpc (transport) and vue-rest / svelte-rest (thin adapters over ts-client).
Resolve by registry ID, local path or GitHub shorthand. The CLI clones known bridges on demand into~/.domaincraft/bridges/.
# By registry ID domaincraft generate --domain domain.yaml --bridge csharp-rest # By local path domaincraft generate --domain domain.yaml --bridge ../domaincraft-bridge-csharp-rest # Swap one layer (Dapper persistence instead of EF Core) domaincraft generate --domain domain.yaml --bridge csharp-rest --replace persistence=csharp-dapper # With an admin panel (default admin-alpine) domaincraft generate --domain domain.yaml --bridge csharp-rest --admin
A bridge is just templates and a manifest — no Go code required. Append an entry to the core registry and write a bridge.yaml plus your templates.