Skip to main content

Core Config

This document summarizes the project-level config shape used by core use cases and adapters.

Config file

Core writes and mutates specd.yaml through ConfigWriter and reads it through ConfigLoader.

For plugin management, the relevant section is:

plugins:
agents:
- name: '@specd/plugin-agent-claude'
- name: '@specd/plugin-agent-copilot'
- name: '@specd/plugin-agent-codex'
- name: '@specd/plugin-agent-opencode'
config:
someKey: someValue

Plugin declaration model

  • plugins is a map of plugin type buckets.
  • The current CLI flow uses agents.
  • Each entry has:
    • name (required package name)
    • config (optional object passed to plugin update/install flows)

Core guarantees:

  • Add/update declaration by (type, name) key.
  • Remove declaration by (type, name).
  • List declarations by type or across all types.

Initialization defaults

InitProject writes a baseline specd.yaml with:

  • schema
  • workspaces
  • storage

Plugin declarations are optional at initialization and are added later by plugin commands or project init --plugin.