Skip to content

exons.ai

One agent. One file.

An .exons file describes a complete agent — identity, execution, tools, memory, safety, and verification — using YAML frontmatter and a collision-free {~…~} template syntax.

prompt.exons
---
name: hello-prompt
description: A simple greeting prompt
type: prompt
---
Hello, {~exons.var name="user_name" default="World" /~}!

Welcome to go-exons. Today's topic is: {~exons.var name="topic" default="template engines" /~}.

{~exons.if eval="user_name != 'World'"~}
We're glad to have you here, {~exons.var name="user_name" default="friend" /~}.
{~exons.else~}
Please tell us your name!
{~/exons.if~}

go-exons parses, validates, and serializes these specs. It does not execute them against an LLM — that’s the runtime’s job.

install
go get github.com/itsatony/go-exons

Go is the production implementation. Python, Rust, and TS/JS ports are coming; all share the same JSON Schema.

Why exons

Today prompts and agents live scattered across code strings, notebooks, and dashboards — hard to version, review, and port between providers. .exons turns the agent into an artifact:

  • Diffable — a plain text file that fits any code review and any Git repository.
  • Complete — identity, execution parameters, tools, memory, dispatch rules, safety constraints, and verification cases in one place.
  • Portable — define tools once, export to every provider’s format (OpenAI, Anthropic, Gemini, vLLM, Mistral, Cohere, MCP).
  • Collision-free — the {~…~} delimiters were chosen deliberately so they never collide with prompt content (JSON, XML, Go templates).

At a glance

Three document types cover the spectrum: prompt (a simple template), skill (a reusable capability), and agent (a full agent definition).

Understand the concept · Browse examples · Format Reference