Metadata
sdd-init2.0gentleman-programmingMITWhen It’s Triggered
The orchestrator launchessdd-init when:
- User says “sdd init”, “iniciar sdd”, or “openspec init”
- User wants to initialize SDD in a project
- First time using SDD in a new workspace
What It Does
Step 1: Detect Project Context
Reads the project to understand:- Tech stack: Checks
package.json,go.mod,pyproject.toml,Cargo.toml, etc. - Existing conventions: Linters, formatters, test frameworks, CI configuration
- Architecture patterns: Monorepo, microservices, MVC, etc.
Step 2: Resolve Persistence Mode
Follows the persistence contract to determine:engram— if Engram tool is availableopenspec— if explicitly requested by the orchestratornone— fallback (ephemeral)
Step 3: Bootstrap Persistence Backend
If mode is engram:
- Persists project context to Engram with topic_key:
sdd-init/{project-name} - Does NOT create
openspec/directory - Returns observation ID
If mode is openspec:
Creates this structure:
config.yaml based on detected context:
If mode is none:
- Returns detected context inline only
- Recommends enabling
engramoropenspecfor persistence
Step 4: Return Summary
Returns a result envelope adapted to the persistence mode.Result Envelope Examples
Engram Mode
OpenSpec Mode
None Mode
Rules
- NEVER create placeholder spec files — specs are created via sdd-spec during a change
- ALWAYS detect the real tech stack — don’t guess
- If
openspec/already exists, report what’s there and ask if it should be updated - Keep
config.yamlcontext CONCISE — no more than 10 lines - Return a structured envelope with:
status,executive_summary,detailed_report,artifacts,next_recommended, andrisks