# ghidra-cli A small, dependable command-line interface for read-only Ghidra analysis. The repository is named `ghidra-cli`; the installed executable is `ghidr`. The project now has its version 0.1 Rust contract foundation. The typed CLI, public envelopes and schemas, bounded Rust/Java protocol, and synchronous execution seam are present; store, process/sandbox, and Ghidra adapter execution remain deliberately unconnected. Proposed usage: ```console ghidr doctor ghidr inspect ./sample ghidr functions ./sample ghidr decompile ./sample --name main ``` Each command will identify the sample by its content, reuse compatible cached analysis, and produce versioned JSON by default. Human-readable presentation is available explicitly through `--format human`. ## Documents - [PRD.md](./PRD.md) defines the product requirements and initial delivery scope. - [CONTEXT.md](./CONTEXT.md) defines the domain language used throughout the project. - [docs/adr/](./docs/adr/) records durable architectural decisions. - [docs/research/](./docs/research/) records cited prior-art investigations, including the Ghidra MCP comparison that informed protocol safeguards and the post-version-0.1 roadmap. ## Status Foundation only. Every accepted command currently returns a typed `internal_not_implemented` runtime error instead of pretending Ghidra analysis succeeded. Subsequent layers implement the library's synchronous executor contract while preserving the committed schemas and reviewed fixtures. ## License Licensed under the [Apache License 2.0](./LICENSE). Development may use AI assistance. Maintainers remain responsible for reviewing the resulting design and code, verifying provenance, testing behavior, and ensuring dependency-license compatibility.