Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
gofer
command
Command gofer is the CLI entrypoint for the gofer agent platform.
|
Command gofer is the CLI entrypoint for the gofer agent platform. |
|
internal
|
|
|
capability
Package capability carries the read-only runtime capability report the TUI's /mcp and /skills command-panel tabs render (gofer#303): which MCP servers are configured and which of them currently hold a live connection, how the tool surface is presented to the model, and which SKILL.md skills a session created here would load.
|
Package capability carries the read-only runtime capability report the TUI's /mcp and /skills command-panel tabs render (gofer#303): which MCP servers are configured and which of them currently hold a live connection, how the tool surface is presented to the model, and which SKILL.md skills a session created here would load. |
|
config
Package config is gofer's native on-disk configuration.
|
Package config is gofer's native on-disk configuration. |
|
daemon
Package daemon hosts a supervisor.Supervisor behind a WebSocket listener speaking the Agent Client Protocol (ACP) v1 over JSON-RPC 2.0, plus a small set of gofer-native control methods (namespaced "gofer/*") for the CLI client.
|
Package daemon hosts a supervisor.Supervisor behind a WebSocket listener speaking the Agent Client Protocol (ACP) v1 over JSON-RPC 2.0, plus a small set of gofer-native control methods (namespaced "gofer/*") for the CLI client. |
|
daemonbridge
Package daemonbridge adapts a *daemon.Client — a JSON-RPC-over-WebSocket connection to a running `gofer daemon` — to the TUI's narrow tui.Supervisor consumer interface, so the same roster/peek/attach TUI that renders a local in-process supervisor (see internal/tuibridge) can instead render a daemon's live roster: a session created from a phone or editor ACP client appears in the laptop TUI too.
|
Package daemonbridge adapts a *daemon.Client — a JSON-RPC-over-WebSocket connection to a running `gofer daemon` — to the TUI's narrow tui.Supervisor consumer interface, so the same roster/peek/attach TUI that renders a local in-process supervisor (see internal/tuibridge) can instead render a daemon's live roster: a session created from a phone or editor ACP client appears in the laptop TUI too. |
|
decision
Package decision carries gofer's structured-decision round trip: an agent asks the human one or more titled, multiple-choice questions through the `ask_user` tool and blocks until a client answers them.
|
Package decision carries gofer's structured-decision round trip: an agent asks the human one or more titled, multiple-choice questions through the `ask_user` tool and blocks until a client answers them. |
|
lspdiag
Package lspdiag is the consuming layer over the SDK's lsp/ package (see agent-sdk-go's docs/DESIGN.md "LSP" section): it starts real language servers on demand, drives a diagnostics round-trip after an edit/write tool call, and hands the result to gofer's tool-result pipeline so it reaches both the transcript/event stream AND the model's own context.
|
Package lspdiag is the consuming layer over the SDK's lsp/ package (see agent-sdk-go's docs/DESIGN.md "LSP" section): it starts real language servers on demand, drives a diagnostics round-trip after an edit/write tool call, and hands the result to gofer's tool-result pipeline so it reaches both the transcript/event stream AND the model's own context. |
|
mcpconn
Package mcpconn is gofer's MCP connection manager: the consuming-side piece the SDK's optional agent-sdk-go/mcp package deliberately does not build (see that package's doc — "server configuration, credential resolution, the connection manager, and any tool-index decorator are the consuming application's job").
|
Package mcpconn is gofer's MCP connection manager: the consuming-side piece the SDK's optional agent-sdk-go/mcp package deliberately does not build (see that package's doc — "server configuration, credential resolution, the connection manager, and any tool-index decorator are the consuming application's job"). |
|
modelcatalog
Package modelcatalog answers "which models can THIS credential actually reach, and which one should gofer default to?".
|
Package modelcatalog answers "which models can THIS credential actually reach, and which one should gofer default to?". |
|
modelmeta
Package modelmeta is gofer's single source of truth for the short, friendly display name it shows per model id.
|
Package modelmeta is gofer's single source of truth for the short, friendly display name it shows per model id. |
|
permrationale
Package permrationale derives the plain-English answer to "why is this tool call being gated?" from what the guard reported about it.
|
Package permrationale derives the plain-English answer to "why is this tool call being gated?" from what the guard reported about it. |
|
prompt
Package prompt composes a session's system prompt from config.Prompt's ordered file list — the replacement for cmd/gofer's old defaultSystemPrompt string constant (see docs/PRD.md's "no hardcoded prompts" constraint).
|
Package prompt composes a session's system prompt from config.Prompt's ordered file list — the replacement for cmd/gofer's old defaultSystemPrompt string constant (see docs/PRD.md's "no hardcoded prompts" constraint). |
|
render
Package render turns a session's typed SDK event stream into output for a terminal client.
|
Package render turns a session's typed SDK event stream into output for a terminal client. |
|
router
Package router is the production router-side remote supervisor of M6 process isolation (docs/milestones/M6-process-isolation.md, Phases 2-3).
|
Package router is the production router-side remote supervisor of M6 process isolation (docs/milestones/M6-process-isolation.md, Phases 2-3). |
|
sandbox
Package sandbox provides gofer's OS-specific containment backends for the SDK's permission guard.
|
Package sandbox provides gofer's OS-specific containment backends for the SDK's permission guard. |
|
skillset
Package skillset wires the SDK's skill package (SKILL.md discovery with progressive disclosure — github.com/jedwards1230/agent-sdk-go/skill) into a gofer session: resolving config.Skills into a sdkskill.Load call, applying config.Skills.Disabled (a gofer-native config concept the SDK's skill.Set has no notion of), and exposing the single tool.Tool a session's registry is wired with — the invocation surface internal/supervisor.sessionGuard registers alongside internal/decision's ask_user, matching the "gofer owns config and invocation, the SDK owns discovery" split the SDK's skill package doc calls out explicitly.
|
Package skillset wires the SDK's skill package (SKILL.md discovery with progressive disclosure — github.com/jedwards1230/agent-sdk-go/skill) into a gofer session: resolving config.Skills into a sdkskill.Load call, applying config.Skills.Disabled (a gofer-native config concept the SDK's skill.Set has no notion of), and exposing the single tool.Tool a session's registry is wired with — the invocation surface internal/supervisor.sessionGuard registers alongside internal/decision's ask_user, matching the "gofer owns config and invocation, the SDK owns discovery" split the SDK's skill package doc calls out explicitly. |
|
subagent
Package subagent is gofer's `spawn_subagent` tool.Tool: the model-facing surface of agent-initiated subagent spawning.
|
Package subagent is gofer's `spawn_subagent` tool.Tool: the model-facing surface of agent-initiated subagent spawning. |
|
supervisor
Package supervisor is gofer's registry of live coding-agent sessions: the M2 daemon's core.
|
Package supervisor is gofer's registry of live coding-agent sessions: the M2 daemon's core. |
|
telemetry
Package telemetry is gofer's OpenTelemetry integration: traces, metrics, and slog trace-correlation built entirely off the SDK's typed Event/Op stream.
|
Package telemetry is gofer's OpenTelemetry integration: traces, metrics, and slog trace-correlation built entirely off the SDK's typed Event/Op stream. |
|
tui
Package tui is gofer's minimal attach surface: an ordered transcript, an input buffer, and a status line, rendered as a projection of a session's typed Event stream (per docs/CONTRACT.md's Event/Op contract in agent-sdk-go).
|
Package tui is gofer's minimal attach surface: an ordered transcript, an input buffer, and a status line, rendered as a projection of a session's typed Event stream (per docs/CONTRACT.md's Event/Op contract in agent-sdk-go). |
|
tui/layout
Package layout holds the geometry constants the TUI screens share.
|
Package layout holds the geometry constants the TUI screens share. |
|
tui/testkit
Package testkit is the golden-file harness for gofer's TUI components.
|
Package testkit is the golden-file harness for gofer's TUI components. |
|
tui/theme
Package theme defines the small semantic token palette gofer's TUI renders through, plus the color-profile gate that lets golden tests force deterministic, colorless output.
|
Package theme defines the small semantic token palette gofer's TUI renders through, plus the color-profile gate that lets golden tests force deterministic, colorless output. |
|
tuibridge
Package tuibridge adapts the daemon's *supervisor.Supervisor to the TUI's narrow tui.Supervisor consumer interface.
|
Package tuibridge adapts the daemon's *supervisor.Supervisor to the TUI's narrow tui.Supervisor consumer interface. |
|
uicopy
Package uicopy is the single home for gofer's operator-facing TUI copy: every phrase a human reads on screen, in one place, so it can be changed once instead of hunted for across 46 files.
|
Package uicopy is the single home for gofer's operator-facing TUI copy: every phrase a human reads on screen, in one place, so it can be changed once instead of hunted for across 46 files. |
|
usercmd
Package usercmd loads user-authored markdown slash commands — the files a user drops in `<store-root>/commands/` (user scope) or `<cwd>/.gofer/commands/` (project scope) to turn a saved prompt into a `/command`.
|
Package usercmd loads user-authored markdown slash commands — the files a user drops in `<store-root>/commands/` (user scope) or `<cwd>/.gofer/commands/` (project scope) to turn a saved prompt into a `/command`. |
|
versionskew
Package versionskew classifies how a client's build relates to the daemon it connected to.
|
Package versionskew classifies how a client's build relates to the daemon it connected to. |
|
websearch
Package websearch is gofer's `web_search` tool.Tool: the model-facing projection of the SDK's provider-agnostic `search` package (M7 workstream 4).
|
Package websearch is gofer's `web_search` tool.Tool: the model-facing projection of the SDK's provider-agnostic `search` package (M7 workstream 4). |
|
wirestream
Package wirestream reconstructs a session's typed event.Event stream from a running `gofer daemon`'s wire — the tui-free reconstruction core shared by github.com/jedwards1230/gofer/internal/daemonbridge (which adapts it to the TUI's roster/attach consumer interface) and, in M6, the router's supervisor-shaped worker proxy (internal/router).
|
Package wirestream reconstructs a session's typed event.Event stream from a running `gofer daemon`'s wire — the tui-free reconstruction core shared by github.com/jedwards1230/gofer/internal/daemonbridge (which adapts it to the TUI's roster/attach consumer interface) and, in M6, the router's supervisor-shaped worker proxy (internal/router). |
|
worker
Package worker hosts a single-session gofer daemon — the "a worker is a single-session daemon" realization from the M6 process-isolation design (docs/milestones/M6-process-isolation.md).
|
Package worker hosts a single-session gofer daemon — the "a worker is a single-session daemon" realization from the M6 process-isolation design (docs/milestones/M6-process-isolation.md). |
|
vhs
|
|
|
harness
command
Command harness drives the real gofer TUI (internal/tui) through fixed, canned data so charmbracelet VHS can capture true rendered frames — colors, spacing, glyphs — that the plain-text Ascii golden tests can't show.
|
Command harness drives the real gofer TUI (internal/tui) through fixed, canned data so charmbracelet VHS can capture true rendered frames — colors, spacing, glyphs — that the plain-text Ascii golden tests can't show. |
Click to show internal directories.
Click to hide internal directories.