ghidra-cli/AGENTS.md

1.3 KiB

AGENTS.md

Read first

  • Read PRD.md, CONTEXT.md, and applicable ADRs before changing behavior.
  • Keep the Rust harness synchronous and the Ghidra worker capability-sandboxed.
  • Treat JSON schemas, error codes, ordering, and exit statuses as public API.

Change rules

  • Add a regression test for every bug fix.
  • Never change golden files or schemas implicitly.
  • Keep the Rust operation registry, Java dispatch, schemas, and goldens in exact parity.
  • Preserve strict stdout/stderr framing.
  • Preserve the worker's no-network and no-default-data-egress boundary.
  • Do not add unsafe, an async runtime, database, daemon, or dependency without an accepted design change.
  • Do not weaken bounds, validation, sandboxing, or atomic store behavior.

Required checks

  • cargo fmt --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo test --all-targets
  • cargo deny check
  • nix flake check

Source control

  • Use Jujutsu for normal local change management.
  • Use jj status, jj diff, jj log, jj describe, and jj new.
  • Push Forgejo bookmarks through jj git push.
  • Keep changes focused and preserve unrelated user work.
  • Use direct Git commands only for interop or recovery that Jujutsu cannot perform.
  • Never run git clean -xdf; it can delete colocated .jj/ metadata.