Aexol Language Overview

Aexol is a domain-specific language for modeling software systems. You define what your system should do — types, workflows, visitors, and agents — and Aexol generates production-ready code.

Core Concepts

ConceptPurpose
TypesDefine data structures with fields, arrays, and circular references
EnumsDefine fixed sets of values
WorkflowsModel state machines with transitions
VisitorsDefine hierarchical capability trees for actors/roles
AgentsDefine autonomous agents with capabilities

Quick Example

type Task {
  id: string
  title: string
  status: TaskStatus
  assigneeId: string
}

enum TaskStatus {
  todo
  in_progress
  done
}

workflow TaskFlow {
  initial: todo
  todo -> in_progress when started
  in_progress -> done when completed
  in_progress -> todo when reverted
}

visitor Developer {
  "create tasks"
  "view tasks"
  "update task status"
}

agent TaskBot {
  "assign tasks"
  "send reminders"
  "generate reports"
}
✨ Edit in Studio

How It Works

  1. Define — Write your specification in Aexol (in Studio or any editor)
  2. Validate — The parser catches errors in real-time
  3. Generate — Produce TypeScript, Python, Rust, Go, or JavaScript code
  4. Refine — Iterate on the generated artifacts with AI assistance

Next Steps