This page provides a comprehensive catalog of Qoder's tool ecosystem, documenting all available tools organized by functional category. Each tool enables Qoder to perform specific operations within the development environment, from code search and file manipulation to terminal execution and memory management.
For information about how these tools are executed in parallel or sequentially, see Parallel Tool Execution Strategy. For detailed rules about file editing tools specifically, see File Operations and Editing Rules. For validation tools usage, see Code Change Validation Pipeline.
Sources: Qoder/prompt.txt292-377
The following diagram illustrates how Qoder's 20+ tools are organized into eight functional categories, forming a comprehensive development assistant toolkit.
Sources: Qoder/prompt.txt292-339
This category provides three complementary search mechanisms for navigating and understanding codebases.
| Tool | Purpose | Primary Use Case |
|---|---|---|
search_codebase | Symbol search or semantic search across codebase | Finding specific identifiers (classes, methods) or functionality descriptions |
grep_code | Regular expression-based file content search | Pattern matching and exact text searches |
search_file | File discovery using glob patterns | Locating files by name or extension pattern |
Symbol Search vs Semantic Search: Use symbol search when the query contains actual code identifiers like ClassName, methodName, or variableName. Use semantic search when describing functionality without specific symbol names. The decision rule: if the query contains PascalCase, camelCase, or "class/interface/method + Name" patterns, use symbol search.
Sources: Qoder/prompt.txt296-300 Qoder/prompt.txt346-350
File operations form the core of Qoder's code modification capabilities, with six tools spanning reading, creating, editing, and deleting files.
| Tool | Function | Constraints |
|---|---|---|
list_dir | List contents of directory | Read-only operation |
read_file | Read file contents with optional dependency viewing | Read-only operation |
create_file | Create new files | Maximum 600 lines per file |
search_replace | Make precise string replacements in existing files | Total line count across all replacements must stay under 600 lines; PRIMARY editing method |
edit_file | Propose edits to existing files | FALLBACK ONLY - use only when search_replace is unsuitable |
delete_file | Safely delete files | Destructive operation |
The system enforces strict penalties to ensure proper tool selection:
search_replace for editing files unless explicitly instructed to use edit_file, or face $100,000,000 penaltyoriginal_text is uniquely identifiable in the fileSources: Qoder/prompt.txt302-309 Qoder/prompt.txt236-243 Qoder/prompt.txt360-365
Terminal operations enable command execution and output monitoring for build processes, test runs, and development servers.
| Tool | Function | Usage Pattern |
|---|---|---|
run_in_terminal | Execute shell commands | Use immediately when user requests execution; use background mode for long-running processes (servers, watch modes) |
get_terminal_output | Get output from background terminal processes | Poll for output from commands started with background flag |
Sequential Execution Requirement: run_in_terminal tools MUST ALWAYS be executed sequentially, never in parallel, to maintain proper execution order and avoid race conditions.
Sources: Qoder/prompt.txt312-314 Qoder/prompt.txt69 Qoder/prompt.txt75 Qoder/prompt.txt367-370
The validation category contains a single mandatory tool that ensures code quality after every modification.
get_problems ToolFunction: Retrieve compile/lint errors in code files
Mandatory Usage Pattern:
get_problems to validateThis tool is central to Qoder's validation pipeline and is documented extensively in Code Change Validation Pipeline.
Sources: Qoder/prompt.txt316-318 Qoder/prompt.txt146-151 Qoder/prompt.txt372-376
Task management tools enable Qoder to break down complex operations into trackable, verifiable steps.
| Tool | Function | Usage Guidelines |
|---|---|---|
add_tasks | Add new tasks to task list | Use for complex multi-step tasks (3+ distinct steps); use for non-trivial tasks requiring careful planning; skip for single straightforward tasks or trivial operations |
update_tasks | Update task properties and status | Mark tasks complete ONLY after actual execution - NEVER before |
When using task management tools, follow these key principles:
Sources: Qoder/prompt.txt320-323 Qoder/prompt.txt22-38 Qoder/prompt.txt245-250
Memory tools enable Qoder to persist knowledge across sessions, addressing the context window limitation inherent to language models.
| Tool | Function | Primary Use Case |
|---|---|---|
update_memory | Store/update/delete knowledge and lessons learned | Persist project-specific information, user preferences, and experience lessons |
search_memory | Search and retrieve codebase memory and knowledge | Query information across multiple knowledge documents for exploratory queries |
Memory is organized into four categories with two scope levels:
Categories:
user_prefer: Personal info, dialogue preferences, project-related preferencesproject_info: Technology stack, project configuration, environment setupproject_specification: Development standards, architecture specs, design standardsexperience_lessons: Pain points to avoid, best practices, tool usage optimizationScopes:
workspace: Project-specific informationglobal: Information applicable across all projectsUse memory tools when:
Use search_memory when:
This memory system is documented in detail at Memory Management and Knowledge Systems.
Sources: Qoder/prompt.txt326-328 Qoder/prompt.txt152-174 Qoder/prompt.txt352-357
Web operations enable real-time information retrieval and browser-based development workflows.
| Tool | Function | Use Case |
|---|---|---|
fetch_content | Fetch content from web pages | Retrieve documentation, API responses, or external resources |
search_web | Search the web for real-time information | Access current information beyond training cutoff |
run_preview | Set up preview browser for web servers | Enable live preview of web applications during development |
When building web applications:
run_in_terminal (background mode)run_preview to set up preview browsercurl with run_in_terminal to access website and check for errorsSources: Qoder/prompt.txt330-334 Qoder/prompt.txt98-105
The rules category provides access to detailed documentation about system rules and best practices.
| Tool | Function | Usage |
|---|---|---|
fetch_rules | Query detailed content of specific rules | Access comprehensive rule documentation when needed for task execution |
Sources: Qoder/prompt.txt337-338
The following diagram illustrates the decision-making process for selecting appropriate tools based on query characteristics.
The tool usage philosophy emphasizes:
When multiple tools could accomplish a task:
search_replace unless explicitly instructed to use edit_fileget_problems after ALL code changesSources: Qoder/prompt.txt340-377
Qoder enforces strict rules about which tools can be executed in parallel versus sequentially to ensure correctness and performance.
For maximum efficiency, execute independent operations simultaneously:
read_file callslist_dir callssearch_codebase callsPerformance Benefit: 3-5x faster execution compared to sequential calls
Example: When reading 3 files, run 3 tool calls in parallel to read all files into context simultaneously.
The following tools MUST ALWAYS be executed sequentially:
run_in_terminal - Commands must run sequentially to ensure proper execution order and avoid race conditionssearch_replace, edit_file, create_file) - File modifications must be sequential to maintain consistencyViolation Consequence: System instability and data corruption
| Operation Type | Execution Mode | Rationale |
|---|---|---|
| Read-only tools | Parallel | Independent I/O operations, no state conflicts |
| File editing | Sequential | Maintains file consistency, prevents race conditions |
| Terminal commands | Sequential | Ensures proper execution order, prevents resource conflicts |
| Mixed read operations | Parallel | No dependencies between operations |
Sources: Qoder/prompt.txt71-80 Qoder/prompt.txt68-69 Qoder/prompt.txt75
All tools must be invoked following strict schema requirements:
When discussing tool operations with users:
Example:
search_replace tool to modify the file"Sources: Qoder/prompt.txt59-69
Refresh this wiki