Application Setup

Initialize your application for rngo by running:

rngo init

This will create a .rngo directory, with a config.yml that's the beginning of the simulation we're going to configure.

Simulation Configuration

A full simulation includes systems to model where the application maintains state, and effects which model interactions with those systems.

For even a small application, modeling all system interactions would be tedious, which is why you should delegate this to an LLM.

Let's say that you're using Claude Code — infer systems by running:

rngo systems infer --claude

This will add system configurations to .rngo/systems, which you should review and adjust, per the system reference.

Next, infer effects by running:

rngo effects infer --claude

This will add effect configurations to .rngo/effects, which you should also review and adjust, per the effect reference.

You could also do each by hand, or by using your own script. Either way, commit everything in .rngo/systems and .rngo/effects to source control.

Simulation Run

Now run the simulation:

rngo run

This will create a simulation from the contents of the .rngo directory and stream down the emitted events.

The CLI will route effect events and apply them against the systems they were inferred from.

The run will also sample interesting effects and output them to, e.g. .rngo/runs/1/samples.jsonl


Next Step

Visit the Simulation reference to improve your application's configuration.