Headless Build
Compile-check a Godot project. Fastest feedback loop: "did my code parse?"
Run
Use GODOT_PATH when Godot is not on PATH:
GODOT_BIN="${GODOT_PATH:-godot}"
"$GODOT_BIN" --headless --path . --editor --quit 2>&1
Run from the project root (where project.godot lives). Should exit within 30 seconds.
If it hangs, an autoload may block in _ready() — kill and report.
Filter output
Godot's output mixes script errors with engine noise. Only script errors matter.
Ignore these (engine internals, always present in headless mode):
Condition "..." is truewith.cppsource location — engine C++ assertionObjectDB instances leaked at exit— no cleanup in headlessN resources still in use at exit— same causeScreen index N is invalid— no display in headless
Rule: if the at: line references a .cpp file, skip it.
These ARE script errors (report them):
SCRIPT ERROR:withres://path — GDScript parse/load failureFailed to load script "res://..."— missing or broken scripterror CS— C# build error (from dotnet build)Failed to load resource "res://..."— missing dependency
Report
- No script errors → PASS
- Script errors found → FAIL, list each with file, line, message
- Don't auto-fix. Report only.
- Ignore
WARNING:lines and application log output.