Part of Trax: business logic you can call, schedule, or serve as an API, with every run recorded in your Postgres. Docs · Getting started · All repos
Trax.Cli is the trax .NET tool. trax generate scaffolds a hub and a library of Trax trains from an OpenAPI or
GraphQL schema, and trax machine generates state-machine code. The hub comes from the trax-hub template in
Trax.Samples; the trains are typed pipelines of small steps (junctions)
whose bodies you fill in.
dotnet new install Trax.Samples.Templates # trax generate builds on the trax-hub template
dotnet tool install --global Trax.Cli # needs the .NET 10 SDKtrax generate --schema ./schema.graphql --output ./Payments --name Payments
cd Payments/Payments.Hub && dotnet run
trax machine new checkout --output ./Machines --namespace MyApp.Machinesgenerate reads GraphQL SDL or an OpenAPI 3.0 document and writes a hub plus one train per operation, each junction
throwing NotImplementedException under a TODO for you to fill in. trax <command> --help lists every option.
Trax is split into layers, one repo each. Take the ones you need; the trains you wrote do not change. You are here: Trax.Cli.
| Repo | What it adds |
|---|---|
| Trax.Core | Trains, junctions and the chain, with no database and no DI container |
| Trax.Effect | A recorded run for every execution (Postgres, SQLite or in memory), DI, effect providers, the state-machine engine |
| Trax.Mediator | The train bus: run a train by handing over its input, with every chain checked at startup |
| Trax.Scheduler | Cron and interval schedules, retries, dead letters, and workers on other machines or in Lambda |
| Trax.Api | GraphQL generated from your trains, with authentication, audit and typed clients |
| Trax.Dashboard | A Blazor Server UI for runs, schedules and dead letters, mounted in your app |
| Trax.Cli | The trax tool: scaffold a hub and trains from an OpenAPI or GraphQL schema, and state-machine codegen |
| Trax.Samples | Complete sample apps, and the trax-api, trax-scheduler and trax-hub templates |
Docs live in Trax.Docs and are published at traxsharp.net/docs.
Read AGENTS.md before changing code. Report vulnerabilities privately as described in SECURITY.md.
MIT. There is no commercial edition, and there will not be one.
Trax is an independent open-source project and is not affiliated with the Utah Transit Authority, Trax Retail, or any other organization using the Trax name.