mirror of
https://github.com/encounter/ghidra-cli.git
synced 2026-07-10 03:18:56 -07:00
feat: Implement daemon-only architecture for query operations
This commit implements the daemon-only architecture where all query operations (functions, strings, decompile, memory, summary, xrefs) must go through the persistent daemon instead of spawning new Ghidra processes per command. Key changes: - Wire IPC client in main.rs to route queries through daemon - Add requires_daemon() to determine which commands need daemon - Add execute_via_daemon() to translate CLI commands to IPC calls - Deprecate HeadlessExecutor with migration notice - Fix filter.pest hex number parsing order (hex before number) - Add #[allow(dead_code)] to infrastructure modules for future use - Mark E2E tests requiring daemon as #[ignore] Architecture benefits: - Faster queries: Ghidra stays loaded, no 5-30s startup per command - Simpler code: One execution path instead of two - Better UX: Clear daemon requirement with helpful error messages When daemon is not running, users see: Error: This command requires the daemon to be running. Start the daemon with: ghidra daemon start --project <name> Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.5
parent
2fe77ac4a2
commit
33dc10dcca
+1
-1
@@ -5,7 +5,7 @@ edition = "2021"
|
||||
authors = ["Alexander Kiselev"]
|
||||
description = "Rust CLI to run Ghidra headless for reverse engineering with Claude Code and other agents"
|
||||
license = "GPL-3.0"
|
||||
repository = "http://127.0.0.1:62915/git/akiselev/ghidra-cli"
|
||||
repository = "https://github.com/akiselev/ghidra-cli"
|
||||
|
||||
[dependencies]
|
||||
# CLI framework
|
||||
|
||||
Reference in New Issue
Block a user