An .angl chapter is English behavior plus executable examples. A compiler agent turns it into ordinary code. A black-box judge accepts the generated edition only if every example passes.
npm install -g angl-cliangl try --provider <codex|claude-code|ollama>angl new hello-angl --provider <provider>FreshOps is a grocery delivery app. The demo changes its express-delivery promise by editing one committed source file: specs/build_delivery_promise.angl.
## Behavior
For express orders, start from a 25 minute base promise.
Include "express priority" in the customer-facing reasons.
## Example
Input order:
{ "tier": "express", "delay_minutes": 21 }
Website response:
{ "promised_minutes": 46,
"reasons": ["delay penalties applied", "express priority"] }# Fetch Price
> Boundary: `fetch_price(url: string) -> number`
> Runs as: `python`
## Purpose
Provide the price value from a JSON HTTP response.
## Behavior
Fetch JSON from the given URL and return the `price` field as a
number. If the field is missing, fail with an error that mentions
`price`.
## Examples
### The service returns a price
When the URL serves a price, the chapter returns that price.
Fixture `http_fixture`:
```json
{ "price": 19.99 }
```
Returns:
```json
19.99
```
### The service omits the price
When the URL serves JSON without a price field, the chapter
rejects it.
Fixture `http_fixture`:
```json
{}
```
Fails with error containing: priceOne composed program can cross Python, Node, Ruby, Go, Rust, and TypeScript, because each chapter picks its own target and every seam is contract-verified.
In FreshOps, changing express-delivery behavior means editing the Angl chapter, regenerating the implementation, and proving the live backend returns the new product result.
Generated editions never grow hand-written test suites. If a behavior matters after regeneration, it becomes an example in the chapter, and every future edition has to pass it.
The docs cover the chapter format, the judge, fixtures, composition, compile targets, and the honest limits.