ghidra-cli/README.md
2026-07-28 19:49:43 +00:00

48 lines
1.7 KiB
Markdown

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