Skip to content

[Epic] Hook System — Pre/Post Tool Execution Interceptors #38

@terisuke

Description

@terisuke

概要

ツール実行の前後にシェルスクリプトを挿入できるHookシステムを実装する。

背景

OpenCodeには報告前ファクトチェック強制、CI未通過マージブロック、レビューコメント読み込み強制等のガードレールがない。全てLLMの自律判断に依存し品質保証が不安定。

Claude Codeは47+hookをPreToolUse/PostToolUse/SessionStartイベントに登録し、exit code 2でツール実行をブロック、stderrでコンテキスト注入を実現している。

受入基準

  • PreToolUse: ツール実行前にスクリプト実行、出力をコンテキスト注入
  • PostToolUse: ツール実行後にスクリプト実行
  • SessionStart: セッション開始時にスクリプト実行
  • exit code 2でツール実行ブロック+フィードバック注入
  • opencode.jsonでhookをmatcher付き登録可能
  • hookタイムアウト設定

実装方針

tool/tool.ts のツール実行パスにインターセプター追加。permission/evaluate.ts 前後にhook実行を挟む。

優先度: P0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions