mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-05 01:50:27 +08:00
2.1 KiB
2.1 KiB
File Modification
Before modifying files, always:
- Try built-in Edit tool first
- Escalate to MCP tools when built-ins fail
- Use write_file only as last resort
MCP Tools Usage
edit_file - Modify Files
When: Built-in Edit fails, need dry-run preview, or need line-based operations
How:
edit_file(path="/file.ts", oldText="old", newText="new") // Replace text
edit_file(path="/file.ts", oldText="old", newText="new", dryRun=true) // Preview diff
edit_file(path="/file.ts", oldText="old", newText="new", replaceAll=true) // Replace all
edit_file(path="/file.ts", mode="line", operation="insert_after", line=10, text="new line")
edit_file(path="/file.ts", mode="line", operation="delete", line=5, end_line=8)
Modes: update (replace text, default), line (line-based operations)
Operations (line mode): insert_before, insert_after, replace, delete
write_file - Create/Overwrite Files
When: Create new files, completely replace content, or edit_file still fails
How:
write_file(path="/new-file.ts", content="file content here")
write_file(path="/existing.ts", content="...", backup=true) // Create backup first
Priority Logic
Note
: Search priority is defined in
context-tools.md- smart_search has HIGHEST PRIORITY for all discovery tasks.
Search & Discovery (defer to context-tools.md):
- smart_search FIRST for any code/file discovery
- Built-in Grep only for single-file exact line search (location already confirmed)
- Exa for external/public knowledge
File Reading:
- Unknown location → smart_search first, then Read
- Known confirmed file → Built-in Read directly
- Pattern matching → smart_search (action="find_files")
File Editing:
- Always try built-in Edit first
- Fails 1+ times → edit_file (MCP)
- Still fails → write_file (MCP)
Decision Triggers
Search tasks → Always start with smart_search (per context-tools.md) Known file edits → Start with built-in Edit, escalate to MCP if fails External knowledge → Use Exa