Skip to main content
Version: 0.1.78

X07 (x07lang)

X07 is an agent-first systems language. It is built so coding agents can generate, modify, test, and repair software reliably, while still giving end users the things they actually care about: memory-safe defaults, speed, explicit concurrency, predictable deployment, and clear tooling.

Most languages optimize for human style flexibility. X07 optimizes for:

  • Canonical representations so the same intent produces the same program shape.
  • LLM-oriented diagnostics with stable error codes and machine-applicable fixes.
  • World-based capability modeling so side effects stay explicit and reviewable.
  • Structured concurrency so async work stays fast without turning into orphan-task chaos.

The mental model

Think of X07 as two layers:

  1. A small, stable core (compiler + runtime substrate)
  2. A growing ecosystem of libraries (stdlib + external packages)

Programs are stored and exchanged in a structured AST format (x07AST JSON). Humans usually edit a pretty form (or generated templates), while agents operate on the structured form directly.

Start here

Ecosystem at a glance

The x07 repo is the entrypoint, but the public ecosystem is intentionally split into focused repos:

What makes X07 different?

1) One canonical way (agents don’t get “choice paralysis”)

Instead of 5 equivalent ways to read a file, split strings, build output, or handle errors, X07 aims for:

  • one canonical API surface per capability,
  • one canonical bytes encoding per data interchange,
  • one canonical failure model per module (stable error code space).

This reduces “LLM confusion” and makes programs and patches more uniform.

2) Policy-gated OS execution

When you need real OS resources (real network, real disk, real time), use run-os or run-os-sandboxed.

run-os-sandboxed is governed by explicit policy files; X07 defaults to a VM boundary on supported platforms, but it is still not a hardened sandbox if you mount secrets or enable networking.

3) Production worlds are opt-in

When you need real OS resources (real network, real disk, real time), you switch to OS-backed worlds. Those worlds are never used for deterministic evaluation, and are governed by explicit policies.

Why this matters in practice

  • For end users: you get one language and one ecosystem for CLIs, MCP servers, web UI, packaged device apps, WASM services, package publishing, and lifecycle operations.
  • For teams: the same contracts show up in docs, CLI reports, schema files, CI checks, and operational tooling.
  • For coding agents: the language removes many of the ambiguities that make autonomous edits hard to trust in mainstream languages.

Documentation map (human)