tools
This commit is contained in:
93
tools.md
Normal file
93
tools.md
Normal file
@@ -0,0 +1,93 @@
|
||||
# Available Tools
|
||||
|
||||
This document lists all the tools available in the AI coding assistant.
|
||||
|
||||
## File Operations
|
||||
- **read_file**: Read contents of a file from the local filesystem
|
||||
- **write**: Write a file to the local filesystem (overwrites existing files)
|
||||
- **search_replace**: Perform exact string replacements in files
|
||||
- **MultiEdit**: Make multiple edits to a single file in one operation
|
||||
- **delete_file**: Delete a file at the specified path
|
||||
- **list_dir**: List files and directories in a given path
|
||||
- **glob_file_search**: Search for files matching a glob pattern
|
||||
|
||||
## Code Analysis and Search
|
||||
- **codebase_search**: Semantic search tool to find code snippets relevant to queries
|
||||
- **grep**: Powerful search tool built on ripgrep for exact symbol/string searches
|
||||
- **read_lints**: Read and display linter errors from the current workspace
|
||||
|
||||
## Terminal Operations
|
||||
- **run_terminal_cmd**: Execute terminal commands on behalf of the user
|
||||
|
||||
## Web and External Resources
|
||||
- **web_search**: Search the web for real-time information about any topic
|
||||
- **fetch_rules**: Fetch rules provided by the user to help with navigating the codebase
|
||||
|
||||
## Task Management
|
||||
- **todo_write**: Create and manage a structured task list for coding sessions
|
||||
|
||||
## Notebook Operations
|
||||
- **edit_notebook**: Edit Jupyter notebook cells (supports editing existing cells and creating new ones)
|
||||
|
||||
## Git Operations
|
||||
- **fetch_pull_request**: Fetch pull request information including title, description, and diff
|
||||
|
||||
## Memory Management
|
||||
- **update_memory**: Create, update, or delete memories in a persistent knowledge base
|
||||
|
||||
## Diagram Creation
|
||||
- **create_diagram**: Create Mermaid diagrams
|
||||
|
||||
## Tool Usage Guidelines
|
||||
|
||||
### File Operations
|
||||
- Always prefer editing existing files rather than creating new ones
|
||||
- Use MultiEdit for multiple changes to the same file
|
||||
- Be careful with file paths - use relative paths when possible
|
||||
|
||||
### Code Search
|
||||
- Use codebase_search for semantic queries about functionality
|
||||
- Use grep for exact string/symbol searches
|
||||
- Check linter errors before and after making changes
|
||||
|
||||
### Terminal Commands
|
||||
- Commands run in the same shell session unless specified otherwise
|
||||
- Use non-interactive flags for commands that require user input
|
||||
- Background long-running processes appropriately
|
||||
|
||||
### Task Management
|
||||
- Use todo_write for complex multi-step tasks
|
||||
- Update task status in real-time
|
||||
- Only one task should be in_progress at a time
|
||||
|
||||
### Memory Management
|
||||
- Use update_memory for persistent information that should be remembered across sessions
|
||||
- Include relevant context and metadata
|
||||
- Use appropriate action types (create, update, delete)
|
||||
|
||||
### Web Search
|
||||
- Use for real-time information not available in training data
|
||||
- Include version numbers or dates for technical queries
|
||||
- Verify current facts and updates
|
||||
|
||||
### Notebook Editing
|
||||
- Use edit_notebook exclusively for Jupyter notebook operations
|
||||
- Provide extensive context for unique identification
|
||||
- Support both editing existing cells and creating new ones
|
||||
|
||||
### Diagram Creation
|
||||
- Use create_diagram for Mermaid diagrams
|
||||
- Specify diagram type and content clearly
|
||||
- Diagrams are rendered as SVG images
|
||||
|
||||
### Git Operations
|
||||
- Use fetch_pull_request to get detailed PR information
|
||||
- Includes title, description, diff, and commit details
|
||||
- Useful for understanding code changes and context
|
||||
|
||||
## Best Practices
|
||||
- Batch tool calls when possible for better performance
|
||||
- Always read files before editing them
|
||||
- Use appropriate tools for the task at hand
|
||||
- Follow the user's coding rules and preferences
|
||||
- Maintain code quality and avoid creating duplicate implementations
|
||||
Reference in New Issue
Block a user