Настройки сборки проекта
project_settingsBuild settings of a project: read them, or change them without the dashboard — the way out when detection guessed wrong (wrong folder, wrong type, wrong command).
`get` returns `settings` (what is saved on the project; null — not set,
the platform decides), `resolved` (what the next build will actually use,
per field: `value`, `source`, `policy`) and `last_build` (what the latest
ready build was really built with). Precedence is `layero.json` in the
repository > project settings > detection > framework default: a field
with `policy: "locked_by_file"` is set by `layero.json`, and changing the
project setting will not change the build — edit the file instead.
`update` CHANGES HOW THE PROJECT IS BUILT — ask the person first unless
they asked for exactly this change. Prefer `layero.json` in the repository
for anything that should live with the code; use this tool for what the
file cannot hold (`root_directory`, `project_type`) and for projects you
cannot push to. Nothing is rebuilt by the update itself: apply it with
`retry_deploy(redeploy=true)` or a push.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"project": "<project>"
},
"name": "project_settings"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | Container apps: the port the app listens on. `0` resets to the default. | |
| badge | No | The «Made with Layero» badge at the bottom of the site's pages. `false` hides it — on the Pro plan only; takes effect with the next deploy. | |
| 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`). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| changed | No | ||
| project | Yes | ||
| resolved | No | ||
| settings | Yes | ||
| last_build | No | ||
| next_action | Yes | ||
| project_type | Yes | ||
| layero_json_warnings | No |