Stored procedure automation for .NET

Snapshot your database, generate typed clients, and keep .NET applications aligned with your stored procedures - no hand-written plumbing required.

Why teams choose xtraq

Focus on SQL-first architecture while shipping .NET clients that stay in sync with every schema change.

Stored procedure first

Respect existing database boundaries, permissions, and auditing while exposing a clean client surface.

Strongly typed artefacts

Generate inputs, outputs, and helpers that target .NET 10 by default while retaining .NET 8 compatibility.

JSON aware by design

Capture nested JSON payloads, table-valued parameters, and multi-result sets without manual parsing.

Fluent pipeline design

Compose policies, transactions, and streaming helpers without losing strongly typed procedures.

Transaction-aware orchestration

Reuse ambient EF connections or spin up savepoint-backed scopes with generated orchestrator wiring.

HTTP endpoint ready

Compose selector-based endpoints with ConfigureProcedure + ExecuteAsync while keeping your favourite MapGet/MapPost flows.

Get productive in minutes

Follow the guided flow to scaffold your generator project, warm the metadata cache, and ship typed clients.

What is Xtraq?

Quick overview of why Xtraq exists and which problems it solves.

Run the quickstart

Install, run xtraq, register services, and bring your first endpoint live.

{ "Deep dive": "Generator", "icon": "i-lucide-layers", "to": "/reference/generator-workflow" }

Snapshot/build flow, artefact layout, and CI guidance at a glance.

Explore the CLI

Dive into every command, flag, and workflow for local development and CI/CD automation.

Browse the reference

Dive into configuration, naming, and binding guides before customising your generator.

Stay connected

Join the community, track releases, and deploy the global tool from the platforms you already use.

Star the project

Follow development, open issues, and discuss roadmap ideas with the maintainers.

Install from NuGet

Pull the latest global tool release directly into your tooling pipeline.