Vibe Coding
Tip: `claude plugin test` is a separate command from `claude plugin eval`, and it runs your hooks against the real engine
Plugin tests live in a mod's `tests/` folder and run with `claude plugin test mods/diff`. A test imports `{ describe, expect, mock, test, tier }` from `claude-code/testing`, calls `tier('builtin')` to declare which tier the plugin loads in, and receives the engine's own `$` plus the plugin's `on`. Hooks the test registers sit beneath the plugin where the outside world would be, and any engine call they leave unanswered throws and names its event, so an incomplete mock is a failure rather than a silent pass.
Source
↳ Follow the thread