Interface: ConfigWriter
Defined in: packages/core/src/application/ports/config-writer.ts:31
Port for writing and mutating the project configuration (specd.yaml).
Unlike ConfigLoader, which is read-only, ConfigWriter handles the
operations that create or modify the on-disk configuration.
Methods
initProject()
initProject(
options):Promise<InitProjectResult>
Defined in: packages/core/src/application/ports/config-writer.ts:40
Creates a new specd.yaml in projectRoot, creates the required storage
directories, and appends specd.local.yaml to .gitignore.
Parameters
options
Initialisation options
Returns
Promise<InitProjectResult>
The path and metadata of the created config
Throws
When specd.yaml already exists and force is not set
readSkillsManifest()
readSkillsManifest(
configPath):Promise<Record<string,string[]>>
Defined in: packages/core/src/application/ports/config-writer.ts:62
Reads the skills key from specd.yaml and returns it, or {} if absent.
Parameters
configPath
string
Absolute path to the specd.yaml to read
Returns
Promise<Record<string, string[]>>
A map of agent name → list of installed skill names
recordSkillInstall()
recordSkillInstall(
configPath,agent,skillNames):Promise<void>
Defined in: packages/core/src/application/ports/config-writer.ts:50
Records that a skill set was installed for a given agent by merging the
skill names into the skills key of specd.yaml.
Parameters
configPath
string
Absolute path to the specd.yaml to update
agent
string
The agent name (e.g. 'claude')
skillNames
readonly string[]
The skill names to record
Returns
Promise<void>