SDK Go Hooks
Le SDK Go enregistre des handlers typés pour les hooks natifs. Il ne procède pas à l'installation des plugins et ne transforme pas les hooks en composants Skills/MCP portables.
Installation du module publié
go get github.com/777genius/plugin-kit-ai/sdk@v1.3.0Le module déclare Go 1.22 avec une directive de toolchain Go 1.26.10. Le code de main peut contenir des événements absents de v1.3.0.
Exemple
package main
import (
"os"
uap "github.com/777genius/plugin-kit-ai/sdk"
"github.com/777genius/plugin-kit-ai/sdk/claude"
"github.com/777genius/plugin-kit-ai/sdk/codex"
)
func main() {
app := uap.New(uap.Config{Name: "review-hooks"})
app.Claude().OnStop(func(event *claude.StopEvent) *claude.Response {
return claude.Allow()
})
app.Codex().OnNotify(func(event *codex.NotifyEvent) *codex.Response {
return codex.Continue()
})
os.Exit(app.Run())
}New(Config) crée une application ; Claude(), Codex(), Gemini() et Qoder() exposent les registres ; Use ajoute des middleware ; Run() ou RunContext(ctx) traite une invocation. L'agent doit lui-même configurer le lancement de l'exécutable, le nom de l'événement et les données. Ce code n'atteste pas une activation native.
Compatibilité et exécution
Les événements stables documentés incluent Claude Stop / PreToolUse / UserPromptSubmit, Codex Notify, les neuf hooks Gemini et les hooks Qoder documentés. D'autres sont public-beta ; l'observer stop de Cursor reste beta, sans qualification d'installation native. Consultez le contrat exact pour le module épinglé.
Supported() renseigne sur les événements runtime, pas sur les installateurs. MaxPayloadBytes borne l'entrée ; stdout reste réservé au protocole de réponse, stderr aux diagnostics. Pour un exécutable partagé, utilisez la détection en évitant de consommer stdin deux fois, sauf avec un Config.IO adapté.