Skip to main content

How Tools Work

brewdata uses tools to interact with your code and environment. These specialized helpers perform specific actions like reading files, making edits, running commands, or searching your codebase. Tools provide automation for common development tasks without requiring manual execution.

Tool Workflow

Describe what you want to accomplish in natural language, and brewdata will:

  1. Select the appropriate tool based on your request
  2. Present the tool with its parameters for your review
  3. Execute the approved tool and show you the results
  4. Continue this process until your task is complete

Tool Safety and Approval

Every tool use requires your explicit approval. When brewdata proposes a tool, you'll see:

  • A "Save" button to approve and execute the tool
  • A "Reject" button to decline the proposed tool
  • An optional "Auto-approve" setting for trusted operations

This safety mechanism ensures you maintain control over which files are modified, what commands are executed, and how your codebase is changed. Always review tool proposals carefully before saving them.

Core Tools Reference

Tool NameDescriptionCategory
read_fileReads the content of a file with line numbersRead
search_codebaseSearches relevant files from the codebase based on RAGRead
search_filesSearches for text or regex patterns across filesRead
list_filesLists files and directories in a specified locationRead
write_to_fileCreates new files or overwrites existing onesEdit
apply_diffMakes precise changes to specific parts of a fileEdit
execute_commandRuns commands in the VS Code terminalExecute
ask_followup_questionAsks you a clarifying questionWorkflow
attempt_completionIndicates the task is completeWorkflow
switch_modeChanges to a different operational modeWorkflow
new_taskCreates a new subtask with a specific starting modeWorkflow