Toolset

27 tools, namespaced by domain.

Every tool is declared with JSON-schema parameters and returned as a structured call. Names carry their domain — fs_*, search_*, dev_* — so the model always knows what it's reaching for.

Files

9 tools

Read, write, and reshape files — with parents created for you.

Tool
fs_ls
fs_read
fs_write
fs_append
fs_mkdir
fs_edit
fs_delete
fs_move
fs_copy

Search

3 tools

Find code by content, by name, or as a whole tree.

Tool
search_grep
search_glob
search_tree

Media

2 tools

Pull text out of the images and documents in your repo.

Tool
ocr_image
extract_pdf

Shell & dev

4 tools

One sandboxed shell, then first-class git, build, and test tools.

Tool
shell_run
dev_git
dev_build
dev_test

Session

6 tools

Plan the work, remember across turns, and roll back any edit.

Tool
todo_write
todo_read
memory_save
memory_read
snapshots
fs_restore

Web & agent

3 tools

Fetch, ask, and finish — the control plane of a turn.

Tool
web_fetch
agent_ask
agent_finish
Guardrails

Powerful tools, held on a short leash.

  • Confinement

    Every path is resolved inside the project root. Escapes are refused, not sanitised.

  • Write policy

    none, confirm, or allow — with protected paths that never budge.

  • Size caps

    Tool output is truncated in bytes so a big repo cannot blow the context budget.

  • Cleared env

    shell_run runs without your API keys in the environment.

# tools are plain JSON-schema — a peek at one
{
  "name": "fs_edit",
  "description": "Replace a unique...",
  "parameters": {
    "path":       "string",
    "old_string": "string",
    "new_string": "string"
  }
}

Bring your own model. Borrow our tools.