Welcome!

rngo is an end-to-end testing platform that simulates both system state and client interactions to expose weakpoints in your code.

A rngo simulation is a model of your production environment, often in some future state, e.g.:

  • with new code deployed
  • after user growth

The simulation is defined in terms of systems and effects, using an intuitive configuration language that your coding agent can write. For example:

seed: 1
start: now - years(2)
systems:
  db:
    format:
      type: sql
    import:
      command: sqlite3 db.sqlite
effects:
  users.create:
    system: db
    format:
      table: USERS
    trigger: 100 / day
    schema:
      type: object
      properties:
        id:
          type: id.integer
        name:
          type: person.name
        email:
          type: internet.email
  posts.create:
    system: db
    format:
      table: USERS
    trigger: 120 / hour
    schema:
      type: object
      properties:
        id:
          type: id.integer
        title:
          type: content.lorem
        date:
          date: time.now
        authorId:
          type: function
          expression: user.id
          variables:
            user:
              type: reference
              effect: users.create

You can run this simulation using the CLI:

rngo run

The CLI will stream effects from the API and apply them to the database.


Next Step

Visit Quick Start for a step-by-step guide running your first simulation in just a few minutes.