Warrior_EA/.clinerules/tool-guide.md

57 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

# Cline Tooling Syntax Tutorial & Strict Enforcement
You must strictly follow the syntax rules below for every tool call. Failures to comply will crash the system with unparsable response errors.
## 1. Core Tooling Rules
* **Format**: Execute exactly ONE tool call per response.
* **Separation**: Never mix conversational text inside the XML/JSON tool block. Text goes BEFORE or AFTER, never inside.
* **No Placeholders**: Never use `// ... rest of code` or `...`. You must provide exact lines or full context as required by the schema.
## 2. Syntax Reference Tutorial
### Read File (`read_file`)
Use this to inspect file contents. Always specify exact path and range if needed.
```xml
<read_file>
<path>Expert/ExpertCustom.mqh</path>
</read_file>
```
### Write File (`write_file`)
Use this ONLY to create new files or overwrite small files entirely. Never leave code truncated.
```xml
<write_file>
<path>Variables/Inputs.mqh</path>
<content>// Full file content here
void OnTick() {
// Exact code
}</content>
</write_file>
```
### Search & Replace (`replace_in_file`)
This is the most sensitive tool. The `search` block must match the target file exactly, character for character, including spaces and indentation.
```xml
<replace_in_file>
<path>Expert/ExpertCustom.mqh</path>
<search>void OldFunction() {
Print("Old");
}</search>
<replace>void NewFunction() {
Print("New");
}</replace>
</replace_in_file>
```
### Execute Command (`execute_command`)
Run one single command. Do not chain multiple commands with `&&` if they can fail independently.
```xml
<execute_command>
<command>grep -rn "VerboseMode" Warrior_EA/</command>
</execute_command>
```
## 3. Invalid Formatting Guardrails (Anti-Crash)
* **CRITICAL**: Do not wrap tool blocks inside standard markdown code blocks (e.g., do NOT do \`\`\`xml <tool> \`\`\`). Output the XML tags directly.
* **Tag Closure**: Always double-check that every opening tag (e.g., `<path>`) has its exact closing tag (e.g., `</path>`).
* **Empty Responses**: If you have no action to perform, state it in plain text. Do not output empty XML tags.