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 the agent or MCP API
Start a from task through the backend's MCP API — the agent app (with the Studio Binding extension) calls the same endpoints. Enter:
| Field | Description |
|---|---|
| Description | Natural language description of your application. Be specific about types, relationships, workflows, and permissions. |
| Model | Which AI model to use for generation |
| Guidance | Optional instructions to steer the generation (e.g. "Use snake_case for field names", "Include role-based access control") |
| Max retries | How many validation-retry cycles before giving up (default: 3) |
Via 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:
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:
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:
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 via the backend API, 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
| Status | Meaning |
|---|---|
PENDING | Task queued, waiting to start |
RUNNING | AI is generating and validating the spec |
COMPLETED | Valid .aexol spec produced — ready for code generation |
FAILED | All retry attempts exhausted without producing a valid spec |
CANCELLED | User cancelled the task |
Progress can be polled in real time via the MCP API (remote_wait_task / remote_get_from_task) — the response includes the current attempt count and validation errors as they are retried.
Next Steps
- Aexol CLI — Generate code from your new Aexol spec
- Agent Overview — Run spec work end-to-end in the agent app
- Billing & Credits — How usage is metered