<!-- Developer Start -->
# See the whole loop: source text in, validated JSON out.
## Start with one document and one runtime call.
If you are evaluating AEON as a developer, the first useful question is: what do I write, what does the runtime produce, and where does validation happen?
```
import { runRuntime } from "@altopelago/aeon-runtime";
const source = [
'app:object = {',
' name:string = "AEON demo"',
' port:number = 8080',
' enabled:boolean = true',
'}'
].join("\n");
const result = runRuntime(source, {
mode: "strict",
output: "json",
includeAnnotations: true
});
if (result.meta.errors.length === 0) {
console.log(result.document);
}
```
The finalized document is plain application data after AEON has checked the source claims.
```
{
"app": {
"name": "AEON demo",
"port": 8080,
"enabled": true
}
}
```
- **Write** Start with typed bindings, objects, lists, tuples, references, and prose blocks in the playground.
- **Validate** Run in strict mode when you want reserved datatypes, explicit structure, and fail-closed diagnostics.
- **Materialize** Ask for JSON when you want ordinary application data after AEON has preserved and checked the source claims.
- **Inspect** Turn on annotations when tooling needs source spans, comments, or parallel metadata without changing the data.
[Open playground](/playground.php)
[Learn syntax](/walkthrough.php)
[Runtime package](https://www.npmjs.com/package/@altopelago/aeon-runtime)
<!-- Install -->
## Use the published runtime from npm.
For most applications, the runtime package is the simplest entry point because it coordinates compile, validation, reference handling, finalization, and diagnostics.
```aeon
npm install @altopelago/aeon-runtime
```
[Open npm](https://www.npmjs.com/package/@altopelago/aeon-runtime)
[TypeScript workspace](https://github.com/AltoPelago/aeon/tree/main/implementations/typescript)
<!-- Next -->
## Move from the runtime loop into the language and system model.
### Learn the syntax in order
_Walkthrough_
Walk through bindings, scalar values, containers, types, comments, and multiline text before moving into references and nodes.
[Start walkthrough](/walkthrough.php)
### Understand the meaning model
_Language Layer_
Read how vocabulary, grammar, profiles, schemas, conventions, and Tonics add meaning without giving documents authority over themselves.
[Open language layer](/aeon-language.php#language-layer)
### Experiment without setup
_Playground_
Use the playground to switch modes, inspect JSON output, and see annotation stream behavior while you edit.
[Open playground](/playground.php)