| port | No | Container apps: the port the app listens on. `0` resets to the default. | |
| action | No | `get` — show the build settings and what they resolve to. `update` — change the settings passed in the other arguments; arguments you omit stay as they are. | get |
| project | Yes | The project: its slug (`my-site`) or id, as listed by `my_projects`. The site address works too (`https://clear-garden-vypm.layero.app` or just `clear-garden-vypm`) — note that the address host is NOT always the slug. | |
| framework | No | Framework preset for a static build: `vite`, `nextjs`, `astro`, `generic`, `static` … | |
| force_type | No | Set `project_type` even though the platform detected another type. | |
| node_version | No | Node major, e.g. `22`. `""` resets to auto-detection. | |
| project_type | No | How the project runs: `spa` — static files (any static framework); the others — an app in a container. The platform checks the repository and may object (409): then re-read the objection and pass `force_type=true` only if the person insists. | |
| build_command | No | Build command, whole: `npm run build`. | |
| start_command | No | Container apps: start command, listening on `0.0.0.0` and `$PORT`. `""` resets to detection by entry point. | |
| root_directory | No | App folder inside the repository (`apps/web`). `""` resets to the repository root. Changing it clears the detected framework and commands of the old folder. | |
| install_command | No | Install command. `""` resets to auto-detection by lockfile. | |
| package_manager | No | Package manager override. | |
| output_directory | No | Folder that holds `index.html` AFTER the build (`dist`, `build`, `dist/client`). | |