🔧

Ripperdoc

Tools

Built-in tools available in Ripperdoc

Ripperdoc comes with built-in tools that enable the AI to interact with your codebase and system.

File Operations

Read

Read file contents with optional line range.

Read file: /path/to/file.py
Read lines 10-50: /path/to/file.py

Notes:

  • Files larger than 256KB or with more than 2000 lines require offset/limit.
  • You can override these limits with RIPPERDOC_MAX_READ_FILE_SIZE_BYTES and RIPPERDOC_MAX_READ_LINES.

Edit

Replace text in a file using exact string matching.

Edit file: /path/to/file.py
Replace "old_text" with "new_text"

Write

Create or overwrite a file.

Write to: /path/to/new_file.py
Content: [file contents]

MultiEdit

Perform multiple edits in a single operation.

NotebookEdit

Edit Jupyter notebook cells (.ipynb files).

Search Tools

Glob

Find files matching a pattern.

Find all Python files: **/*.py
Find test files: tests/**/*_test.py

Grep

Search file contents using regex.

Search for "def process": src/**/*.py
Find TODO comments: rg "TODO|FIXME"

Shell Execution

Bash

Execute shell commands with timeout and sandbox support.

Run: npm test
Run in sandbox: ls -la (read-only)
Run in background: npm run build

Features:

  • Real-time output streaming
  • Timeout configuration
  • Sandbox mode for read-only operations
  • Background execution

BashOutput

Get output from background shell commands.

KillBash

Terminate running background commands.

LS

List directory contents.

List: /path/to/directory

LSP Tools

LSP

Interact with Language Server Protocol (LSP) servers for code intelligence.

Supported operations:

OperationDescription
goToDefinitionFind where a symbol is defined
findReferencesFind all references to a symbol
hoverGet hover information (documentation, type info)
documentSymbolGet all symbols in a document
workspaceSymbolSearch for symbols across the workspace
goToImplementationFind implementations of an interface

Example usage:

LSP goToDefinition: src/main.py line 12, character 8
LSP findReferences: src/api.py line 45, character 15
LSP documentSymbol: src/models.py

LSP Configuration

LSP servers are configured in JSON files (loaded in order):

  1. ~/.ripperdoc/lsp.json - Global configuration
  2. ~/.lsp.json - Alternative global location
  3. .ripperdoc/lsp.json - Project configuration
  4. .lsp.json - Alternative project location

Example configuration:

{
  "servers": {
    "python": {
      "command": "pylsp",
      "languages": ["python"],
      "extensions": [".py"]
    },
    "typescript": {
      "command": "typescript-language-server",
      "args": ["--stdio"],
      "languages": ["typescript", "javascript"],
      "extensions": [".ts", ".tsx", ".js", ".jsx"]
    },
    "rust": {
      "command": "rust-analyzer",
      "languages": ["rust"],
      "rootPatterns": ["Cargo.toml"]
    }
  }
}

Configuration fields:

FieldDescription
commandLSP server command (required)
argsCommand arguments
languagesLanguage IDs to match
extensionsFile extensions to match
extensionToLanguageMap extensions to language IDs
rootPatternsFiles/dirs that indicate project root
envEnvironment variables for the server
initializationOptionsLSP initialization options
settingsLSP workspace settings

Planning & Tracking

TodoRead / TodoWrite

Manage persistent todo lists for the current project.

Create todo: Implement user authentication
Mark complete: #1

EnterPlanMode / ExitPlanMode

Enter planning mode to design implementation before writing code.

Interaction

AskUserQuestion

Ask the user for clarification or choices.

Subagents

Task

Delegate tasks to specialized subagents.

Run research task: Find all API endpoints
Run code review: Check for security issues

Extensions

Skill

Load and execute skill bundles.

Load skill: pdf
Load skill: pptx

ToolSearch

Find relevant tools for a task.

MCP Integration

ListMcpServers

List connected MCP servers.

ListMcpResources

List resources from MCP servers.

ReadMcpResource

Read a resource from an MCP server.

Tool Permissions

Most tools require permission before executing. You can:

  1. Approve individual operations
  2. Use --yolo mode to skip prompts
  3. Configure permission rules in .ripperdoc/config.json

See Permissions for details.

Viewing Available Tools

Use the /tools command to see all available tools:

> /tools