The build commands accept an entry file and an optional output name. -n is the alias for --name; -o is the alias for the friendly --os selector. Use --target when Perry exposes a target that needs an exact name.
bornengine build main.ts --name my-game --os linux
bornengine run main.ts
bornengine dev main.ts --watch
bornengine check main.ts --target web--os and --target cannot be used together. The CLI accepts a friendly OS only when the installed Perry advertises the corresponding target. It does not silently fall back to another platform.
Output and run behavior
Build artifacts live under .bornengine/builds/. Watch mode uses .perry-dev/, which Perry excludes from its source watcher. run launches only a native executable for the current host; Web and mobile commands are build-only and must follow their platform packaging flow.
Arguments after -- are passed to the game:
bornengine run main.ts -- --level tutorialCommand reference
Build a game
Compile a TypeScript entry file for a target platform.
bornengine build <entry-file> [--name <output>] [--os <friendly-os> | --target <exact-target>]Options
--name <output>, -n <output>--os <friendly-os>, -o <friendly-os>--target <exact-target> (conflicts with --os)-v, --verbose (repeatable)
Behavior
Writes build artifacts under .bornengine/builds/. Web and mobile targets are build-only; they do not run through the native run command.
Examples
bornengine build main.ts --name my-game --os linuxbornengine build src/main.ts --target webBuild and run locally
Build a native executable and launch it on the current host.
bornengine run <entry-file> [--name <output>] [--os <friendly-os> | --target <exact-target>] [-- <program-args>]Options
--name <output>, -n <output>--os <friendly-os>, -o <friendly-os>--target <exact-target> (conflicts with --os)Arguments after -- are passed to the game-v, --verbose (repeatable)
Behavior
Runs a native executable for the current host. Web and mobile outputs are build-only and require their platform workflow.
Examples
bornengine run main.tsbornengine run main.ts -- --level tutorialDevelop with a watch loop
Build during development and optionally rebuild when files change.
bornengine dev <entry-file> [--name <output>] [--os <friendly-os> | --target <exact-target>] [--watch]Options
--name <output>, -n <output>--os <friendly-os>, -o <friendly-os>--target <exact-target> (conflicts with --os)--watch-v, --verbose (repeatable)
Behavior
Watch mode uses .perry-dev/ for its development artifacts. Use a native target for a local executable.
Examples
bornengine dev main.ts --watchbornengine dev main.ts --os macosCheck a project
Validate a TypeScript entry file without producing a runnable build.
bornengine check <entry-file> [--os <friendly-os> | --target <exact-target>]Options
--os <friendly-os>, -o <friendly-os>--target <exact-target> (conflicts with --os)-v, --verbose (repeatable)
Behavior
Runs the project's checks for the selected target and reports errors without launching the game.
Examples
bornengine check main.tsbornengine check main.ts --target web