Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
suga
command
Command suga runs the personal agent through CLI or ACP stdio.
|
Command suga runs the personal agent through CLI or ACP stdio. |
|
internal
|
|
|
acpserver
Package acpserver will adapt Suga's personal agent to ACP over stdio.
|
Package acpserver will adapt Suga's personal agent to ACP over stdio. |
|
adapters/gofermem
Package gofermem is the gofer memory backend: project memory stored as gofer notes through the `gofer memory` CLI, so every agent working in the repository sees it in its gofer prime context.
|
Package gofermem is the gofer memory backend: project memory stored as gofer notes through the `gofer memory` CLI, so every agent working in the repository sees it in its gofer prime context. |
|
adapters/memindex
Package memindex adds a rebuildable SQLite FTS projection to a memory Store.
|
Package memindex adds a rebuildable SQLite FTS projection to a memory Store. |
|
adddir
Package adddir resolves the additional directories of one session: the repeatable --add-dir flag and the SUGA_ADD_DIRS environment variable, both "<absolute directory>[:ro|:rw]" (default :ro), plus the set a session already carries in its metadata.
|
Package adddir resolves the additional directories of one session: the repeatable --add-dir flag and the SUGA_ADD_DIRS environment variable, both "<absolute directory>[:ro|:rw]" (default :ro), plus the set a session already carries in its metadata. |
|
cli
Package cli defines the suga command tree; cmd/suga only assembles and runs it.
|
Package cli defines the suga command tree; cmd/suga only assembles and runs it. |
|
clipboardimage
Package clipboardimage reads a picture from the system clipboard for chat's Alt+V paste (image input design 0.3).
|
Package clipboardimage reads a picture from the system clipboard for chat's Alt+V paste (image input design 0.3). |
|
diffview
Package diffview builds what one file tool call changes on disk and renders it as a unified diff.
|
Package diffview builds what one file tool call changes on disk and renders it as a unified diff. |
|
hooks
Package hooks runs the user-configured hook command for chat events.
|
Package hooks runs the user-configured hook command for chat events. |
|
output/termtext
Package termtext removes terminal control sequences from text that came from a model, a tool or another external source before chat writes it to a terminal.
|
Package termtext removes terminal control sequences from text that came from a model, a tool or another external source before chat writes it to a terminal. |
|
personal/backup
Package backup owns the portable, verified suga data backup archive format.
|
Package backup owns the portable, verified suga data backup archive format. |
|
personal/outschema
Package outschema implements the output contract of `suga run --output-schema` and sugasdk.Prompt.OutputSchema (design docs/design/2026-10-22-output-schema-design.md): compile a caller's JSON Schema in a sandbox, extract JSON from a model answer, check it, and render what a report, a trace event and a correction message need.
|
Package outschema implements the output contract of `suga run --output-schema` and sugasdk.Prompt.OutputSchema (design docs/design/2026-10-22-output-schema-design.md): compile a caller's JSON Schema in a sandbox, extract JSON from a model answer, check it, and render what a report, a trace event and a correction message need. |
|
personal/store
Package store is the single-file SQLite core store for personal sessions: sessions, a linear entry log, turns (agentcore run state) and events.
|
Package store is the single-file SQLite core store for personal sessions: sessions, a linear entry log, turns (agentcore run state) and events. |
|
wiring
Package wiring assembles the personal runner (provider, tools, store, rules) shared by the CLI and ACP front ends.
|
Package wiring assembles the personal runner (provider, tools, store, rules) shared by the CLI and ACP front ends. |
|
pkg
|
|
|
agentcore
Package agentcore provides a minimal but extensible agent runtime core.
|
Package agentcore provides a minimal but extensible agent runtime core. |
|
agentcore/api
Package api defines the stable public contracts shared by the agentcore runtime and its first-party adapters.
|
Package api defines the stable public contracts shared by the agentcore runtime and its first-party adapters. |
|
agentcore/examples/authority
command
|
|
|
agentcore/examples/custom
command
|
|
|
agentcore/examples/host
command
|
|
|
agentcore/examples/minimal
command
|
|
|
agentcore/examples/policies
command
|
|
|
agentcore/examples/policyhost
command
|
|
|
agentcore/examples/recommended
command
Command recommended assembles a read-only agent from the agentcore layers: an llm provider, the tools registry with the read-only native tools, workspace skills, an optional MCP server and an approval policy.
|
Command recommended assembles a read-only agent from the agentcore layers: an llm provider, the tools registry with the read-only native tools, workspace skills, an optional MCP server and an approval policy. |
|
agentcore/examples/resume
command
|
|
|
agentcore/examples/stream
command
|
|
|
agentcore/extproc
Package extproc runs external helper processes (exec backends) over the suga exec protocol v1 and provides the credential-stripped environment shared with MCP subprocesses.
|
Package extproc runs external helper processes (exec backends) over the suga exec protocol v1 and provides the credential-stripped environment shared with MCP subprocesses. |
|
agentcore/internal/proctree
Package proctree kills a command's whole process tree: a process group on Unix, a job object (KILL_ON_JOB_CLOSE) on Windows, where the shell starts suspended and is resumed only after joining the job.
|
Package proctree kills a command's whole process tree: a process group on Unix, a job object (KILL_ON_JOB_CLOSE) on Windows, where the shell starts suspended and is resumed only after joining the job. |
|
agentcore/internal/runid
Package runid validates run identifiers shared by agentcore storages.
|
Package runid validates run identifiers shared by agentcore storages. |
|
agentcore/llm
Package llm implements first-party model providers for Suga.
|
Package llm implements first-party model providers for Suga. |
|
agentcore/memory
Package memory defines long-term memory for agents: entry types, the Store interface every backend implements, the Governed wrapper that applies the write policy (taint gate, sanitizing, tombstones, budget, events) and the Router that dispatches scopes to backends.
|
Package memory defines long-term memory for agents: entry types, the Store interface every backend implements, the Governed wrapper that applies the write policy (taint gate, sanitizing, tombstones, budget, events) and the Router that dispatches scopes to backends. |
|
agentcore/memory/execstore
Package execstore is a memory.Store backed by an external command that speaks the suga exec protocol v1 (see package extproc): every operation runs the command once, writes one JSON request line to its stdin and reads one JSON response line from its stdout.
|
Package execstore is a memory.Store backed by an external command that speaks the suga exec protocol v1 (see package extproc): every operation runs the command once, writes one JSON request line to its stdin and reads one JSON response line from its stdout. |
|
agentcore/memory/files
Package files is the built-in memory backend: per scope one MEMORY.md index plus one Markdown file per entry.
|
Package files is the built-in memory backend: per scope one MEMORY.md index plus one Markdown file per entry. |
|
agentcore/netproxy
Package netproxy selects, per request, whether the global proxy configured under network.proxy receives the request or the request connects directly.
|
Package netproxy selects, per request, whether the global proxy configured under network.proxy receives the request or the request connects directly. |
|
agentcore/redact
Package redact scrubs text before it leaves the runtime or is fed back to the model: Secrets masks credential-like values, Clean additionally strips content that can be used to smuggle instructions (invisible characters, HTML comments, forged system tags).
|
Package redact scrubs text before it leaves the runtime or is fed back to the model: Secrets masks credential-like values, Clean additionally strips content that can be used to smuggle instructions (invisible characters, HTML comments, forged system tags). |
|
agentcore/schedule
Package schedule provides in-process delayed, periodic, and idle triggers for agent hosts, such as chat-idle context cleanup and future self-triggering.
|
Package schedule provides in-process delayed, periodic, and idle triggers for agent hosts, such as chat-idle context cleanup and future self-triggering. |
|
agentcore/skills
Package skills loads SKILL.md files: YAML frontmatter (name, description, optional allowed-tools) followed by Markdown instructions.
|
Package skills loads SKILL.md files: YAML frontmatter (name, description, optional allowed-tools) followed by Markdown instructions. |
|
agentcore/tasks
Package tasks runs work in the background for an agent session: start a command (or a function: a watch loop, a hook, later a sub-agent) and get an id at once, read its output while it runs, wait for it with a timeout, kill it.
|
Package tasks runs work in the background for an agent session: start a command (or a function: a watch loop, a hook, later a sub-agent) and get an id at once, read its output while it runs, wait for it with a timeout, kill it. |
|
agentcore/testing
Package agentcoretesting provides package-local conformance helpers for validating public agentcore implementations against the expected contracts.
|
Package agentcoretesting provides package-local conformance helpers for validating public agentcore implementations against the expected contracts. |
|
agentcore/testutil
Package testutil holds small helpers shared by the tests of this module.
|
Package testutil holds small helpers shared by the tests of this module. |
|
agentcore/tools
Package tools provides the tool registry and execution framework.
|
Package tools provides the tool registry and execution framework. |
|
agentcore/tools/mcp
Package mcp implements a JSON-RPC 2.0 client for MCP (Model Context Protocol) servers.
|
Package mcp implements a JSON-RPC 2.0 client for MCP (Model Context Protocol) servers. |
|
agentcore/tools/native
Package native provides built-in tool implementations.
|
Package native provides built-in tool implementations. |
|
agentcore/tools/rules
Package rules contains the approval-rule model and matcher.
|
Package rules contains the approval-rule model and matcher. |
|
chatui
Package chatui contains the reusable terminal chat controls used by suga and other clients.
|
Package chatui contains the reusable terminal chat controls used by suga and other clients. |
|
chatui/lineedit
Package lineedit is a copy of the VT100 line editor (Terminal) from golang.org/x/term v0.29.0 (terminal.go), made display-width aware.
|
Package lineedit is a copy of the VT100 line editor (Terminal) from golang.org/x/term v0.29.0 (terminal.go), made display-width aware. |
|
chatui/termtext
Package termtext removes terminal control sequences from text that came from a model, a tool or another external source before chat writes it to a terminal.
|
Package termtext removes terminal control sequences from text that came from a model, a tool or another external source before chat writes it to a terminal. |
|
sugasdk
Package sugasdk embeds suga in another program, in process: the host opens an engine, opens sessions in its own workspaces, runs turns and reads the answers and events, and reaches the same session history and memory the suga CLI uses.
|
Package sugasdk embeds suga in another program, in process: the host opens an engine, opens sessions in its own workspaces, runs turns and reads the answers and events, and reaches the same session history and memory the suga CLI uses. |
|
scripts
|
|
|
eval
command
Command eval runs the suga evaluation tasks in scripts/eval/testdata/tasks in isolated temporary workspaces and SUGA_HOMEs.
|
Command eval runs the suga evaluation tasks in scripts/eval/testdata/tasks in isolated temporary workspaces and SUGA_HOMEs. |
|
eval/polyglot
command
Command polyglot converts the Go exercises of the Aider polyglot benchmark (a subset of Exercism's Go track) into scripts/eval task directories.
|
Command polyglot converts the Go exercises of the Aider polyglot benchmark (a subset of Exercism's Go track) into scripts/eval task directories. |
|
keyprobe
command
Command keyprobe prints what the terminal sends for each key, in raw mode.
|
Command keyprobe prints what the terminal sends for each key, in raw mode. |
|
sserecord
command
Command sserecord records raw provider SSE response bodies to pkg/agentcore/llm/testdata/sse for replay tests (see README.md there).
|
Command sserecord records raw provider SSE response bodies to pkg/agentcore/llm/testdata/sse for replay tests (see README.md there). |
|
wincons
command
Command wincons reproduces the Windows Ctrl+C behaviour of `suga chat` while a tool call is running, without a person at the keyboard.
|
Command wincons reproduces the Windows Ctrl+C behaviour of `suga chat` while a tool call is running, without a person at the keyboard. |
|
Package skills embeds suga's built-in skills.
|
Package skills embeds suga's built-in skills. |
Click to show internal directories.
Click to hide internal directories.
