Welcome!
rngo is a data simulation platform that streamlines many testing, development, and prototyping activities, such as:
- lower environment application state
 - iterative prototyping
 - property-based integration testing
 - PR environments
 - projected-state load testing
 
At the core of rngo is the API, which streams synthetic events based upon an intuitive DSL. For example, considering the following simulation spec:
seed: 1
entities:
  users:
    stream:
      type: object
      properties:
        id:
          type: id.integer
        name:
          type: person.name
  posts:
    stream:
      type: object
      properties:
        id:
          type: id.integer
        title:
          enum:
            - Lorem Ipsum
            - Dolor Sit Amet
            - Sed Mattis Eu Erat
        authorId:
          type: function
          expression: user.id
          variables:
            user:
              type: reference
              entity: usersIt produces a deterministic SSE stream that starts like this:
event: users.create
data: {"entity":"users","offset":683878,"value":{"id": 1, "name": "Alice Jones"}}
event: users.create
data: {"entity":"users","offset":729698,"value":{"id": 2, "name": "Bob Hyland"}}
event: posts.create
data: {"entity":"posts","offset":1036600,"value":{"id": 1, "title": "Lorem Impsum"},"authorId":1}Next Steps
Go to the Quick Start to run this simulation yourself in just a few minutes. Or skip ahead to any of the following references:
- Streams - learn all the built-in options for defining the schema and content of your entities.
 - CLI - go in depth on using the CLI to manage applications, run simulations and stream the data directly into your databases.
 - API - use the API directly from the language of your choice.