Skip to content

Repository files navigation

Trax.Cli

Build NuGet codecov License: MIT Docs

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.

Install

dotnet new install Trax.Samples.Templates   # trax generate builds on the trax-hub template
dotnet tool install --global Trax.Cli       # needs the .NET 10 SDK

Example

trax generate --schema ./schema.graphql --output ./Payments --name Payments
cd Payments/Payments.Hub && dotnet run

trax machine new checkout --output ./Machines --namespace MyApp.Machines

generate 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.

Where this fits

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.

Contributing

Read AGENTS.md before changing code. Report vulnerabilities privately as described in SECURITY.md.

License

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.

About

No description, website, or topics provided.

Resources

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages