CLI / Build

Build and run

Compile, launch, watch, or check a TypeScript entry file for a BornEngine target.

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.

shell
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:

shell
bornengine run main.ts -- --level tutorial

Command 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 linux
bornengine build src/main.ts --target web

Build 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.ts
bornengine run main.ts -- --level tutorial

Develop 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 --watch
bornengine dev main.ts --os macos

Check 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.ts
bornengine check main.ts --target web