Skip to main content

Interface: SpecdConfig

Defined in: packages/core/src/application/specd-config.ts:129

Fully-resolved project configuration derived from specd.yaml.

All paths are absolute. isExternal is inferred — not declared in the YAML. Delivery mechanisms (@specd/cli, @specd/mcp) receive a SpecdConfig from ConfigLoader and pass it to createKernel() or individual use-case factory functions.

Properties

approvals

readonly approvals: object

Defined in: packages/core/src/application/specd-config.ts:141

Approval gate settings (both default to false).

signoff

readonly signoff: boolean

spec

readonly spec: boolean


artifactRules?

readonly optional artifactRules?: Readonly<Record<string, readonly string[]>>

Defined in: packages/core/src/application/specd-config.ts:143

Per-artifact constraint strings injected after the schema instruction.


configPath

readonly configPath: string

Defined in: packages/core/src/application/specd-config.ts:133

Absolute path to the specd-owned config root.


context?

readonly optional context?: readonly SpecdContextEntry[]

Defined in: packages/core/src/application/specd-config.ts:145

Freeform context entries prepended to the compiled context.


contextExcludeSpecs?

readonly optional contextExcludeSpecs?: readonly string[]

Defined in: packages/core/src/application/specd-config.ts:154

Project-level context spec exclude patterns. Always applied regardless of active workspace.


contextIncludeSpecs?

readonly optional contextIncludeSpecs?: readonly string[]

Defined in: packages/core/src/application/specd-config.ts:150

Project-level context spec include patterns. Always applied regardless of active workspace. Defaults to ['default:*'] when absent.


contextMode?

readonly optional contextMode?: "full" | "lazy"

Defined in: packages/core/src/application/specd-config.ts:164

Controls how CompileContext renders specs in the compiled context.

  • 'lazy' (default) — tier 1 specs (specIds + specDependsOn) rendered in full; tier 2 specs (include patterns + dependsOn traversal) rendered as summaries.
  • 'full' — all collected specs rendered with full content.

Project-level only — not valid inside workspace entries.


llmOptimizedContext?

readonly optional llmOptimizedContext?: boolean

Defined in: packages/core/src/application/specd-config.ts:166

When true, specd may invoke an LLM for enriched output (default: false).


projectRoot

readonly projectRoot: string

Defined in: packages/core/src/application/specd-config.ts:131

Absolute path to the directory containing the active specd.yaml.


schemaOverrides?

readonly optional schemaOverrides?: SchemaOperations

Defined in: packages/core/src/application/specd-config.ts:170

Inline schema override operations from specd.yaml.


schemaPlugins?

readonly optional schemaPlugins?: readonly string[]

Defined in: packages/core/src/application/specd-config.ts:168

Schema plugin references from specd.yaml, in declaration order.


schemaRef

readonly schemaRef: string

Defined in: packages/core/src/application/specd-config.ts:135

Schema reference string as declared in specd.yaml (e.g. '@specd/schema-std').


storage

readonly storage: SpecdStorageConfig

Defined in: packages/core/src/application/specd-config.ts:139

Resolved storage paths.


workspaces

readonly workspaces: readonly SpecdWorkspaceConfig[]

Defined in: packages/core/src/application/specd-config.ts:137

All configured workspaces. Must contain exactly one name === 'default' entry.