1
0
Files
AnchorCli/docs/ToolConsolidation.md

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 file
  • mode="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:

  1. File Move Operations (2 → 1) - DONE
  2. File Write Operations (3 → 1) - DONE
  3. Delete Operations (2 → 1) - DONE
  4. Grep Operations (2 → 1) - DONE

All high priority merges completed!