# aontu

> Type-safe system definitions, as guardrails for coding agents. A JSON-superset language for saying what a system is: its entities, their types and the relations between them. Two documents unify into the most specific value that satisfies both, or into an error that names the contradiction.

## What it is

aontu is a language for defining a system: its entities, the types their fields must have, and the relations between them. It is a superset of JSON, so any JSON document is already valid aontu, and a definition reads like the data it constrains.

The operation underneath is unification, an idea aontu takes from CUE. Two documents unify into the most specific value that satisfies both, and where they cannot, the result is an error that names the contradiction and where it is. Files unify rather than override, so nothing wins silently. That is what makes it a gate: a change a coding agent proposes is admitted or refused, with a location, before it reaches a build.

The command line has a verb for each question you ask of a definition: vet a document, get a path, ask why a value is what it is, set a value, check for breaking changes against a previous version, list relations, or view the unified result. An MCP server exposes the same verbs to agents, and grammars for GBNF and Lark let a model be constrained to emit valid aontu in the first place.

It is implemented in TypeScript and in Go, held to one test suite, and it is the language the SDK generator's own models are written in: every project decision in a generated SDK is an aontu document.

## Facts

- Site: https://aontu.dev
- Source: https://github.com/aontu-lang/aontu
- npm: aontu
- Install: `npm install aontu`
- Languages: TypeScript, Go
- Licence: MIT

## In the voxgig organisation

Repositories in this section pushed to in the 6 months before 2026-09-06.

- [model](https://github.com/voxgig/model), pushed 2026-09-05, npm @voxgig/model: Universal application modelling: describe a system once as a declarative model, then generate code, configuration, documentation and infrastructure from it.

## The other sections

- [Open source at Voxgig](https://voxgig.com/open-source): the overview, with every voxgig repository active in the last six months.
- [SDK Generator](https://voxgig.com/open-source/sdk-generator): Six surfaces from one OpenAPI description.
- [SDK Catalog](https://voxgig.com/open-source/sdk-catalog): 600+ generated SDKs, as repositories you can read.
- [jostraca](https://voxgig.com/open-source/jostraca): A code generator you can run twice.
- [tabnas](https://voxgig.com/open-source/tabnas): An extensible parsing engine, and a compile target for agents.
- [Seneca](https://voxgig.com/open-source/seneca): A microservices toolkit for Node.js.
- [Voxgig tools](https://voxgig.com/open-source/tools): The libraries inside every generated SDK, ported to every language the SDKs ship in.
