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.pyNotes:
- Files larger than 256KB or with more than 2000 lines require
offset/limit. - You can override these limits with
RIPPERDOC_MAX_READ_FILE_SIZE_BYTESandRIPPERDOC_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.pyGrep
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 buildFeatures:
- 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.
Navigation
LS
List directory contents.
List: /path/to/directoryLSP Tools
LSP
Interact with Language Server Protocol (LSP) servers for code intelligence.
Supported operations:
| Operation | Description |
|---|---|
goToDefinition | Find where a symbol is defined |
findReferences | Find all references to a symbol |
hover | Get hover information (documentation, type info) |
documentSymbol | Get all symbols in a document |
workspaceSymbol | Search for symbols across the workspace |
goToImplementation | Find 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.pyLSP Configuration
LSP servers are configured in JSON files (loaded in order):
~/.ripperdoc/lsp.json- Global configuration~/.lsp.json- Alternative global location.ripperdoc/lsp.json- Project configuration.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:
| Field | Description |
|---|---|
command | LSP server command (required) |
args | Command arguments |
languages | Language IDs to match |
extensions | File extensions to match |
extensionToLanguage | Map extensions to language IDs |
rootPatterns | Files/dirs that indicate project root |
env | Environment variables for the server |
initializationOptions | LSP initialization options |
settings | LSP workspace settings |
Planning & Tracking
TodoRead / TodoWrite
Manage persistent todo lists for the current project.
Create todo: Implement user authentication
Mark complete: #1EnterPlanMode / 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 issuesExtensions
Skill
Load and execute skill bundles.
Load skill: pdf
Load skill: pptxToolSearch
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:
- Approve individual operations
- Use
--yolomode to skip prompts - Configure permission rules in
.ripperdoc/config.json
See Permissions for details.
Viewing Available Tools
Use the /tools command to see all available tools:
> /tools