Skip to main content

Module extensions

Module extensions 

Source
Expand description

A project’s extensions: Agent Plugins 1.0 folders in .speccoder/extensions/<name>/ and Spec Kit’s installed extensions, each with speccoder’s part in dev.speccoder/extension.toml. Loaded as contributions speccoder already runs — [hooks], hosted skills, MCP servers — plus views. One digest covers every file of an extension; nothing of it runs, is offered or reaches a model before a person trusted that digest (trust).

Modules§

add
speccoder extensions add and remove: an extension’s folder copied into the project, or deleted from it. Adding runs nothing of the extension — no repository hooks, no submodules, no install scripts — and a repository is taken only at a named commit.
report
What speccoder extensions, Settings › Extensions, Needs You and doctor show: each extension with what it contributes in words, its trust, and — when it changed — what changed, widened first.
trust
Who trusted which extension’s bytes: entries extension:<name> in the hooks’ trust record, holding the digest, the files and the contributions the person saw — so a changed extension shows what changed and what widened.
views
Views: an extension’s data shown by speccoder’s own widgets. A run source runs like an observer command — in the sandbox, speccoder’s state hidden, the checkout read-only — but with no network; a file source is read as it is. Results are kept with the digest of what they read and shown while that holds; nothing of the extension reaches the page but data.

Structs§

Loaded
One extension as loaded.
Offer
A Spec Kit hook an extension declares.
Server
An mcp.json stdio server, its placeholders not yet expanded.

Constants§

DIR
Where Agent Plugins folders live, relative to the project.
NAMESPACE
speccoder’s namespace in an Agent Plugins folder.

Functions§

digest
The digest of the files of the extension in folder, and each file’s own, sorted. In a git checkout these are the files git tracks there — what a run’s worktree holds, so trust and runs see the same bytes; elsewhere (a folder being added) every file.
feature_dir
The folder of feature in the project at root, if the format lists it.
load
Every extension of the project at root, by name.
offered_at
The journey steps at which a Spec Kit hook on event is offered: what it follows is done, what it precedes is next.
project
The project folder of root: where speccoder.toml is, else root.
relative_to
A path a tool reported, relative to the project at project: as given when relative and inside, stripped when absolute inside; None when it leaves the project.
resolve
argv with ./ paths inside folder (an extension’s) and the placeholders vars names expanded: ${NAME} → value. Nothing else is expanded.
servers
The stdio MCP servers of the trusted extensions of the project at root, their placeholders expanded: ${PLUGIN_ROOT} the extension’s folder, ${PLUGIN_DATA} a folder of its own in speccoder’s state, the one place it may write besides the worktree.
trusted
The usable extensions a person trusted, as they are now.