mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-09 02:24:11 +08:00
65 lines
2.1 KiB
Markdown
65 lines
2.1 KiB
Markdown
# 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**:
|
|
```javascript
|
|
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**:
|
|
```javascript
|
|
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):
|
|
1. **smart_search FIRST** for any code/file discovery
|
|
2. Built-in Grep only for single-file exact line search (location already confirmed)
|
|
3. Exa for external/public knowledge
|
|
|
|
**File Reading**:
|
|
1. Unknown location → **smart_search first**, then Read
|
|
2. Known confirmed file → Built-in Read directly
|
|
3. Pattern matching → smart_search (action="find_files")
|
|
|
|
**File Editing**:
|
|
1. Always try built-in Edit first
|
|
2. Fails 1+ times → edit_file (MCP)
|
|
3. 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
|