Skip to content

Build a static app ​

For an app that serves public files, choose any suitable technology and source layout. An optional build creates the runtime artifact, but the artifact must also contain or depend on an application-owned HTTP server. Automaton does not host a build directory by itself. Declare both the build and runtime contract in automaton.json.

json
{
  "name": "My App",
  "application": {
    "build": {
      "command": {
        "executable": "build-tool",
        "arguments": ["build"],
        "workingDirectory": ".",
        "environment": {}
      },
      "outputDirectory": "dist",
      "timeoutSeconds": 900
    },
    "runtime": {
      "command": {
        "executable": "app-server",
        "arguments": [],
        "workingDirectory": ".",
        "environment": {}
      },
      "port": 8080
    }
  }
}

The runtime process must listen on the effective AUTOMATON_PORT. A static or frontend-only app still needs this HTTP runtime because its public URL is served by the application-owned process. A runtime-less deployment is only suitable for an Actions-only or other finite-work app with no HTTP endpoint.

Run automaton validate, then automaton deploy. Wait for Succeeded and verify the deployed URL. Use automaton publish only after explicit approval.

The automaton.json reference documents the complete generic contract.

Automaton Monster public docs