Use this page to reference project workspaces, sandboxes, and continuous integration commands.
The Project manifest: the envelope (apiVersion, kind, metadata; see Manifests) plus spec.
Fields
ProjectSpec (spec)
| Field | Type | Default | Meaning |
|---|
workspace | Workspace | required | Where agents work. |
sandbox | Sandbox or null | null | The container their commands run in, when they run any. |
ci | CI or null | null | How the project is built and tested. |
Workspace (spec.workspace)
| Field | Type | Default | Meaning |
|---|
type | folder or git | required | folder for a path on this machine, git for a repository. |
path | str or null | null | folder: the path agents work in. |
url | str or null | null | git: the repository URL to clone. |
defaultBranch | str | main | git: the branch a new worktree starts from. |
forge | none or github | none | Which forge hosts the project's pull requests. |
forgeUrl | str or null | null | The forge's URL, for a self-hosted instance. |
tokenEnv | str or null | null | The environment variable holding the forge token. |
Sandbox (spec.sandbox)
| Field | Type | Default | Meaning |
|---|
image | str | required | The container image to start. |
cpus | float | 2.0 | How many CPUs the sandbox may use. |
memory | str | 2g | The sandbox's memory limit, as Docker spells it. |
timeout | int | 300 | Seconds one command may run before it is killed. |
egress | list[str] | [] | Hosts the sandbox may reach; empty means no network. |
env | list[str] | [] | Environment variable names the sandbox gets; Docker reads them from the worker, Kubernetes from envSecret. |
CI (spec.ci)
| Field | Type | Default | Meaning |
|---|
script | str | required | The command that builds and tests the project. |
test | str or null | null | The command behind the ws.test tool; defaults to script. |
See also