Skip to main content
GSD stores project settings in .planning/config.json. Configure during /gsd:new-project or update anytime with /gsd:settings.

Configuration Commands

Configuration Schema

Complete config.json structure:

Core Settings

Mode

Controls approval behavior throughout the workflow.

Granularity

Controls how finely scope is sliced into phases.
More phases = smaller scope per phase = more reliable execution, but more overhead.

Model Profiles

Balance quality vs token spend by controlling which Claude model each agent uses.

Profile Overview

Per-Agent Model Breakdown

Profile Philosophy

Quality

Opus for all decision-making agents, Sonnet for read-only verification.Use when quota is available and the work is critical.

Balanced

Opus only for planning (where architecture decisions happen), Sonnet for everything else.The default for good reason. Best cost/quality tradeoff.

Budget

Sonnet for anything that writes code, Haiku for research and verification.Use for high-volume work or less critical phases.

Switching Profiles

Planning Settings

Commit Documentation

Controls whether .planning/ files are committed to git.
If .planning/ is in .gitignore, commit_docs is automatically false regardless of the config value.
Working on sensitive projects? Set commit_docs: false and add .planning/ to .gitignore. Planning artifacts stay local and never touch git.

Workflow Agents

These spawn additional agents during planning/execution. They improve quality but add tokens and time.

Agent Reference

Default: trueWhat it does: Researches domain before planning each phase. Spawns 4 parallel agents:
  • Stack researcher - Libraries, patterns, tooling
  • Features researcher - Similar implementations
  • Architecture researcher - Design patterns
  • Pitfalls researcher - Common mistakes
Output: {phase}-RESEARCH.mdDisable when: Domain is familiar, conserving tokens, rapid iteration.Override per-invocation:
Default: trueWhat it does: Verifies plans achieve phase goals before execution. Checks 8 dimensions:
  1. Requirements coverage
  2. Task atomicity
  3. Dependency ordering
  4. File organization
  5. Verification steps
  6. Technical decisions
  7. Implementation clarity
  8. Automated validation (Nyquist)
Loops up to 3 times until plans pass.Disable when: Plans are simple, conserving tokens, trusted domain.Override per-invocation:
Default: trueWhat it does: Confirms must-haves were delivered after execution. Checks codebase against phase goals.Output: {phase}-VERIFICATION.mdDisable when: Manual testing only, rapid iteration.
Default: trueWhat it does: Maps automated test coverage to each requirement during plan-phase research. Ensures feedback mechanism exists before code is written.
  • Detects existing test infrastructure
  • Maps requirements to test commands
  • Identifies test scaffolding needed (Wave 0 tasks)
  • Plan checker enforces as 8th verification dimension
Output: {phase}-VALIDATION.md - the feedback contract for the phaseDisable when: Rapid prototyping phases where test infrastructure isn’t the focus.Learn more: See Validation Architecture

Performance vs Quality Presets

Recommended combinations for different scenarios:

Git Branching

Control how GSD handles branches during execution.

Branching Strategies

None

Default: Commits to current branchBest for: Solo development, simple projectsAll commits go directly to your current branch. No branch management overhead.

Phase

Creates: One branch per phaseBest for: Code review per phase, granular rollbackEach phase gets its own branch. Merged at phase completion.

Milestone

Creates: One branch per milestoneBest for: Release branches, PR per versionAll phases share one branch. Merged at milestone completion.

Branch Templates

Customize branch naming patterns:
Template variables:
  • {phase} - Zero-padded phase number (e.g., “03”)
  • {slug} - Lowercase hyphenated phase name (e.g., “user-authentication”)
  • {milestone} - Version identifier (e.g., “v1.0”)
Example branches:
  • Phase: gsd/phase-03-user-authentication
  • Milestone: gsd/v1.0-mvp-launch

Merge Behavior

At milestone completion, GSD offers:
  1. Squash merge (recommended) - Clean single commit per milestone
  2. Merge with history - Preserve all atomic commits
If you use phase branching strategy, you may accumulate many branches. Clean them up periodically:

Security: Protecting Sensitive Files

GSD’s codebase mapping and analysis commands read files to understand your project. Protect files containing secrets by adding them to Claude Code’s deny list:
1

Open Settings

Edit .claude/settings.json (project-level) or global settings
2

Add Deny Patterns

This prevents Claude from reading these files entirely, regardless of what commands you run.
GSD includes built-in protections against committing secrets, but defense-in-depth is best practice. Deny read access as a first line of defense.

Configuration Examples

Prototyping Setup

Fast iteration, minimal overhead:

Production Setup

Maximum quality, thorough validation:

Team Collaboration Setup

Branch per milestone, code review workflow:

Private Project Setup

Local planning docs, no git tracking:
Add to .gitignore:

Command-Line Overrides

Some settings can be overridden per command:

Troubleshooting Configuration

Changes Not Taking Effect

  1. Verify config file exists: .planning/config.json
  2. Validate JSON syntax (no trailing commas)
  3. Restart your AI coding assistant
  4. Check /gsd:progress to confirm settings

Model Costs Too High

Reduce token usage:

Config File Missing

Run /gsd:settings to regenerate:
Or create manually using the schema above.

Next Steps

Core Concepts

Understand how GSD works under the hood

Workflow Agents

Deep dive into the agent system

Commands

Complete reference for all GSD commands

Advanced Topics

Deep dive into architecture and agent system