What You’ll Learn

Comprehensive reference for Verdent’s built-in tool system, including file operations, search capabilities, command execution, and integration tools.

File Operations

Tools for reading, editing, and creating files.
Read file contents with optional line ranges for large files. Works with all text formats. Essential for understanding code before modifications.
ParameterDescription
pathFile path to read
start_lineStarting line number (optional, for reading specific sections)
max_linesMaximum number of lines to return (optional, for limiting output)
Use Cases:
  • Reading configuration files before editing them
  • Understanding existing implementation patterns in a codebase
  • Reviewing test files to understand current coverage
Example:
# Read entire file
file_read("src/components/Button.tsx")

# Read specific range for large files
file_read("package-lock.json", start_line=1, max_lines=50)
Best Practices:
  • Use line ranges for files over 500 lines to avoid context overload
  • Read only the sections relevant to your current task
  • For large files, use grep_content first to identify relevant line numbers before reading
Limits:
  • Files larger than 256KB return only the first 256KB of content
  • Very large files (>10,000 lines) should be read in sections to avoid context window exhaustion and slow response times
For files over 500 lines, always use line ranges with file_read to maintain optimal performance.

Search & Navigation

Tools for finding files and searching content. No limits on search results.
Find files matching glob patterns like **/*.ts or src/**/*.js. Supports filtering by directory path, exclude patterns, and result limiting.
ParameterDescription
patternGlob pattern to match files (e.g., **/*.ts, src/**/*.js)
excludePatterns to exclude from results (e.g., **/node_modules/**)
max_resultsMaximum number of files to return
Use Cases:
  • Finding all components of a specific type in a project
  • Locating test files across the codebase
  • Identifying configuration files scattered across directories
Example Patterns:
**/*.tsx          # All TypeScript React files
src/**/*.test.js  # All test files in src
**/config.*       # All config files anywhere
Best Practices:
  • Use specific patterns to narrow scope (src/**/*.ts instead of **/*)
  • Exclude large directories like node_modules to improve performance
  • Set max_results to prevent overwhelming output on large codebases
# Good: Specific scope
glob("src/components/**/*.tsx", max_results=50)

# Less efficient: Too broad
glob("**/*")  # Returns thousands of results

Execution & Integration

Tools for running commands and coordinating tasks. No limits on concurrent subagents.
Execute shell commands with configurable timeout, descriptive summaries, and support for command chaining via &&.
ParameterDescription
commandThe shell command to execute
timeoutMaximum execution time in milliseconds (hard limit: 120000ms / 2 minutes)
summaryHuman-readable description of what the command does
Use Cases:
  • Running test suites and build processes
  • Installing or updating dependencies
  • Executing git operations (commit, push, pull)
  • Running database migrations or scripts
Example:
# Clear summary and reasonable timeout
bash("npm test", timeout=60000, summary="Run Jest test suite")

# Chained dependent commands
bash("npm install && npm run build", timeout=120000)
Limits:
  • Maximum timeout: 120 seconds (2 minutes, hard limit)
  • Commands exceeding the timeout are automatically terminated
  • Set explicit timeouts appropriate to expected execution time
Best Practices:
  • Always provide clear summaries so the command’s purpose is obvious
  • Chain dependent commands with && to ensure proper sequencing
  • Review destructive commands carefully before execution (rm, drop, truncate)
Security Considerations:
  • Commands execute with your user permissions
  • Never run commands from untrusted sources
  • Use Plan Mode for review when working in shared codebases
  • Avoid commands that might expose credentials or sensitive data
Always review bash commands in Plan Mode when working in shared codebases or production environments.
For operations exceeding 2 minutes:
  • Break the work into smaller, sequential commands
  • Run in background and check results separately
  • Execute manually in your terminal for full control

Web Access

Tools for searching and fetching web content.

FAQs

Maximum timeout: 120 seconds (2 minutes)Commands exceeding 2 minutes will be automatically terminated.Alternatives for long operations:
  • Break into smaller commands
  • Run in background and check results separately
  • Execute manually in your terminal
grep_file returns only file paths that contain matches. Use it to quickly identify which files to examine.grep_content returns the matching lines with optional context. Use it when you need to see the actual code.Recommended workflow: Start with grep_file to find relevant files, then use file_read or grep_content for details.
file_edit is for targeted changes. It replaces specific text while preserving the rest of the file.file_write is for complete rewrites. It overwrites the entire file with new content.Use file_edit when possible; it’s safer and preserves file structure.

See Also