Skip to content

plugin-gh

Placement runtime (out-of-process over gRPC)
Source github.com/opencharly/plugin-gh/candy/plugin-gh
Version 2026.252.1500
Candy plugin-gh

This plugin is not listed in charly/charly.yml’s compiled_plugins:. It is not part of the shipped binary: charly builds and loads it out-of-process over gRPC when a plan references one of its words (the coexist path).

The reserved words this plugin serves:

  • gh — command class
  • gh — verb class

The canonical GitHub surface — one implementation of the gh read ops (pr_meta, pr_files, pr_diff, pr_commits, pr_thread, head_sha) as a typed, declarative verb (gh: {op: ..., repo: ..., pr: ...}) and the standalone charly gh CLI. Replaces every hand-rolled exec.Command(“gh”) call: the client resolves the token explicitly (GH_TOKEN/GITHUB_TOKEN → the gh hosts.yml auth), targets api.github.com directly (never an ambiguous default-host redirect), and surfaces the HTTP status + body on every non-2xx — no more “gh meta failed” with swallowed stderr.

The CUE schema below is the authoritative grammar for this plugin’s input. It is the same single source that generates the plugin’s Go parameter types and answers the runtime Describe RPC, so this page cannot disagree with either.

// gh.cue — the plugin-gh verb surface's own schema (SDD single source).
// Self-contained: no package clause, no base references.
#GhInput: {
op: "pr_meta" | "pr_files" | "pr_diff" | "pr_commits" | "pr_thread" | "head_sha"
repo: string // the FULL slug (owner/name) — e.g. omacom/omarchy
pr: int & >0
}

See also the candy reference for this candy’s install surface.