Files
Alexander Kiselev 31bbefee33 fix: address code review issues across codebase
- Make --quiet flag functional by threading it through execute_via_bridge()
- Fix --sort hyphen ambiguity with allow_hyphen_values in clap
- Replace deprecated atty crate with std::io::IsTerminal
- Use config.default_limit as fallback when user doesn't specify --limit
- Respect per-command --json flag in QueryOptions format detection
- Remove dead src/daemon/ module and src/ipc/transport.rs
- Deduplicate headless_script lookup (GhidraClient delegates to bridge)
- Fix stop_bridge() SIGTERM race with graceful shutdown wait loop
- Extend config set to support all config keys
- Clean up dead code warnings and remove blanket #![allow(dead_code)]

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 12:07:52 -08:00

1.8 KiB

ghidra-cli Navigation Index

See @AGENTS.md for agent-specific instructions.

Key Files

What When
src/main.rs Modifying CLI entry point, bridge lifecycle, or output format detection
src/main.rs verify_bridge() Changing bridge ping verification after connecting to an existing bridge
src/main.rs extract_program_from_command() Adding new command variants that support --program switching
src/cli.rs Adding/modifying CLI arguments and subcommands
src/format/mod.rs Implementing new output formats or changing format detection logic
src/ghidra/bridge.rs Bridge process management (start/stop/status/connect via TCP)
src/ghidra/scripts/GhidraCliBridge.java Java bridge server (TCP, command handlers, Ghidra API)
src/ipc/client.rs BridgeClient (TCP connection, command methods)
src/ipc/protocol.rs BridgeRequest/BridgeResponse wire format
PLAN-java-plugin.md Architecture decisions and migration rationale
README.md Understanding project architecture or user-facing command documentation

Modules

What When
src/ghidra/ Bridge management, Ghidra setup/installation, Java bridge script
src/ipc/ TCP client, protocol definitions, transport helpers
src/format/ Handling output format conversion (Table, Compact, JSON, CSV, etc.)
tests/ Writing integration or unit tests

Documentation

What When
CHANGELOG.md Reviewing version history and release notes
src/ghidra/README.md Understanding bridge lifecycle, PID file sequence, TOCTOU elimination, BridgeClient adoption
src/ipc/README.md Understanding TCP wire format, BridgeClient API, single implementation rationale
tests/README.md Understanding test structure and conventions