docs: Update documentation for modular structure and 43 tools

**README.md:**
- Updated tool count: 28 → 43
- Added granular analytics tools section (8 tools)
- Added list_indicators, list_scripts, healthcheck to Core workflow
- Added get_latest_report, search_reports to Reports section

**docs/ARCHITECTURE.md:**
- Updated file structure from monolithic (definitions.rs, handlers.rs)
  to modular (definitions/, handlers/ with 9 domain submodules)
- Updated tool count: 27 → 43

**WINDSURF_SETUP.md:**
- Cleaned up mixed Indonesian/English text
- 'Deployment ke' → 'Deployment to', 'di' → 'at', 'atau' → 'or'

**CLAUDE.md:** (gitignored template, updated but not committed)
- Updated file structure documentation
- Updated tool count: 27 → 43
- Updated tool development workflow for modular architecture
This commit is contained in:
Devid HW
2026-04-19 03:28:32 +07:00
parent e7c1a33b0d
commit 3f827fd168
4 changed files with 58 additions and 18 deletions
+10 -8
View File
@@ -56,17 +56,19 @@ impl MqlCompiler {
sync.dest_mq5.display()
);
// MetaEditor always writes to MQL5/compile.log (ignores /log: arg).
// Clear it before compile so we only see output from this run.
let mql5_log = mt5_dir.join("MQL5").join("compile.log");
let _ = fs::remove_file(&mql5_log);
let log_path = wine_prefix.join("drive_c").join("_mt5mcp_compile.log");
let _ = fs::remove_file(&log_path); // clear stale log before compile
self.run_metaeditor(wine_exe, &wine_prefix, &metaeditor, &sync.dest_mq5, &log_path)?;
// Read from MQL5/compile.log (MetaEditor's actual output location).
let log_text = Self::read_log(&mql5_log);
let _ = fs::remove_file(&log_path); // clean up unused /log: output if any
// MetaEditor writes to the /log: path. Fallback: adjacent {ea_name}.log.
let log_text = if log_path.exists() {
Self::read_log(&log_path)
} else {
let adjacent = sync.dest_mq5.with_extension("log");
Self::read_log(&adjacent)
};
let _ = fs::remove_file(&log_path);
tracing::info!("Compile log ({} chars):\n{}", log_text.len(), &log_text[..log_text.len().min(500)]);
// Log format: "path : error: message" / "path : warning: message"