Aego Playground

CLI

Command
aego check [dir] [--manifest file] [--explain code] type-check every script package against engine and native bindings
aego test [dir] [-run name] [-v] [-budget n] [-seed n] run TestXxx() functions from *_test.aes headless
aego dump script <pkg|Type> [--func name] [--project dir] bytecode with ; file:line source comments; the header lists imports, externs, enums, signals, script refs, cross-script fields and methods, and connections
aego run [dir] refuses to start while a script package has errors

All of them use the same workspace as the editor and hot reload. check and dump use the bindings manifest. For a project with native/, a small helper that only calls the module's Register writes it to .aego/cache/script-bindings; it is rebuilt when native/*.go, go.mod/go.sum or the engine change. A native compile error or a failing Register is exit code 2. test on a project with native/ builds the game binary and runs the tests inside it, because tests call the real native functions.

Test functions are package functions; they have no scene, so coroutines, signals and script references are tested in play, not in _test.aes. _test.aes files are compiled only by aego test; they never enter Play or exported builds. A test that loops forever ends with AES6001 and the next test runs.