Files
ghidra-cli/CLAUDE.md
T
Alexander KiselevandClaude Opus 4.6 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

38 lines
1.8 KiB
Markdown

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