Saltar al contenido

SDK de hooks en Go ​

El SDK registra controladores tipados de hooks nativos. No instala plugins ni convierte automáticamente hooks en componentes portables Skills/MCP.

Instalar el módulo publicado ​

bash
go get github.com/777genius/plugin-kit-ai/sdk@v1.3.0

El módulo declara Go 1.22 y toolchain Go 1.26.10. Lo disponible en main puede no existir en v1.3.0.

Ejemplo ​

go
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) crea la aplicación; Claude(), Codex(), Gemini() y Qoder() proporcionan registros; Use agrega middleware y Run() / RunContext(ctx) atiende una invocación. El agente debe configurar por separado el ejecutable, el evento y el payload; este ejemplo no prueba activación.

Eventos y compatibilidad ​

La estabilidad se define por evento. El README documenta Claude Stop / PreToolUse / UserPromptSubmit, Codex Notify, nueve hooks de Gemini y los hooks Qoder indicados; otros pueden ser public-beta. El observer de parada de Cursor continúa en beta, sin cualificación completa de instalación nativa.

Supported() describe eventos de runtime, no soporte de instalador. La entrada está limitada por MaxPayloadBytes. Deja stdout reservado para la respuesta del protocolo; registra diagnósticos en stderr. Para un ejecutable compartido consulta la detección, sin consumir stdin dos veces salvo que implementes un Config.IO reutilizable.

Política de estabilidad.

Documentación pública para autores de plugins e integradores.