defold-project-build
Build Defold Project via Editor HTTP API
Build and run a Defold project by sending HTTP requests to the running Defold editor.
Prerequisites
- The Defold editor must be running with the project open.
Reading the Editor Port
The editor writes its HTTP port to .internal/editor.port in the project root. Read this file to get the port number.
Windows (PowerShell):
$port = Get-Content .internal/editor.port
Linux/macOS:
port=$(cat .internal/editor.port)
If the file does not exist, the editor is not running or the project is not open.
Building the Project
Send a POST request to the /command/build endpoint.
Windows (PowerShell):
Invoke-RestMethod -Uri "http://127.0.0.1:$port/command/build" -Method Post
Linux/macOS:
curl -X POST "http://127.0.0.1:$port/command/build" --silent
The response is JSON with two fields:
success(boolean) — whether the build succeeded.issues(array) — list of build issues (empty on success).
If success is true, the build succeeded and the editor launches the game automatically.
If success is false, each entry in issues contains:
| Field | Description |
|---|---|
severity |
"error" or "warning" |
message |
Human-readable description |
resource |
Absolute project path (e.g. /main/logo.script) |
range.start.line |
Start line (0-based) |
range.start.character |
Start column (0-based) |
range.end.line |
End line (0-based) |
range.end.character |
End column (0-based) |
Checking Console Output
After a successful build and launch, read runtime logs from the editor console:
Windows (PowerShell):
Invoke-RestMethod -Uri "http://127.0.0.1:$port/console" -Method Get
Linux/macOS:
curl "http://127.0.0.1:$port/console" --silent
Workflow
- Read the port from
.internal/editor.port. - POST to
/command/build. - If the build fails, report all issues with file paths, line numbers, and messages.
- If the build succeeds, the game launches automatically. Check
/consolefor runtime logs if needed.
Troubleshooting
- Connection refused — the editor is not running or the port file is stale. Restart the editor and try again.
Example: Successful Build Response
{
"success": true,
"issues": []
}
Example: Failed Build Response
{
"success": false,
"issues": [
{
"severity": "error",
"message": "go.property declaration should be a top-level statement",
"resource": "/main/logo.script",
"range": {
"start": { "line": 3, "character": 4 },
"end": { "line": 3, "character": 35 }
}
}
]
}
More from indiesoftby/defold-agent-config
defold-project-setup
Downloads Defold project dependencies into .deps/ folder. Also provides recommended game.project settings. Use FIRST before any other task when .deps/ folder is missing or empty, or after editing dependency URLs in game.project. Also use when creating a new project, configuring game.project, or asking about recommended project settings.
10defold-api-fetch
Fetches Defold API documentation. Use when working with Defold engine APIs, looking up Lua/C++ functions, or needing API reference for game development.
1xmath-usage
Provides xmath API reference and in-place math optimization patterns for Defold. Use when writing performance-critical math code, optimizing vector/quaternion/matrix operations, or when the user mentions xmath, zero-allocation math, or reducing Lua GC pressure.
1defold-skill-maintain
Maintains Defold agent skills. Use when asked to update link lists in api-fetch/docs-fetch/examples-fetch skills, create or update proto file references, or fetch proto schemas.
1defold-assets-search
Searches the Defold Asset Store for community libraries and extensions. Use BEFORE writing custom modules for pathfinding, RNG, UI, save/load, localization, tweening, input handling, etc. Helps find, compare, and install Defold dependencies.
1defold-examples-fetch
Fetches Defold code examples by topic. Use when looking for practical implementation patterns, sample code, or how to do something specific in Defold.
1