| name | init-docs |
| description | Verify and create SDD Framework documentation templates (feature spec, migration spec, envisioning, ADR templates). Use when initializing a project or checking if documentation templates are up to date. Do not use for configuration files (use init-config) or community files (use init-scaffold). |
Init Docs
Manage 4 SDD Framework documentation templates.
Managed Files
| File | Purpose |
|---|
docs/features/TEMPLATE.md | Feature specification template |
docs/migrations/TEMPLATE.md | Migration specification template |
docs/envisioning/TEMPLATE.md | Envisioning document template |
docs/architecture/decisions/ADR-TEMPLATE.md | Architecture Decision Record template |
Important Constraints
NEVER create, copy, or recreate files under .github/plugins/. The plugin folder is managed externally. If sdd-init.sh cannot be located via the discovery snippet below, inform the user to install/update the plugin.
Locating sdd-init.sh
The plugin can be installed in several locations (workspace, runtime env vars, ~/.vscode/agent-plugins/..., ~/.copilot/agent-plugins/...). Use the locate-sdd-init.sh helper to resolve the absolute path of sdd-init.sh once, then reuse it in every subsequent command. The discovery snippet:
for h in \
.github/plugins/devsquad/hooks/locate-sdd-init.sh \
"${COPILOT_PLUGIN_ROOT:-}/hooks/locate-sdd-init.sh" \
"${CLAUDE_PLUGIN_ROOT:-}/hooks/locate-sdd-init.sh" \
"$HOME/.vscode/agent-plugins/github.com/microsoft/devsquad-copilot/.github/plugins/devsquad/hooks/locate-sdd-init.sh" \
"$HOME/.copilot/agent-plugins/github.com/microsoft/devsquad-copilot/.github/plugins/devsquad/hooks/locate-sdd-init.sh" \
"$HOME/.copilot/installed-plugins/devsquad-copilot/devsquad/hooks/locate-sdd-init.sh"; do
if [ -n "$h" ] && [ -f "$h" ]; then
SDD_INIT="$("$h" 2>/dev/null || true)"
[ -n "$SDD_INIT" ] && [ -f "$SDD_INIT" ] && { echo "FOUND: $SDD_INIT"; exit 0; }
fi
done
echo "MISSING"
exit 1
Capture the absolute path printed after FOUND: and substitute it for <SDD_INIT> in every command below. Bash variables do not persist across tool calls, so use the literal path string.
Verification Mode
<SDD_INIT> verify
Parse the JSON output. Each entry in docs has file, status (up-to-date, outdated, missing), and optionally summary.
Creation Mode
To create or update specific files:
<SDD_INIT> create <target-path>
For bulk operations:
<SDD_INIT> create-missing
<SDD_INIT> update-all
To show a diff for an outdated file:
<SDD_INIT> diff <target-path>