ship
Apply edits, create or move files, then run verify commands in one call. If any check fails, all files are restored byte-for-byte so changes only land when tests pass.
Instructions
Edit files and run the tests in ONE call. Applies search/replace edits or a patch, new files, moves and deletes across any number of files, then runs your verify command(s). If verify fails, every file is restored byte-for-byte and you get the failing output. If an edit cannot be applied, nothing is written and the reply shows the nearest text. Prefer it over separate edit calls (or apply_patch) plus a test run whenever a change spans files or must pass a check.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "ship"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | Subdirectory of the workspace to work in (default: the workspace root). | |
| edits | No | Search/replace edits. search is text copied from the file and must identify one place, unless replace_all. Several edits may name the same file. | |
| moves | No | Rename or move files. Edits in the same call use the new path. | |
| patch | No | Instead of edits: one patch for any number of files, in apply_patch format (*** Begin Patch / *** Update File: path / @@ / lines starting with space, - or +) or as a unified diff. | |
| verify | No | Commands that must each exit 0, run in order, e.g. ["npm test"]. Omit only for untestable changes. | |
| writes | No | Create or fully replace files. | |
| deletes | No | Files to delete. | |
| timeout_ms | No | Per-command verify timeout (default 60000, max 300000). | |
| allow_secrets | No | Allow changing secret files. | |
| rollback_on_fail | No | Restore files if verify fails (default true). |