# Welcome

Kye stands for “Know Your Edges”. It is intended to be a very simple language with punctuation similar to JSON.

It is similar in purpose to GraphQL where it tries to serve as an universal place for data models to be defined. When those data models are attached to an engine, the engine can validate whether or not given data matches the defined data models.

I also envision extraction and transformation functions to be attached to data models so that a Kye query can extract and serve the data as requested. Enabling a Kye platform to be a one-stop shop for managing all data across many sources.

```
User(id)(username) {
  id: Number
  username: String
  name: String
  age?: Number

  assert age > 0 & age <= 120
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kyelang.org/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
