Browse the documentation

Preview documentation for AEL Beta 0.0.1 — launching soon

Running a program

In AEL, the Agent Engineering Language, ael run (command names may change before launch) will check, build and run a program in one step, on the machine you are working on.

Status

Planned for AEL Beta 0.0.1. AEL is not available yet.

Usage

Preview syntax — may change before launch
ael run
ael run <path>
ael run --json
Argument or optionMeaning
[path]The project folder. Without a path, the project in the current folder.
--jsonDiagnostics and reports from the command in machine-readable form.

What it does

ael run will go through the same steps as ael build, for the machine you are working on:

  1. check and compile the project;
  2. compute and verify the complete reference map, starting at main;
  3. build the native program, then start it.

A shortcut will never skip a step: a program that ael run starts will have passed exactly the checks a build applies. If any step fails, nothing will run, and the diagnostics will point at your source.

The program will start at main in main.ael. When a main without a result type finishes, the program will exit successfully.

Packages at startup

Nothing will download when the program starts. ael run will use only the packages already installed and pinned by your lock files, and a missing package will be reported before anything runs, with the command that installs it. Your lock file will pin the exact versions you built with, so a run repeats, even offline.

Time and token reports

Time and token usage will be reported by default. For a program started from the command line, the report will be a summary on standard error, so the program's own output on standard output stays unchanged for pipes and scripts.

You will be able to turn off each field without disabling the limits behind it: all reporting at once, time or tokens alone, or single token counts. Reporting, logs and replay describes the report and its settings.

Agents and configuration

An agent that the program runs will get its own run ID and budget, and its configuration will be locked into a snapshot for that run. Agents, nodes and edges and Configuration describe both.

Build or run

Use ael run while you work. Use ael build when you need a file to deploy or copy to another machine, or a program for another target: ael run will always build for the machine it runs on.

Not settled yet

How you will pass arguments to the program through ael run, and where it keeps the program it builds, will be described when the command is final.