Interactive configuration of GSD workflow agents (research, plan_check, verifier) and model profile selection via multi-question prompt. Updates .planning/config.json with user preferences. Optionally saves settings as global defaults (~/.gsd/defaults.json) for future projects. read all files referenced by the invoking prompt's execution_context before starting. Ensure config exists and load current state: ```bash node "./.opencode/get-shit-done/bin/gsd-tools.cjs" config-ensure-section INIT=$(node "./.opencode/get-shit-done/bin/gsd-tools.cjs" state load) if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi ``` Creates `.planning/config.json` with defaults if missing and loads current config values. ```bash cat .planning/config.json ``` Parse current values (default to `true` if not present): - `workflow.research` — spawn researcher during plan-phase - `workflow.plan_check` — spawn plan checker during plan-phase - `workflow.verifier` — spawn verifier during execute-phase - `workflow.nyquist_validation` — validation architecture research during plan-phase (default: true if absent) - `model_profile` — which model each agent uses (default: `simple`) - `git.branching_strategy` — branching approach (default: `"none"`) Use question with current values pre-selected: ``` question([ { question: "Which model profile for agents?", header: "Model", multiSelect: false, options: [ { label: "Simple", description: "One model for all agents (not flexible)" }, { label: "Smart (Recommended)", description: "Two models: one for reseach and planing, other for execution and verification" }, { label: "Genius (most flexible)", description: "Three models: different for every stage" } ] }, { question: "Spawn Plan Researcher? (researches domain before planning)", header: "Research", multiSelect: false, options: [ { label: "Yes", description: "Research phase goals before planning" }, { label: "No", description: "Skip research, plan directly" } ] }, { question: "Spawn Plan Checker? (verifies plans before execution)", header: "Plan Check", multiSelect: false, options: [ { label: "Yes", description: "Verify plans meet phase goals" }, { label: "No", description: "Skip plan verification" } ] }, { question: "Spawn Execution Verifier? (verifies phase completion)", header: "Verifier", multiSelect: false, options: [ { label: "Yes", description: "Verify must-haves after execution" }, { label: "No", description: "Skip post-execution verification" } ] }, { question: "Auto-advance pipeline? (discuss → plan → execute automatically)", header: "Auto", multiSelect: false, options: [ { label: "No (Recommended)", description: "Manual /new + paste between stages" }, { label: "Yes", description: "Chain stages via task() subagents (same isolation)" } ] }, { question: "Enable Nyquist Validation? (researches test coverage during planning)", header: "Nyquist", multiSelect: false, options: [ { label: "Yes (Recommended)", description: "Research automated test coverage during plan-phase. Adds validation requirements to plans. Blocks approval if tasks lack automated verify." }, { label: "No", description: "Skip validation research. Good for rapid prototyping or no-test phases." } ] }, { question: "Git branching strategy?", header: "Branching", multiSelect: false, options: [ { label: "None (Recommended)", description: "Commit directly to current branch" }, { label: "Per Phase", description: "Create branch for each phase (gsd/phase-{N}-{name})" }, { label: "Per Milestone", description: "Create branch for entire milestone (gsd/{version}-{name})" } ] } ]) ``` Merge new settings into existing config.json: ```json { ...existing_config, "model_profile": "simple" | "smart" | "genius", "workflow": { "research": true/false, "plan_check": true/false, "verifier": true/false, "auto_advance": true/false, "nyquist_validation": true/false }, "git": { "branching_strategy": "none" | "phase" | "milestone" } } ``` write updated config to `.planning/config.json`. Ask whether to save these settings as global defaults for future projects: ``` question([ { question: "Save these as default settings for all new projects?", header: "Defaults", multiSelect: false, options: [ { label: "Yes", description: "New projects start with these settings (saved to ~/.gsd/defaults.json)" }, { label: "No", description: "Only apply to this project" } ] } ]) ``` If "Yes": write the same config object (minus project-specific fields like `brave_search`) to `~/.gsd/defaults.json`: ```bash mkdir -p ~/.gsd ``` write `~/.gsd/defaults.json` with: ```json { "mode": , "granularity": , "model_profile": , "commit_docs": , "parallelization": , "branching_strategy": , "workflow": { "research": , "plan_check": , "verifier": , "auto_advance": , "nyquist_validation": } } ``` Display: ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ GSD ► SETTINGS UPDATED ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | Setting | Value | |----------------------|-------| | Model Profile | {simple/smart/genius} | | Plan Researcher | {On/Off} | | Plan Checker | {On/Off} | | Execution Verifier | {On/Off} | | Auto-Advance | {On/Off} | | Nyquist Validation | {On/Off} | | Git Branching | {None/Per Phase/Per Milestone} | | Saved as Defaults | {Yes/No} | These settings apply to future /gsd-plan-phase and /gsd-execute-phase runs. Quick commands: - /gsd-set-profile — switch model profile/choose models - /gsd-plan-phase --research — force research - /gsd-plan-phase --skip-research — skip research - /gsd-plan-phase --skip-verify — skip plan check ``` - [ ] Current config read - [ ] User presented with 7 settings (profile + 5 workflow toggles + git branching) - [ ] Config updated with model_profile, workflow, and git sections - [ ] User offered to save as global defaults (~/.gsd/defaults.json) - [ ] Changes confirmed to user