mirror of
https://github.com/instructkr/claw-code.git
synced 2026-04-07 00:24:50 +08:00
feat: add hooks inspection report
This adds a narrow, shippable /hooks surface that reports the merged\nPreToolUse and PostToolUse shell hook configuration from the Rust\nruntime. The CLI now exposes hooks consistently in direct, REPL, and\nresume-safe slash-command flows, with focused tests covering parsing,\nhelp text, and report rendering.\n\nConstraint: Keep the increment inspection-only instead of introducing a broader TS-style hook model\nRejected: Build matcher-based or interactive hook editing now | too broad for the next parity slice\nConfidence: high\nScope-risk: narrow\nReversibility: clean\nDirective: Extend /hooks from the runtime's current string-list model unless config parsing grows first\nTested: cargo fmt --all; cargo test -p commands; cargo test -p claw-cli; cargo test --workspace\nNot-tested: cargo clippy --workspace --all-targets -- -D warnings (blocked by unrelated existing lsp warnings in rust/crates/lsp/src/client.rs and rust/crates/lsp/src/lib.rs)
This commit is contained in:
13
PARITY.md
13
PARITY.md
@@ -59,15 +59,18 @@ Evidence:
|
||||
### Rust exists
|
||||
Evidence:
|
||||
- Hook config is parsed and merged in `rust/crates/runtime/src/config.rs`.
|
||||
- Hook config can be inspected via Rust config reporting in `rust/crates/commands/src/lib.rs` and `rust/crates/claw-cli/src/main.rs`.
|
||||
- Shell-command `PreToolUse` / `PostToolUse` hooks execute via `rust/crates/runtime/src/hooks.rs`.
|
||||
- Conversation runtime runs pre/post hooks around tool execution in `rust/crates/runtime/src/conversation.rs`.
|
||||
- Hook config can now be inspected through a dedicated Rust `/hooks` report in `rust/crates/commands/src/lib.rs` and `rust/crates/claw-cli/src/main.rs`.
|
||||
- Prompt guidance mentions hooks in `rust/crates/runtime/src/prompt.rs`.
|
||||
|
||||
### Missing or broken in Rust
|
||||
- No actual hook execution pipeline in `rust/crates/runtime/src/conversation.rs`.
|
||||
- No PreToolUse/PostToolUse mutation/deny/rewrite/result-hook behavior.
|
||||
- No Rust `/hooks` parity command.
|
||||
- No TS-style matcher-based hook config model; Rust only supports merged string command lists under `settings.hooks.PreToolUse` and `PostToolUse`.
|
||||
- No TS-style prompt/agent/http hook types, `PostToolUseFailure`, `PermissionDenied`, or richer hook lifecycle surfaces.
|
||||
- No TS-equivalent interactive `/hooks` browser/editor; Rust currently provides inspection/reporting only.
|
||||
- No PreToolUse/PostToolUse input rewrite, MCP-output mutation, or continuation-stop behavior beyond allow/deny plus feedback text.
|
||||
|
||||
**Status:** config-only; runtime behavior missing.
|
||||
**Status:** basic shell hook runtime plus `/hooks` inspection; richer TS hook model still missing.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user