Studio

DocsStudioText → Aexol (From Tasks)

Convert natural language descriptions into valid Aexol specifications. Describe your app in plain English and get a complete .aexol spec back.

Text → Aexol (From Tasks)

From Tasks are the reverse of code generation: instead of generating code from an Aexol spec, you describe your application in natural language and the AI writes the .aexol specification for you. Think of it as "spec-first design, AI-assisted."

How It Works

Plain English Description
         │
         ▼
   AI Generation (Claude/GPT)
         │
         ▼
   Parser Validation
         │
    ┌────┴────┐
    │  PASS?   │
    └────┬────┘
    No   │   Yes
    ▼    │    ▼
  Retry  │  .aexol Spec
  (up to │  Ready for
  max    │  Code Gen
  retries)│

The AI iteratively refines the output — if the generated Aexol doesn't parse or validate, it retries with the validation errors as feedback until the spec is syntactically and semantically correct.

Starting a From Task

Via Studio

Open the From panel in the Studio editor. Enter:

FieldDescription
DescriptionNatural language description of your application. Be specific about types, relationships, workflows, and permissions.
ModelWhich AI model to use for generation
GuidanceOptional instructions to steer the generation (e.g. "Use snake_case for field names", "Include role-based access control")
Max retriesHow many validation-retry cycles before giving up (default: 3)

Via Remote MCP

Remote MCP
curl -X POST "https://api.aexol.ai/mcp" \
  -H "Authorization: Bearer sk-aexol-team-..." \
  -d '{
    "jsonrpc": "2.0", "id": 1, "method": "tools/call",
    "params": {
      "name": "remote_start_from",
      "arguments": {
  "content": "A task management app with projects, tasks, and users. Tasks have status: todo, in_progress, done. Users can be assigned to tasks.",
  "guidance": "Use camelCase for field names",
  "maxRetries": 3
}
    }
  }'

Check status:

Remote MCP
curl -X POST "https://api.aexol.ai/mcp" \
  -H "Authorization: Bearer sk-aexol-team-..." \
  -d '{
    "jsonrpc": "2.0", "id": 1, "method": "tools/call",
    "params": {
      "name": "remote_get_from_task",
      "arguments": { "taskId": "task_..." }
    }
  }'

Wait for completion:

Remote MCP
curl -X POST "https://api.aexol.ai/mcp" \
  -H "Authorization: Bearer sk-aexol-team-..." \
  -d '{
    "jsonrpc": "2.0", "id": 1, "method": "tools/call",
    "params": {
      "name": "remote_wait_task",
      "arguments": { "taskId": "task_...", "taskType": "from" }
    }
  }'

Example

Input (natural language):

A blog platform with authors and posts.
Authors have a name and bio.
Posts have a title, content, and publish date.
Each post belongs to one author.
Posts can be in draft or published state.

Output (.aexol):

type Author {
  id: string
  name: string
  bio: string
  posts: [Post]
}

type Post {
  id: string
  title: string
  content: string
  publishDate: date
  author: Author
  status: PostStatus
}

enum PostStatus {
  draft
  published
}

Refinement

Already have an Aexol spec but want to improve it? Use refinement instead of generating from scratch:

Remote MCP
curl -X POST "https://api.aexol.ai/mcp" \
  -H "Authorization: Bearer sk-aexol-team-..." \
  -d '{
    "jsonrpc": "2.0", "id": 1, "method": "tools/call",
    "params": {
      "name": "remote_refine_aexol_content",
      "arguments": {
  "aexolContent": "type User { id: string, name: string }",
  "refinementPrompt": "Add email field and role enum with admin/editor/viewer values"
}
    }
  }'

You can also refine an existing From task — useful when the first generation was close but needs adjustments.

Knowledge Base Integration

When your project has Knowledge Base documents uploaded, the AI automatically retrieves relevant chunks and includes them in the generation prompt. This means generated specs reflect your team's existing types, naming conventions, and domain model.

From Task Lifecycle

StatusMeaning
PENDINGTask queued, waiting to start
RUNNINGAI is generating and validating the spec
COMPLETEDValid .aexol spec produced — ready for code generation
FAILEDAll retry attempts exhausted without producing a valid spec
CANCELLEDUser cancelled the task

Progress is streamed in real-time — the Studio UI shows live updates including current attempt count and any validation errors being retried.

Next Steps