Warrior_EA/.clinerules/tool-guide.md
AnimateDread 061c3d1c8b feat: suppress noisy performance warnings unless VerboseMode
Wrap the `TCWarnIfSlow` calls in `CExpertCustom::OnTick` and the
`TCWarnIfMemoryAbove` call in `CExpertCustom::OnTimer` with `VerboseMode`
guards. This silences routine diagnostic noise during normal operation
while still allowing detailed performance tracing when `VerboseMode`
is enabled.
2026-07-27 10:58:29 -04:00

2.1 KiB

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.

<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.

<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.

<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.

<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 ```). 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.