{
  "_comment": "Example-only file. Real configs should keep projects empty until the operator adds one. Copy an entry from _examples into projects and edit every path/name before running.",
  "projects": {},
  "_examples": {
    "single-repo-service": {
      "backend": "service",
      "mode": "dry-run",
      "autonomy": "ask",
      "devSplit": true,
      "_launch_note": "Two-level launch config (config-schema.md): defaultCodingAgent + codingAgentDefaults set per-coding-agent defaults; agents{} picks { codingAgent, model, effort } per agent (one run can mix CLIs). The legacy models{}/efforts{} maps still work — see the multi-repo-linear example below.",
      "defaultCodingAgent": "claude",
      "codingAgentDefaults": {
        "claude": { "model": "opus", "effort": "high" },
        "codex": { "model": "gpt-5.5", "effort": "high" }
      },
      "agents": {
        "pm": { "codingAgent": "claude", "model": "opus", "effort": "max" },
        "senior-dev": { "codingAgent": "claude", "model": "claude-opus-4-8", "effort": "max" },
        "junior-dev": { "codingAgent": "claude", "model": "claude-sonnet-4-6", "effort": "high" },
        "qa": { "codingAgent": "claude", "model": "sonnet", "effort": "high" },
        "sweep": { "codingAgent": "claude", "model": "sonnet", "effort": "high" },
        "communication": { "codingAgent": "claude", "model": "sonnet", "effort": "high" }
      },
      "repoPath": "/abs/path/to/product-repo",
      "strategyDoc": "docs/strategy.md",
      "ticketPrefix": "PRJ",
      "testEnv": {
        "baseUrl": "http://127.0.0.1:3000",
        "setup": "npm install",
        "testCommand": "npm test",
        "notes": "Replace with the product's real test entry points and test users."
      },
      "build": {
        "typecheck": "npm run typecheck",
        "build": "npm run build",
        "test": "npm test"
      },
      "git": {
        "defaultBranch": "main",
        "autoCommit": true,
        "autoPush": false,
        "autoDeploy": false
      },
      "communication": {
        "cadence": "daily",
        "language": "en",
        "audience": "current and prospective users",
        "tone": "clear, concrete, human, and restrained",
        "maxWords": 900,
        "sourceWindowDays": 7,
        "output": "data",
        "outputDir": "communications",
        "includeUnreleased": false
      }
    },
    "multi-repo-linear": {
      "backend": "linear",
      "mode": "dry-run",
      "autonomy": "ask",
      "devSplit": true,
      "models": {
        "senior-dev": {
          "claude": "claude-opus-4-8",
          "codex": "gpt-5.5"
        },
        "junior-dev": {
          "claude": "claude-sonnet-4-6",
          "codex": "gpt-5.5"
        }
      },
      "efforts": {
        "pm": "max",
        "senior-dev": {
          "claude": "max",
          "codex": "xhigh"
        },
        "junior-dev": "high",
        "qa": "high",
        "sweep": "high"
      },
      "linearTeam": "Your Team",
      "linearProject": "Your Product",
      "repos": [
        {
          "name": "web",
          "path": "/abs/path/to/product-web",
          "role": "primary",
          "lang": "ts",
          "defaultBranch": "main",
          "deploy": {
            "command": "npm run deploy:web",
            "healthCheck": "https://app.example.com/health"
          }
        },
        {
          "name": "api",
          "path": "/abs/path/to/product-api",
          "role": "docs",
          "lang": "go",
          "defaultBranch": "main",
          "build": {
            "typecheck": "go build ./...",
            "test": "go test ./..."
          },
          "deploy": {
            "command": "npm run deploy:api",
            "healthCheck": "https://api.example.com/health"
          }
        }
      ],
      "strategyDoc": "docs/strategy.md",
      "testEnv": {
        "baseUrl": "https://app.example.com",
        "notes": "Keep real credentials in a vault or env file; never inline secrets here."
      },
      "build": {
        "typecheck": "npm run typecheck",
        "build": "npm run build",
        "test": "npm test"
      },
      "git": {
        "defaultBranch": "main",
        "autoCommit": true,
        "autoPush": true,
        "autoDeploy": false
      }
    }
  }
}
