Skip to content

Command Line Interface

ScaffScript provides a command line interface to run scripts and manage your project.

Runs the full pipeline (scan, parse, generate, and integrate), based on the provided configuration.

Terminal window
<pm> scaff gen <project_path> [<options>]
<pm> scaff generate <project_path> [<options>]
ArgumentDescription
<pm>Your package manager (bun, npm, or pnpm).
project_pathPath to your GameMaker .yyp project file.
<options>Optional flags to override config options.

The used source path is based on the source option in scaff.config.*. The project_path must end in .yyp and must exist on disk.

OptionDescription
--integrate | -iForce integration, even if noIntegration: true is set in the config.
--no-integration | -!iSkip integration, even if noIntegration: false is set in the config.
Using Script Recommended
Section titled “Using Script ”

Make sure you’ve set up the package.json scripts correctly. Here’s an example:

package.json
{
// --- snip ---
"scripts": {
"generate": "scaff gen ./my-game.yyp",
"generate": "scaff gen ./path/to/your/my-game.yyp",
"help": "scaff help",
"scaff": "scaff"
},
// --- snip ---
}

Then, you can run the script with your package manager:

Terminal window
bun run generate # no option override
bun run generate -- --no-integration # override config option
Terminal window
# no option override
bunx scaff gen ./my-game.yyp
bunx scaff generate './My Game/My Game.yyp'
# override config option
bunx scaff gen ./my-game.yyp --no-integration
bunx scaff generate './My Game/My Game.yyp' --no-integration

Prints usage information.

Terminal window
<pm> scaff help
<pm> scaff -h
<pm> scaff --help
ArgumentDescription
<pm>Your package manager (bun, npm, or pnpm).
Terminal window
bunx scaff help
bun run help

TagColorMeaning
[DEBUG]GrayStep tracing (only when debugLevel >= 1)
[INFO]CyanProgress and success messages
[WARN]YellowNon-fatal issues, skipped items
[ERROR]RedFatal issues that abort the run
[INPUT]MagentaPrompt during the integration review step