01 · Get the source
Run it on your machine.
The current engine is Python (3.10+), standard library only; the browser runs a JavaScript port.
Unzip intenjude-python.zip, then open a terminal in the extracted intenjude-python folder. The bundle contains engine source and examples.
python3 -m intenjude check examples
python3 -m intenjude needs examples
Save hello.ij into that root, then run python3 -m intenjude run hello.ij.
02 · Follow the runtime
Read → check → run → inspect.
The parser checks block shape and line numbers; the runner matches an event, resolves data, and walks blocks.
check gates the run; repeat applies the remaining blocks to each item; remember updates supplied memory; show returns text.
Results are done, stopped, waiting or idle, with a step log. A waiting run is not a persisted continuation.
CLI runs register no actions. Use --memory memory.json to keep memory between CLI runs.
See each step in a tutorial
03 · Connect trusted actions
The host owns permission.
do reaches registered functions, never arbitrary source evaluation. The host must enforce authentication, ownership, allowed destinations, input limits and audit storage.
from intenjude.engine import Engine, parse
e = Engine()
@e.action("note {text}")
def note(text):
return {"noted": text}
p = parse("inten\ndo\nnote hello jude\nshow\nnoted jude\nJude")
print(e.run(p).shown) # ['hello']needs_person=True waits for the host's approval callback; it does not authenticate the approver. Re-running may repeat earlier actions: make side effects idempotent.
Use the host's sandbox and resource controls for untrusted callbacks. Short syntax does not make a host secure.
04 · Current and next
Ambition, with clear boundaries.
Today: seven keywords, event names, registered actions, run logs; maximum 100,000 steps and 10,000 repeat items. Limits stop a run.
Current numbers use Python/JavaScript numeric behavior; arbitrary exact fractions and cross-runtime large-number parity are not promised.
Version 2 specifies yes/no/maybe, exact numbers with units, time/distance triggers, resumable limits and a self-contained Go engine with inten serve.
Those are plans in the specification, not capabilities of the Python/JavaScript engine offered here.
Version 2 source specification (access required)