2.4 KiB
2.4 KiB
Tool Consolidation Ideas
This document outlines opportunities to merge similar tools to simplify the API.
1. File Write Operations
Current tools: CreateFile, InsertAfter, AppendToFile
Proposed merge: WriteToFile
public static string WriteToFile(
string path,
string[] content,
string? mode = "create",
string? anchor = null)
Behavior:
mode="create"- Creates new file (error if exists)mode="append"- Appends to EOF (creates if missing)mode="insert"- Inserts after anchor (requires existing file)
Benefits:
- Reduces 3 tools to 1
- Cleaner API for LLM
- Unified error handling
2. File Move Operations
Current tools: RenameFile, CopyFile
Proposed merge: MoveFile
public static string MoveFile(
string sourcePath,
string destinationPath,
bool copy = false)
Behavior:
copy=false- Moves file (current RenameFile behavior)copy=true- Copies file (current CopyFile behavior)
Benefits:
- 90% identical logic
- Only difference is File.Move vs File.Copy
- Both create parent directories
- Similar error handling patterns
4. Grep Operations ✅ DONE
Current tools: GrepFile, GrepRecursive
Proposed merge: Grep
public static string Grep(
string path,
string pattern,
string mode = "recursive",
string? filePattern = null)
Behavior:
mode="file"- Searches single file (current GrepFile)mode="recursive"- Searches directory recursively (current GrepRecursive)filePattern- Optional glob to filter files when recursive
Benefits:
- Very similar logic
- Reduces 2 tools to 1
- Cleaner API for LLM
5. Delete Operations ✅ DONE
Current tools: DeleteFile, DeleteDir
Proposed merge: Delete
public static string Delete(
string path,
string mode = "file")
Behavior:
mode="file"- Deletes a filemode="dir"- Deletes a directory (recursive)
Benefits:
- Unified interface for all deletion
- Similar error handling patterns
- Reduces 2 tools to 1
These consolidations reduced the tool count from 17 to 13 tools (4 completed), making the API simpler and easier for the LLM to use effectively.
Completed merges:
- ✅ File Move Operations (2 → 1) - DONE
- ✅ File Write Operations (3 → 1) - DONE
- ✅ Delete Operations (2 → 1) - DONE
- ✅ Grep Operations (2 → 1) - DONE
All high priority merges completed!