Compare commits

...
24 changed files with 29 additions and 24 deletions
@@ -0,0 +1,5 @@
---
"claude-dev": patch
---
Add proactive guidance to write_to_file tool description advising models to write a skeleton first and use replace_in_file incrementally when file content is too large for a single response
@@ -50,7 +50,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -50,7 +50,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -45,7 +45,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -50,7 +50,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -50,7 +50,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -50,7 +50,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -45,7 +45,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -50,7 +50,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -84,7 +84,7 @@
"type": "function",
"function": {
"name": "write_to_file",
"description": "[IMPORTANT: Always output the absolutePath first] Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.",
"description": "[IMPORTANT: Always output the absolutePath first] Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.",
"strict": false,
"parameters": {
"type": "object",
@@ -50,7 +50,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -50,7 +50,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -45,7 +45,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -50,7 +50,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -50,7 +50,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -50,7 +50,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -45,7 +45,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -50,7 +50,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -59,7 +59,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -59,7 +59,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -54,7 +54,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -59,7 +59,7 @@ Usage:
</read_file>
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory /test/project)
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
@@ -38,7 +38,7 @@
},
{
"name": "write_to_file",
"description": "Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.",
"description": "Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.",
"parameters": {
"type": "OBJECT",
"properties": {
@@ -29,7 +29,7 @@ const GENERIC: ClineToolSpec = {
id,
name: "write_to_file",
description:
"Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.",
"Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.",
parameters: [
{
name: "path",
@@ -53,7 +53,7 @@ const NATIVE_NEXT_GEN: ClineToolSpec = {
id,
name: "write_to_file",
description:
"[IMPORTANT: Always output the absolutePath first] Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.",
"[IMPORTANT: Always output the absolutePath first] Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. If the file content is too large to generate in a single response, write a skeleton first (just imports, class/function signatures, no implementations), then use replace_in_file to fill in each section incrementally.",
parameters: [
{
name: "absolutePath",