Folder layout
FORGE is a set of packages under your HELIXScripts/ directory. Framework packages sit flat:
Scripts/forge-examples/ and you have the pure framework.
config.json
config.json lists every package and the order they load. The rules:
forge-coreloads first. It provides logging, the Result helper, the database, permissions, and save coordination that every other package depends on.- Dependencies load before dependents where practical, but exports register in a later pass,
so packages still gate on
IsReady()rather than assuming load order (see Architecture). - The example content loads last, as a nested path (
forge-examples/forge-example-content).
Booting
FORGE has no CLI test runner, it runs inside Play-In-Editor. On boot:1
Packages load and register
Each package loads its files, then registers its exports and lifecycle handlers.
2
Tests run
main runs the smoke harness and forge-tests runs the unit suites automatically.3
You read the Output Log
Green is
[FORGE-SMOKE] DONE 153 passed, 0 failed and [FORGE-TEST] DONE ... pass=625 fail=0.Per-package config
Every configurable package exposes oneshared/config.lua with a standard shape:
ShipDefaults and shared/data/*.lua.