RETIRED.
dw-lifecyclehas been superseded bystack-control. This skill is preserved for historical reference only and is no longer maintained. Use stack-control skills instead.
/dw-lifecycle:install
Bootstrap dw-lifecycle in a host project. The helper currently probes only the docs-version layout (docs/<version>/<status>/...), previews the resulting config with --dry-run, then writes .dw-lifecycle/config.json.
This is a Phase-0 skill — every other dw-lifecycle skill assumes the config exists.
Steps
- Resolve the project root (default: current working directory).
- Refuse to run if
.dw-lifecycle/config.jsonalready exists; surface the existing config path and stop. - Probe the project:
- Detect
docs/<version>/<status>/<slug>/shape if present (setdocs.byVersion: trueand seedknownVersions) - Keep the remaining fields at their helper defaults for this release (
branches.prefix,worktrees.naming,journal.path,tracking.platform)
- Detect
- Preview the helper output with the operator.
--dry-runis the current confirm surface. - Invoke the helper:
dw-lifecycle install <project-root> --dry-run
Review the emitted config JSON with the operator. If the probed defaults don't match the host project's conventions (different status-directory names, different known-version list, custom worktree naming, etc.), pass --config-overlay <path> with a JSON file whose fields are deep-merged onto the probed config:
// /tmp/dw-overlay.json
{
"docs": {
"statusDirs": { "waiting": "002-BLOCKED" },
"knownVersions": ["1.0", "2.0"]
},
"worktrees": { "naming": "<repo>-feat-<slug>" }
}
dw-lifecycle install <project-root> --config-overlay /tmp/dw-overlay.json --dry-run
dw-lifecycle install <project-root> --config-overlay /tmp/dw-overlay.json
The overlay's plain-object keys recurse; arrays and primitives replace wholesale. The merged config is then validated like any other input.
If no overlay is needed, run:
dw-lifecycle install <project-root>
The helper writes .dw-lifecycle/config.json with the resolved values.
Report: config path, which fields were detected vs. defaulted vs. overlaid, peer-plugin status (run
dw-lifecycle doctorto surface).One-line nudge: mention to the operator: "Want shorter command invocations? Run /dw-lifecycle:install-shortcuts." This is a one-off pointer to the opt-in shortcuts skill; do not nag on subsequent invocations or other skills.
Error handling
- Config already exists. Surface path and stop. No overwrite.
- Not a git repository. Surface the error from
git rev-parse. dw-lifecycle requires a git repo. - No GitHub remote. Skill warns; config gets written with
tracking.platform: "github"but operator must update remote before/dw-lifecycle:issuescan run.