You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Epic] Hook System — Pre/Post Tool Execution Interceptors #38
Activity
feat(hook): add shell script hook system for tool lifecycle events
terisuke commentedon Apr 5, 2026
受入基準全項目確認済み。
受入基準照合
PreToolUse: ツール実行前にスクリプト実行、出力をコンテキスト注入
→
packages/opencode/src/session/prompt.ts:470PreToolUse hooks実行、stderr→message注入→ E2E確認:
/tmp/hook-fire-log.txtにPreToolUse fired: tool=read記録PostToolUse: ツール実行後にスクリプト実行
→
packages/opencode/src/session/prompt.ts:507PostToolUse hooks実行SessionStart: セッション開始時にスクリプト実行
→
packages/opencode/src/session/prompt.tsSessionStart hooks実行exit code 2でツール実行ブロック+フィードバック注入
→
packages/opencode/src/hook/execute.ts:30exit 2→block判定→ テスト:
test/hook/execute.test.ts21 passopencode.jsonでhookをmatcher付き登録可能
→
packages/opencode/src/config/config.tshooks field追加→
packages/opencode/src/hook/schema.tsHookConfig + matcher fieldhookタイムアウト設定
→
packages/opencode/src/hook/execute.ts:25AbortSignal.timeout(timeout)テスト: 35 pass, E2Eデプロイ検証: opencode run でhook発火確認済み
PR: #74 (実装), #76 (CRITICAL/HIGH fix)
follow-up: #73 (code-reviewer MEDIUM)