Documentation
¶
Overview ¶
Package sdd documents the public packages of the SDD framework, which live under pkg/.
Package pkg/application owns the protocol-neutral runtime, its request and result types, and the infrastructure ports an embedding host implements. Package pkg/llm is the public LLM boundary: the one-method Runner contract over shared Request, Result, Identity, and Usage types. Package pkg/local provides the filesystem and in-memory adapters used by the standalone CLI and available to local embeddings. Package pkg/mcpapp exposes the shared MCP handler, while package pkg/sddtest provides reusable adapter conformance suites.
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
sdd
command
|
|
|
internal
|
|
|
basefacts
Package basefacts assembles the base facts shipped with the sdd binary.
|
Package basefacts assembles the base facts shipped with the sdd binary. |
|
baseprocedures
Package baseprocedures embeds the base procedure entries shipped with the sdd binary.
|
Package baseprocedures embeds the base procedure entries shipped with the sdd binary. |
|
bundledskills
Package bundledskills renders the agent-neutral skill templates embedded in the sdd binary into per-agent skill bundles.
|
Package bundledskills renders the agent-neutral skill templates embedded in the sdd binary into per-agent skill bundles. |
|
chunking
Package chunking is the single place a graph entry becomes index chunks.
|
Package chunking is the single place a graph entry becomes index chunks. |
|
cliout
Package cliout is the bubble-tea-free core of the interactive terminal output experience for long-running sdd commands.
|
Package cliout is the bubble-tea-free core of the interactive terminal output experience for long-running sdd commands. |
|
cliout/tui
Package tui is sdd's bubble tea layer: the transient coordinator display for long-running commands (Interactive, which lets a cliout.Coordinator own the dormant → armed → live → done lifecycle so instant work never starts a program) and the reusable init input prompts (text, select, multi-select, confirm).
|
Package tui is sdd's bubble tea layer: the transient coordinator display for long-running commands (Interactive, which lets a cliout.Coordinator own the dormant → armed → live → done lifecycle so instant work never starts a program) and the reusable init input prompts (text, select, multi-select, confirm). |
|
command
Package command holds domain command structs — write intent.
|
Package command holds domain command structs — write intent. |
|
engine
Package engine implements the v1 workflow engine core: procedure specs parsed from kind: procedure graph entries, a typed variable store per running instance, guards as boolean combinations of named Go predicates, a closed function registry (predicates, queries, commands), gate-transition cascade with chooser stops, and append-only JSONL session persistence.
|
Package engine implements the v1 workflow engine core: procedure specs parsed from kind: procedure graph entries, a typed variable store per running instance, guards as boolean combinations of named Go predicates, a closed function registry (predicates, queries, commands), gate-transition cascade with chooser stops, and append-only JSONL session persistence. |
|
finders
Package finders processes domain query structs into results.
|
Package finders processes domain query structs into results. |
|
git
Package git is the production git adapter for the sdd binary: every git subprocess sdd runs is implemented here, behind the narrow interfaces its consumers define (handlers.Committer/Brancher/Mover/Puller, finders.GitSyncer, the repos package's clone/pull surface).
|
Package git is the production git adapter for the sdd binary: every git subprocess sdd runs is implemented here, behind the narrow interfaces its consumers define (handlers.Committer/Brancher/Mover/Puller, finders.GitSyncer, the repos package's clone/pull surface). |
|
handlers
Package handlers is the only place framework Go code is allowed to have side effects.
|
Package handlers is the only place framework Go code is allowed to have side effects. |
|
index
Package index wraps chromem-go's persistent vector store with the SDD chunk and citation model.
|
Package index wraps chromem-go's persistent vector store with the SDD chunk and citation model. |
|
llm
Package llm holds the local host's LLM client machinery around the public pkg/llm contract: the observing decorator, the timeout decorator, the CallStat/StatsSink recording types, and the embedding plumbing.
|
Package llm holds the local host's LLM client machinery around the public pkg/llm contract: the observing decorator, the timeout decorator, the CallStat/StatsSink recording types, and the embedding plumbing. |
|
llm/claude
Package claude implements llm.Runner by invoking the Claude CLI.
|
Package claude implements llm.Runner by invoking the Claude CLI. |
|
llm/embed
Package embed provides Embedder implementations for OpenAI-compatible (`/v1/embeddings`) and Ollama (`/api/embeddings`) endpoints, plus a factory that dispatches by configured provider and wraps remote providers with a rate.Limiter (paralleling the chat-runner factory).
|
Package embed provides Embedder implementations for OpenAI-compatible (`/v1/embeddings`) and Ollama (`/api/embeddings`) endpoints, plus a factory that dispatches by configured provider and wraps remote providers with a rate.Limiter (paralleling the chat-runner factory). |
|
llm/factory
Package factory is the local host's llm.Runner composition: it resolves model.LLMConfig — a host-private config schema that never goes public — into one composed pkg/llm Runner (provider adapter, rate-limit decorator, timeout decorator).
|
Package factory is the local host's llm.Runner composition: it resolves model.LLMConfig — a host-private config schema that never goes public — into one composed pkg/llm Runner (provider adapter, rate-limit decorator, timeout decorator). |
|
llm/gollm
Package gollm implements llm.Runner on top of github.com/teilomillet/gollm, providing a unified adapter for Anthropic API, OpenAI, Ollama, and other providers supported by gollm.
|
Package gollm implements llm.Runner on top of github.com/teilomillet/gollm, providing a unified adapter for Anthropic API, OpenAI, Ollama, and other providers supported by gollm. |
|
llmstats
Package llmstats provides a durable sink for per-call LLM metrics.
|
Package llmstats provides a durable sink for per-call LLM metrics. |
|
mdcompose
Package mdcompose composes Markdown fragments into one coherent document.
|
Package mdcompose composes Markdown fragments into one coherent document. |
|
meta
Package meta manages the .sdd/ metadata directory: discovery, config reading, and path resolution.
|
Package meta manages the .sdd/ metadata directory: discovery, config reading, and path resolution. |
|
presenters
Package presenters renders structured query results as text for CLI output.
|
Package presenters renders structured query results as text for CLI output. |
|
proctest
Package proctest is the integration harness for the shipped base procedures: a real application over temp filesystem stores — real registry, real template values, real embedded procedure entries — with a scripted LLM.
|
Package proctest is the integration harness for the shipped base procedures: a real application over temp filesystem stores — real registry, real template values, real embedded procedure entries — with a scripted LLM. |
|
query
Package query holds domain query structs — pure read intent, processed by finders.
|
Package query holds domain query structs — pure read intent, processed by finders. |
|
repos
Package repos holds the connected-repos machinery for cross-repo references: the user-global configuration naming which repositories this user is connected to, and the managed read-only clone caches those connections resolve against.
|
Package repos holds the connected-repos machinery for cross-repo references: the user-global configuration naming which repositories this user is connected to, and the managed read-only clone caches those connections resolve against. |
|
repos/repostest
Package repostest builds user-global config fixtures for tests in other packages.
|
Package repostest builds user-global config fixtures for tests in other packages. |
|
serveview
Package serveview is the pure construction layer for what the engine serves the agent: it owns the size policy — part kinds, caps, the calibrated default budget — and the bounded-part construction the engine delegates to, keeping the engine orchestration-only (d-tac-qwc).
|
Package serveview is the pure construction layer for what the engine serves the agent: it owns the size policy — part kinds, caps, the calibrated default budget — and the bounded-part construction the engine delegates to, keeping the engine orchestration-only (d-tac-qwc). |
|
styles
Package styles is the single source of truth for sdd's CLI color palette.
|
Package styles is the single source of truth for sdd's CLI color palette. |
|
textdiff
Package textdiff renders a content-anchored, unified-style line diff without line numbers: hunks are anchored by their context lines alone, so the output stays meaningful for a reader who holds the text but not its numbering (20260826-120330-d-tac-8f8).
|
Package textdiff renders a content-anchored, unified-style line diff without line numbers: hunks are anchored by their context lines alone, so the output stays meaningful for a reader who holds the text but not its numbering (20260826-120330-d-tac-8f8). |
|
textpatch
Package textpatch applies ordered exact search-replace pairs to a text atomically: each pair's Old must match exactly once in the text as it stands when that pair applies, pairs apply in sequence, and the first failing pair aborts the whole application (20260826-120330-d-tac-8f8).
|
Package textpatch applies ordered exact search-replace pairs to a text atomically: each pair's Old must match exactly once in the text as it stands when that pair applies, pairs apply in sequence, and the first failing pair aborts the whole application (20260826-120330-d-tac-8f8). |
|
textsplitter
Package textsplitter chunks markdown documents into metadata-bearing units suitable for embedding.
|
Package textsplitter chunks markdown documents into metadata-bearing units suitable for embedding. |
|
truncate
Package truncate carries the shared cut mechanics for bounded serving (d-tac-qwc): pure functions that cut strings and item slices against byte or count caps, and the Cut accounting record every bound firing produces.
|
Package truncate carries the shared cut mechanics for bounded serving (d-tac-qwc): pure functions that cut strings and item slices against byte or count caps, and the Cut accounting record every bound firing produces. |
|
pkg
|
|
|
application
Package application owns SDD's protocol-neutral runtime, public request and result types, and the infrastructure ports implemented by embedding hosts.
|
Package application owns SDD's protocol-neutral runtime, public request and result types, and the infrastructure ports implemented by embedding hosts. |
|
llm
Package llm is the public LLM boundary of the SDD framework (20260830-234501-d-cpt-q6n): pure vocabulary plus one one-method interface.
|
Package llm is the public LLM boundary of the SDD framework (20260830-234501-d-cpt-q6n): pure vocabulary plus one one-method interface. |
|
local
Package local provides filesystem and in-memory implementations of the application package's infrastructure ports for local SDD deployments.
|
Package local provides filesystem and in-memory implementations of the application package's infrastructure ports for local SDD deployments. |
|
mcpapp
Package mcpapp adapts the protocol-neutral SDD application to MCP.
|
Package mcpapp adapts the protocol-neutral SDD application to MCP. |
|
sddtest
Package sddtest contains reusable conformance suites for SDD public ports.
|
Package sddtest contains reusable conformance suites for SDD public ports. |
Click to show internal directories.
Click to hide internal directories.
