feat: translate plugin hooks for OpenCode

オープン
#114 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
22/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発

調査の方向性

Start with the OpencodeTranslator class, where hooks() currently returns null, and the note that users see when hooks are skipped. Then read the hook scripts shipped by the VGV plugins to see what PreToolUse and PostToolUse expect as input. The work is to design and install a small OpenCode plugin that calls those scripts, and to extend doctor and uninstall to cover it. Done means the hooks run on OpenCode after vgv_ai install and the note is gone.

索引モデルが issue の本文から書いたものです。

説明

feature

Description

vgv_ai install configures OpenCode with the skills, agents and MCP servers, but not the hooks. OpencodeTranslator leaves hooks() null because OpenCode runs hooks as JavaScript/TypeScript plugins (docs), not as shell commands, so users only get a note.

The VGV plugins rely on hooks for enforcement, for example vgv-ai-flutter-plugin runs dart analyze/dart format after edits and blocks flutter test in the shell in favor of the MCP tool. On OpenCode none of that runs.

Add hook support for OpenCode, e.g. by installing a small OpenCode plugin that maps the plugins' PreToolUse/PostToolUse hooks onto OpenCode's plugin events and runs the existing hook scripts.

Requirements

  • OpenCode runs the VGV plugins' hook scripts after vgv_ai install
  • doctor and uninstall cover the installed OpenCode plugin
  • The "no hooks" note is removed for OpenCode

Additional Context

Moved from VeryGoodOpenSource/vgv-ai-flutter-plugin#127.

主要言語
Dart
スター
3
フォーク
0
平均マージ
2日 4時間
マージ済み PR(30日)
40

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

VeryGoodOpenSource/vgv_ai_cli のほかの issue

VeryGoodOpenSource/vgv_ai_cli の issue をすべて見る

似ている issue

Dart の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。