aboutsummaryrefslogtreecommitdiffstats
path: root/docs/RPC.md
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-07-10 16:21:36 +0200
committerblasty <blasty@local>2026-07-10 16:21:36 +0200
commita03a1e08f65806f8963eeffc5f65c28af40bc949 (patch)
tree3a8c6e13294403eee73ab0f4a27231fb3d3aa02c /docs/RPC.md
parentdrive: ergonomic RE helper over the RPC socket (terse text, auto socket) (diff)
downloadida-tui-a03a1e08f65806f8963eeffc5f65c28af40bc949.tar.gz
ida-tui-a03a1e08f65806f8963eeffc5f65c28af40bc949.tar.xz
ida-tui-a03a1e08f65806f8963eeffc5f65c28af40bc949.zip
drive: add save + retype; point docs/skills at the ergonomic frontend
Round out idatui.drive with 'save' and 'retype <fn> <proto>' so the whole common RE loop (orient/understand/act/persist) has a terse command. Update docs/RPC.md and both skills (idatui, idatui-rpc) to recommend idatui.drive as the day-to-day driving surface, with rpcclient/raw as the fallback for unwrapped verbs.
Diffstat (limited to 'docs/RPC.md')
-rw-r--r--docs/RPC.md11
1 files changed, 9 insertions, 2 deletions
diff --git a/docs/RPC.md b/docs/RPC.md
index a4d077f..5cb73ee 100644
--- a/docs/RPC.md
+++ b/docs/RPC.md
@@ -7,7 +7,10 @@ identical on-screen effect a real keyboard would.
Layers: `idatui/rpc.py` (server, above `app.py`), `idatui/_sync.py` (the shared
"wait until the UI settled" logic, also used by the tests), `idatui/rpcclient.py`
-(stdlib client + CLI).
+(stdlib raw JSON client + CLI), and `idatui/drive.py` (the **ergonomic** CLI on
+top — terse text, auto-resolves the socket). For agent-driven RE, prefer
+`idatui.pane` (spawn/stop panes) + `idatui.drive` (see the `idatui-rpc` skill);
+this doc is the underlying protocol reference.
## Running
@@ -15,7 +18,11 @@ Layers: `idatui/rpc.py` (server, above `app.py`), `idatui/_sync.py` (the shared
# pane A — the TUI (real render) + a socket listener
python -m idatui.tui --db <session> --rpc /tmp/ida.sock
-# pane B — drive it
+# pane B — drive it. Ergonomic (auto-finds the socket, terse text):
+python -m idatui.drive where
+python -m idatui.drive pc main strrchr
+python -m idatui.drive rename sub_5BE0 stdout_isatty
+# ...or the raw JSON transport underneath:
python -m idatui.rpcclient --sock /tmp/ida.sock goto target=main
python -m idatui.rpcclient --sock /tmp/ida.sock screen
```