Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion content/manuals/ai/sandboxes/customize/kits.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@ commands:
```

Startup commands cover things like launching background services,
warming caches, or refreshing config on each start:
warming caches, or refreshing config on each start. They must be
idempotent — see the [`startup`](#startup) spec reference:

```yaml
commands:
Expand Down Expand Up @@ -489,6 +490,13 @@ for non-interactive prep — launching daemons, warming caches,
refreshing config — and use `commands.initFiles` for any value that
needs to land on disk before the agent runs.

Startup commands must be idempotent. They run on every sandbox start
and replay on container restarts, so a command that fails or
misbehaves on a second invocation breaks the restart path. Guard
work with existence checks, use upserts instead of inserts, and
prefer commands that converge to the same end state regardless of
how many times they run.

#### `initFiles`

Files written at sandbox start, with runtime substitution.
Expand Down