跳转至

config

The spec of SpexCode's config SYSTEM — how reflexive, skill-shaped config nodes are defined and how they plug in.

config/ holds the spec of the config system — how SpexCode's reflexive, skill-shaped config nodes work, not the plugins themselves. A config node is a folder where the folder is the unit (a spec.md plus optional helper scripts/assets); it defines a tool behavior, and where it plugs in is a surface frontmatter field:

  • surface: command — exposed as a new-session command.
  • surface: system — appended to agent system prompts.

The field-driven routing rule is specified by the surface child. The instances — the DIY dev-flow plugins this product ships — live in the sibling .config tree, and that is what /api/config and the launcher's system gather read. So: config = the spec of the config system; .config = the instance where the dev-flow plugins live.

These nodes are reflexive: SpexCode's own behavior is configured by spec nodes, managed through the same dogfood ritual as any other node. Frontmatter: title, status, desc, and surface (the routing field). A plugin may also carry kindmutating (the default) if it edits the spec graph, report if it only reports on it — which the new-session / palette tags it by.

The init preset. Which .config plugins spex init seeds into a new project — the shipped dev-flow set vs. the spexcode-only holdbacks, and how the materialized template tree carries it — is its own scoped policy, specified by the init-preset child.