📁 File Operations

Detailed reference for file operation tools available in Code Puppy.

list_files

List files and directories with intelligent filtering and safety features.

Signature

list_files(directory=".", recursive=True)

Parameters

ParameterTypeDefaultDescription
directorystring"."Path to list
recursivebooleantrueInclude subdirectories

Features

read_file

Read file contents with optional line-range selection.

Signature

read_file(file_path, start_line=None, num_lines=None)

Parameters

ParameterTypeDefaultDescription
file_pathstringrequiredPath to file
start_lineintNoneStarting line (1-based)
num_linesintNoneNumber of lines to read

Features

edit_file

Comprehensive file editing with multiple strategies.

Payload Types

ContentPayload - Create or Overwrite

{
  "file_path": "example.py",
  "content": "print('hello world')",
  "overwrite": true
}

ReplacementsPayload - Targeted Replacements

{
  "file_path": "example.py",
  "replacements": [
    {"old_str": "foo", "new_str": "bar"},
    {"old_str": "baz", "new_str": "qux"}
  ]
}

DeleteSnippetPayload - Remove Text

{
  "file_path": "example.py",
  "delete_snippet": "# TODO: remove this"
}

Best Practices

🐾 Tips
  • Keep diffs small (100-300 lines)
  • Use multiple sequential edits for large refactors
  • Target minimal snippets in old_str
  • If file grows beyond 600 lines, split it

delete_file

Safely delete files with diff generation.

Signature

delete_file(file_path)

Features

grep

Search across files using ripgrep.

Signature

grep(search_string, directory=".")

Parameters

ParameterTypeDefaultDescription
search_stringstringrequiredPattern to search (supports rg flags)
directorystring"."Root directory

Examples

# Simple search
grep("TODO")

# Case-insensitive
grep("--ignore-case error")

# Word boundaries
grep("-w function")

# Regex pattern
grep("def \\w+\\(")