{
  "lastUpdated": "2026-09-01T14:00:49.616Z",
  "reports": [
    {
      "id": "2026-08",
      "period": {
        "year": 2026,
        "month": 8,
        "label": "August 2026",
        "start": "2026-08-01",
        "end": "2026-08-31"
      },
      "generatedAt": "2026-09-01T14:00:49.488Z",
      "dataAsOf": "2026-09-01T13:11:41.179Z",
      "title": "State of AI Coding Tools — August 2026",
      "summary": "83 releases across 8 AI coding tools in August 2026. Claude Code led with 28. Velocity down 28% MoM. Release velocity, cadence, and first-to-ship data.",
      "totals": {
        "releases": 83,
        "activeTools": 8,
        "trackedTools": 9,
        "prevMonthReleases": 116,
        "momChangePct": -28,
        "busiestTool": "claude-code",
        "fastestCadence": {
          "tool": "claude-code",
          "avgDaysBetween": 1
        }
      },
      "tools": [
        {
          "tool": "claude-code",
          "displayName": "Claude Code",
          "releases": 28,
          "prevMonthReleases": 22,
          "momChange": 6,
          "sharePct": 33.7,
          "avgDaysBetween": 1,
          "breakdown": {
            "major": 0,
            "minor": 0,
            "patch": 28
          },
          "notable": {
            "id": "claude-code-2.1.239",
            "version": "2.1.239",
            "date": "2026-08-21T17:18:54.506Z",
            "summary": "Claude Code 2.1.239 now shows accurate cost estimates for data-residency workspaces and brings fullscreen mode to more cloud platforms. We've also fixed critical issues with streaming on Bedrock, proxy support, and added helpful tools like automatic Python project upgrades and...",
            "url": "https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md"
          }
        },
        {
          "tool": "grok-build",
          "displayName": "Grok Build",
          "releases": 16,
          "prevMonthReleases": 39,
          "momChange": -23,
          "sharePct": 19.3,
          "avgDaysBetween": 1.7,
          "breakdown": {
            "major": 1,
            "minor": 0,
            "patch": 15
          },
          "notable": {
            "id": "grok-build-1.0.1",
            "version": "1.0.1",
            "date": "2026-08-10T00:00:00.000Z",
            "summary": "Grok Build 1.0.1 makes your workspace safer and more efficient with smarter resource management—subagents now queue instead of crashing your system, and the new /rewind command protects your files while asking for confirmation. We've also added the grok du command to help you ...",
            "url": "https://x.ai/build/changelog"
          }
        },
        {
          "tool": "antigravity-cli",
          "displayName": "Antigravity CLI",
          "releases": 13,
          "prevMonthReleases": 12,
          "momChange": 1,
          "sharePct": 15.7,
          "avgDaysBetween": 2,
          "breakdown": {
            "major": 0,
            "minor": 0,
            "patch": 13
          },
          "notable": {
            "id": "antigravity-cli-1.1.12",
            "version": "1.1.12",
            "date": "2026-08-11T01:26:58Z",
            "summary": "Antigravity CLI 1.1.12 makes navigating long documents faster with an instant outline view and lets you pull structured data from commands without starting a conversation. You can also customize your skill library to hide internal commands from the menu while keeping them avai...",
            "url": "https://github.com/google-antigravity/antigravity-cli/releases/tag/1.1.12"
          }
        },
        {
          "tool": "openai-codex",
          "displayName": "OpenAI Codex CLI",
          "releases": 8,
          "prevMonthReleases": 11,
          "momChange": -3,
          "sharePct": 9.6,
          "avgDaysBetween": 3.4,
          "breakdown": {
            "major": 0,
            "minor": 5,
            "patch": 3
          },
          "notable": {
            "id": "openai-codex-rust-v0.148.0",
            "version": "rust-v0.148.0",
            "date": "2026-08-18T22:26:03Z",
            "summary": "OpenAI Codex CLI rust-v0.148.0 now lets you export conversations to Markdown and fork sessions to explore different directions without losing your work. You can also see real-time costs and connect Amazon Bedrock as a built-in provider, plus we've fixed stability issues around...",
            "url": "https://github.com/openai/codex/releases/tag/rust-v0.148.0"
          }
        },
        {
          "tool": "gemini-cli",
          "displayName": "Gemini CLI",
          "releases": 5,
          "prevMonthReleases": 5,
          "momChange": 0,
          "sharePct": 6,
          "avgDaysBetween": 4.9,
          "breakdown": {
            "major": 0,
            "minor": 4,
            "patch": 1
          },
          "notable": {
            "id": "gemini-cli-v0.55.1",
            "version": "v0.55.1",
            "date": "2026-08-11T21:15:10Z",
            "summary": "Gemini CLI v0.55.1 brings improved security with stricter path protections and fixes critical release issues to ensure stable deployments. We've also added automatic tool registry discovery to make setup faster and easier. Check the full changelog to see all the stability impr...",
            "url": "https://github.com/google-gemini/gemini-cli/releases/tag/v0.55.1"
          }
        },
        {
          "tool": "github-copilot",
          "displayName": "GitHub Copilot CLI",
          "releases": 5,
          "prevMonthReleases": 10,
          "momChange": -5,
          "sharePct": 6,
          "avgDaysBetween": 6.5,
          "breakdown": {
            "major": 0,
            "minor": 0,
            "patch": 5
          },
          "notable": {
            "id": "github-copilot-v1.0.81",
            "version": "v1.0.81",
            "date": "2026-08-27T17:10:08Z",
            "summary": "GitHub Copilot CLI v1.0.81 introduces a new plugins dashboard that gives you easy access to extend functionality, plus improved session recovery so crashes and restarts no longer mean losing your open terminals. The update also brings better AI reasoning options and smoother a...",
            "url": "https://github.com/github/copilot-cli/releases/tag/v1.0.81"
          }
        },
        {
          "tool": "kiro",
          "displayName": "Kiro CLI",
          "releases": 4,
          "prevMonthReleases": 11,
          "momChange": -7,
          "sharePct": 4.8,
          "avgDaysBetween": 5,
          "breakdown": {
            "major": 0,
            "minor": 4,
            "patch": 0
          },
          "notable": {
            "id": "kiro-2.18.0",
            "version": "2.18.0",
            "date": "2026-08-12T21:00:00.000Z",
            "summary": "Kiro CLI 2.18.0 brings voice input so you can dictate commands instead of typing, plus a new review screen for spec runs that lets you read documents and stage comments more easily. Check out the full release notes to see what else has changed under the hood.",
            "url": "https://kiro.dev/changelog/cli/2-18"
          }
        },
        {
          "tool": "windsurf",
          "displayName": "Devin Desktop",
          "releases": 4,
          "prevMonthReleases": 5,
          "momChange": -1,
          "sharePct": 4.8,
          "avgDaysBetween": 6.7,
          "breakdown": {
            "major": 0,
            "minor": 2,
            "patch": 2
          },
          "notable": {
            "id": "windsurf-3.7.16",
            "version": "3.7.16",
            "date": "2026-08-10T00:00:00.000Z",
            "summary": "Devin Desktop 3.7.16 makes it safer to update by confirming when agents are working, and brings better organization with Settings opening as regular tabs instead of pop-ups. Plus, we've polished the Agent Command Center and fixed several annoying bugs that'll make your workflo...",
            "url": "https://docs.devin.ai/desktop/changelog"
          }
        },
        {
          "tool": "cursor",
          "displayName": "Cursor",
          "releases": 0,
          "prevMonthReleases": 1,
          "momChange": -1,
          "sharePct": 0,
          "avgDaysBetween": null,
          "breakdown": {
            "major": 0,
            "minor": 0,
            "patch": 0
          },
          "notable": null
        }
      ],
      "monthly": [
        {
          "month": "2025-09",
          "label": "Sep 2025",
          "total": 90,
          "byTool": {
            "claude-code": 15,
            "openai-codex": 15,
            "cursor": 2,
            "gemini-cli": 47,
            "kiro": 0,
            "github-copilot": 3,
            "windsurf": 8,
            "antigravity-cli": 0,
            "grok-build": 0
          }
        },
        {
          "month": "2025-10",
          "label": "Oct 2025",
          "total": 110,
          "byTool": {
            "claude-code": 20,
            "openai-codex": 9,
            "cursor": 1,
            "gemini-cli": 51,
            "kiro": 0,
            "github-copilot": 23,
            "windsurf": 6,
            "antigravity-cli": 0,
            "grok-build": 0
          }
        },
        {
          "month": "2025-11",
          "label": "Nov 2025",
          "total": 117,
          "byTool": {
            "claude-code": 18,
            "openai-codex": 9,
            "cursor": 1,
            "gemini-cli": 67,
            "kiro": 4,
            "github-copilot": 12,
            "windsurf": 6,
            "antigravity-cli": 0,
            "grok-build": 0
          }
        },
        {
          "month": "2025-12",
          "label": "Dec 2025",
          "total": 72,
          "byTool": {
            "claude-code": 19,
            "openai-codex": 11,
            "cursor": 2,
            "gemini-cli": 21,
            "kiro": 3,
            "github-copilot": 8,
            "windsurf": 8,
            "antigravity-cli": 0,
            "grok-build": 0
          }
        },
        {
          "month": "2026-01",
          "label": "Jan 2026",
          "total": 79,
          "byTool": {
            "claude-code": 24,
            "openai-codex": 14,
            "cursor": 1,
            "gemini-cli": 8,
            "kiro": 1,
            "github-copilot": 23,
            "windsurf": 8,
            "antigravity-cli": 0,
            "grok-build": 0
          }
        },
        {
          "month": "2026-02",
          "label": "Feb 2026",
          "total": 88,
          "byTool": {
            "claude-code": 26,
            "openai-codex": 13,
            "cursor": 1,
            "gemini-cli": 19,
            "kiro": 2,
            "github-copilot": 20,
            "windsurf": 7,
            "antigravity-cli": 0,
            "grok-build": 0
          }
        },
        {
          "month": "2026-03",
          "label": "Mar 2026",
          "total": 70,
          "byTool": {
            "claude-code": 22,
            "openai-codex": 10,
            "cursor": 1,
            "gemini-cli": 12,
            "kiro": 5,
            "github-copilot": 16,
            "windsurf": 4,
            "antigravity-cli": 0,
            "grok-build": 0
          }
        },
        {
          "month": "2026-04",
          "label": "Apr 2026",
          "total": 86,
          "byTool": {
            "claude-code": 26,
            "openai-codex": 8,
            "cursor": 3,
            "gemini-cli": 11,
            "kiro": 4,
            "github-copilot": 24,
            "windsurf": 10,
            "antigravity-cli": 0,
            "grok-build": 0
          }
        },
        {
          "month": "2026-05",
          "label": "May 2026",
          "total": 88,
          "byTool": {
            "claude-code": 27,
            "openai-codex": 7,
            "cursor": 4,
            "gemini-cli": 7,
            "kiro": 7,
            "github-copilot": 16,
            "windsurf": 3,
            "antigravity-cli": 0,
            "grok-build": 17
          }
        },
        {
          "month": "2026-06",
          "label": "Jun 2026",
          "total": 144,
          "byTool": {
            "claude-code": 28,
            "openai-codex": 11,
            "cursor": 4,
            "gemini-cli": 7,
            "kiro": 9,
            "github-copilot": 11,
            "windsurf": 9,
            "antigravity-cli": 11,
            "grok-build": 54
          }
        },
        {
          "month": "2026-07",
          "label": "Jul 2026",
          "total": 116,
          "byTool": {
            "claude-code": 22,
            "openai-codex": 11,
            "cursor": 1,
            "gemini-cli": 5,
            "kiro": 11,
            "github-copilot": 10,
            "windsurf": 5,
            "antigravity-cli": 12,
            "grok-build": 39
          }
        },
        {
          "month": "2026-08",
          "label": "Aug 2026",
          "total": 83,
          "byTool": {
            "claude-code": 28,
            "openai-codex": 8,
            "cursor": 0,
            "gemini-cli": 5,
            "kiro": 4,
            "github-copilot": 5,
            "windsurf": 4,
            "antigravity-cli": 13,
            "grok-build": 16
          }
        }
      ],
      "firstToShip": {
        "featuresTracked": 20,
        "contestedFeatures": 19,
        "medianFollowerLagDays": 310,
        "fastFollowWindowDays": 45,
        "fastFollowShare": 2,
        "biggestTrendsetter": "claude-code",
        "trendsetters": [
          {
            "tool": "claude-code",
            "displayName": "Claude Code",
            "timesLeader": 9,
            "timesFollower": 8,
            "medianFollowLagDays": 159
          },
          {
            "tool": "windsurf",
            "displayName": "Devin Desktop",
            "timesLeader": 9,
            "timesFollower": 7,
            "medianFollowLagDays": 180
          },
          {
            "tool": "openai-codex",
            "displayName": "OpenAI Codex CLI",
            "timesLeader": 1,
            "timesFollower": 15,
            "medianFollowLagDays": 230
          },
          {
            "tool": "cursor",
            "displayName": "Cursor",
            "timesLeader": 0,
            "timesFollower": 9,
            "medianFollowLagDays": 259
          },
          {
            "tool": "gemini-cli",
            "displayName": "Gemini CLI",
            "timesLeader": 0,
            "timesFollower": 5,
            "medianFollowLagDays": 328
          },
          {
            "tool": "kiro",
            "displayName": "Kiro CLI",
            "timesLeader": 0,
            "timesFollower": 11,
            "medianFollowLagDays": 381
          },
          {
            "tool": "github-copilot",
            "displayName": "GitHub Copilot CLI",
            "timesLeader": 0,
            "timesFollower": 17,
            "medianFollowLagDays": 279
          },
          {
            "tool": "antigravity-cli",
            "displayName": "Antigravity CLI",
            "timesLeader": 0,
            "timesFollower": 12,
            "medianFollowLagDays": 468
          },
          {
            "tool": "grok-build",
            "displayName": "Grok Build",
            "timesLeader": 0,
            "timesFollower": 13,
            "medianFollowLagDays": 489
          }
        ],
        "shippedThisMonth": [
          {
            "featureId": "sandbox-permissions",
            "name": "Sandboxing / Permission Modes",
            "tool": "kiro",
            "displayName": "Kiro CLI",
            "version": "2.17.0",
            "date": "2026-08-11T21:00:00.000Z",
            "isFirst": false,
            "leader": {
              "tool": "claude-code",
              "displayName": "Claude Code",
              "date": "2025-04-09T22:17:47.830Z"
            },
            "lagDays": 489
          },
          {
            "featureId": "background-tasks",
            "name": "Background Tasks",
            "tool": "kiro",
            "displayName": "Kiro CLI",
            "version": "2.17.0",
            "date": "2026-08-11T21:00:00.000Z",
            "isFirst": false,
            "leader": {
              "tool": "claude-code",
              "displayName": "Claude Code",
              "date": "2025-08-07T21:33:10.140Z"
            },
            "lagDays": 369
          },
          {
            "featureId": "voice-input",
            "name": "Voice Input",
            "tool": "kiro",
            "displayName": "Kiro CLI",
            "version": "2.18.0",
            "date": "2026-08-12T21:00:00.000Z",
            "isFirst": false,
            "leader": {
              "tool": "windsurf",
              "displayName": "Devin Desktop",
              "date": "2025-07-17T04:00:00.000Z"
            },
            "lagDays": 392
          },
          {
            "featureId": "memory-files",
            "name": "Project Memory Files",
            "tool": "kiro",
            "displayName": "Kiro CLI",
            "version": "2.18.0",
            "date": "2026-08-12T21:00:00.000Z",
            "isFirst": false,
            "leader": {
              "tool": "windsurf",
              "displayName": "Devin Desktop",
              "date": "2024-12-11T05:00:00.000Z"
            },
            "lagDays": 610
          },
          {
            "featureId": "mcp-support",
            "name": "MCP Support",
            "tool": "antigravity-cli",
            "displayName": "Antigravity CLI",
            "version": "1.1.16",
            "date": "2026-08-20T04:14:18.000Z",
            "isFirst": false,
            "leader": {
              "tool": "windsurf",
              "displayName": "Devin Desktop",
              "date": "2025-02-13T05:00:00.000Z"
            },
            "lagDays": 553
          },
          {
            "featureId": "sandbox-permissions",
            "name": "Sandboxing / Permission Modes",
            "tool": "grok-build",
            "displayName": "Grok Build",
            "version": "1.0.11",
            "date": "2026-08-26T00:00:00.000Z",
            "isFirst": false,
            "leader": {
              "tool": "claude-code",
              "displayName": "Claude Code",
              "date": "2025-04-09T22:17:47.830Z"
            },
            "lagDays": 503
          },
          {
            "featureId": "headless-mode",
            "name": "Headless / Non-interactive Mode",
            "tool": "grok-build",
            "displayName": "Grok Build",
            "version": "1.0.11",
            "date": "2026-08-26T00:00:00.000Z",
            "isFirst": false,
            "leader": {
              "tool": "claude-code",
              "displayName": "Claude Code",
              "date": "2025-04-09T00:04:46.906Z"
            },
            "lagDays": 504
          },
          {
            "featureId": "voice-input",
            "name": "Voice Input",
            "tool": "antigravity-cli",
            "displayName": "Antigravity CLI",
            "version": "1.1.21",
            "date": "2026-08-26T02:21:06.000Z",
            "isFirst": false,
            "leader": {
              "tool": "windsurf",
              "displayName": "Devin Desktop",
              "date": "2025-07-17T04:00:00.000Z"
            },
            "lagDays": 405
          }
        ]
      },
      "ecosystem": {
        "asOf": "2026-09-01T11:00:55.980Z",
        "tools": [
          {
            "tool": "claude-code",
            "displayName": "Claude Code",
            "githubStars": 143633,
            "githubContributors": 55,
            "npmWeeklyDownloads": 21450823,
            "npmTrendPct": -3.3
          },
          {
            "tool": "openai-codex",
            "displayName": "OpenAI Codex CLI",
            "githubStars": 120602,
            "githubContributors": 586,
            "npmWeeklyDownloads": 20368373,
            "npmTrendPct": 25.7
          },
          {
            "tool": "gemini-cli",
            "displayName": "Gemini CLI",
            "githubStars": 106759,
            "githubContributors": 692,
            "npmWeeklyDownloads": 394729,
            "npmTrendPct": 3.2
          },
          {
            "tool": "github-copilot",
            "displayName": "GitHub Copilot CLI",
            "githubStars": 11131,
            "githubContributors": 23,
            "npmWeeklyDownloads": 1272,
            "npmTrendPct": -22.8
          },
          {
            "tool": "antigravity-cli",
            "displayName": "Antigravity CLI",
            "githubStars": 2102,
            "githubContributors": 7,
            "npmWeeklyDownloads": null,
            "npmTrendPct": null
          },
          {
            "tool": "grok-build",
            "displayName": "Grok Build",
            "githubStars": 26318,
            "githubContributors": 1,
            "npmWeeklyDownloads": null,
            "npmTrendPct": null
          }
        ]
      },
      "takeaways": [
        "Claude Code led with 28 releases in August 2026 — one every 1 days (33.7% of all releases tracked).",
        "Overall shipping velocity was down 28% month-over-month: 83 releases vs 116 the month before.",
        "1 major and 15 minor version bumps shipped; the remaining 67 releases were patches.",
        "Cursor shipped nothing in August 2026 after releasing the month before.",
        "Claude Code has been first to ship 9 of the 20 cross-tool features we track. The median follower ships the same capability 310 days later."
      ]
    },
    {
      "id": "2026-07",
      "period": {
        "year": 2026,
        "month": 7,
        "label": "July 2026",
        "start": "2026-07-01",
        "end": "2026-07-31"
      },
      "generatedAt": "2026-08-01T14:00:47.866Z",
      "dataAsOf": "2026-08-01T13:11:37.548Z",
      "title": "State of AI Coding Tools — July 2026",
      "summary": "77 releases across 8 AI coding tools in July 2026. Claude Code led with 22. Velocity down 14% MoM. Release velocity, cadence, and first-to-ship data.",
      "totals": {
        "releases": 77,
        "activeTools": 8,
        "trackedTools": 8,
        "prevMonthReleases": 90,
        "momChangePct": -14,
        "busiestTool": "claude-code",
        "fastestCadence": {
          "tool": "claude-code",
          "avgDaysBetween": 1.1
        }
      },
      "tools": [
        {
          "tool": "claude-code",
          "displayName": "Claude Code",
          "releases": 22,
          "prevMonthReleases": 28,
          "momChange": -6,
          "sharePct": 28.6,
          "avgDaysBetween": 1.1,
          "breakdown": {
            "major": 0,
            "minor": 0,
            "patch": 22
          },
          "notable": {
            "id": "claude-code-2.1.212",
            "version": "2.1.212",
            "date": "2026-07-16T19:20:24.324Z",
            "summary": "Claude Code 2.1.212 makes it easier to manage multiple conversations with /fork creating separate background sessions while you keep working, and adds smart safeguards that prevent runaway searches and task loops from spinning out of control. Long-running tools now move to the...",
            "url": "https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md"
          }
        },
        {
          "tool": "antigravity-cli",
          "displayName": "Antigravity CLI",
          "releases": 12,
          "prevMonthReleases": 11,
          "momChange": 1,
          "sharePct": 15.6,
          "avgDaysBetween": 2.7,
          "breakdown": {
            "major": 0,
            "minor": 1,
            "patch": 11
          },
          "notable": {
            "id": "antigravity-cli-1.1.6",
            "version": "1.1.6",
            "date": "2026-07-24T03:02:18Z",
            "summary": "Antigravity CLI 1.1.6 introduces custom agents defined through simple Markdown files, giving you powerful control over agent behavior without complex configuration. We've also made search faster with live streaming results and improved clipboard copying to access any recent re...",
            "url": "https://github.com/google-antigravity/antigravity-cli/releases/tag/1.1.6"
          }
        },
        {
          "tool": "kiro",
          "displayName": "Kiro CLI",
          "releases": 11,
          "prevMonthReleases": 9,
          "momChange": 2,
          "sharePct": 14.3,
          "avgDaysBetween": 2.8,
          "breakdown": {
            "major": 0,
            "minor": 6,
            "patch": 5
          },
          "notable": {
            "id": "kiro-2.12.0",
            "version": "2.12.0",
            "date": "2026-07-09T03:00:00.000Z",
            "summary": "Kiro CLI 2.12.0 now works with stricter OAuth servers like Figma by letting you configure your own client credentials and callback paths. We've also improved command approval prompts and added full support for terminals without Unicode. See what else improved in this release.",
            "url": "https://kiro.dev/changelog/cli/2-12-0"
          }
        },
        {
          "tool": "openai-codex",
          "displayName": "OpenAI Codex CLI",
          "releases": 11,
          "prevMonthReleases": 11,
          "momChange": 0,
          "sharePct": 14.3,
          "avgDaysBetween": 2.8,
          "breakdown": {
            "major": 0,
            "minor": 4,
            "patch": 7
          },
          "notable": {
            "id": "openai-codex-rust-v0.145.0",
            "version": "rust-v0.145.0",
            "date": "2026-07-21T18:21:04Z",
            "summary": "OpenAI Codex CLI rust-v0.145.0 now lets you work with audio inputs directly and brings multi-agent collaboration to stable release, so your coding assistant can handle more complex tasks. We've also made conversations faster and smoother with smarter memory management and impr...",
            "url": "https://github.com/openai/codex/releases/tag/rust-v0.145.0"
          }
        },
        {
          "tool": "github-copilot",
          "displayName": "GitHub Copilot CLI",
          "releases": 10,
          "prevMonthReleases": 11,
          "momChange": -1,
          "sharePct": 13,
          "avgDaysBetween": 3.2,
          "breakdown": {
            "major": 0,
            "minor": 0,
            "patch": 10
          },
          "notable": {
            "id": "github-copilot-v1.0.71",
            "version": "v1.0.71",
            "date": "2026-07-16T01:54:36Z",
            "summary": "GitHub Copilot CLI v1.0.71 fixes a frustrating issue where autopilot mode would hang when background processes ran too long, plus improves how the tool remembers your preferences across longer work sessions. You'll also notice better feedback when settings go wrong and tighter...",
            "url": "https://github.com/github/copilot-cli/releases/tag/v1.0.71"
          }
        },
        {
          "tool": "gemini-cli",
          "displayName": "Gemini CLI",
          "releases": 5,
          "prevMonthReleases": 7,
          "momChange": -2,
          "sharePct": 6.5,
          "avgDaysBetween": 5.8,
          "breakdown": {
            "major": 0,
            "minor": 4,
            "patch": 1
          },
          "notable": {
            "id": "gemini-cli-v0.52.0",
            "version": "v0.52.0",
            "date": "2026-07-22T20:51:21Z",
            "summary": "Gemini CLI v0.52.0 now keeps your workspace cleaner by filtering out temporary build files, and adds powerful new tools for automated issue triage and GitHub integration. Plus, we've fixed several bugs to make JSON and notebook file handling smoother. Check the full release no...",
            "url": "https://github.com/google-gemini/gemini-cli/releases/tag/v0.52.0"
          }
        },
        {
          "tool": "windsurf",
          "displayName": "Devin Desktop",
          "releases": 5,
          "prevMonthReleases": 9,
          "momChange": -4,
          "sharePct": 6.5,
          "avgDaysBetween": 6.3,
          "breakdown": {
            "major": 0,
            "minor": 3,
            "patch": 2
          },
          "notable": {
            "id": "windsurf-3.6.21",
            "version": "3.6.21",
            "date": "2026-07-29T00:00:00.000Z",
            "summary": "Devin Desktop 3.6.21 brings native OS notifications that alert you when agent sessions finish or need your input, plus smarter UI improvements like faster performance and better session organization. Codemaps now work seamlessly across all modes, and you can quickly add transc...",
            "url": "https://docs.devin.ai/desktop/changelog"
          }
        },
        {
          "tool": "cursor",
          "displayName": "Cursor",
          "releases": 1,
          "prevMonthReleases": 4,
          "momChange": -3,
          "sharePct": 1.3,
          "avgDaysBetween": null,
          "breakdown": {
            "major": 0,
            "minor": 1,
            "patch": 0
          },
          "notable": {
            "id": "cursor-3.11",
            "version": "3.11",
            "date": "2026-07-10T00:00:00.000Z",
            "summary": "Side Chats and Conversation Search",
            "url": "https://www.cursor.com/changelog/side-chat"
          }
        }
      ],
      "monthly": [
        {
          "month": "2025-08",
          "label": "Aug 2025",
          "total": 66,
          "byTool": {
            "claude-code": 18,
            "openai-codex": 15,
            "cursor": 0,
            "gemini-cli": 29,
            "kiro": 0,
            "github-copilot": 0,
            "windsurf": 4,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2025-09",
          "label": "Sep 2025",
          "total": 90,
          "byTool": {
            "claude-code": 15,
            "openai-codex": 15,
            "cursor": 2,
            "gemini-cli": 47,
            "kiro": 0,
            "github-copilot": 3,
            "windsurf": 8,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2025-10",
          "label": "Oct 2025",
          "total": 110,
          "byTool": {
            "claude-code": 20,
            "openai-codex": 9,
            "cursor": 1,
            "gemini-cli": 51,
            "kiro": 0,
            "github-copilot": 23,
            "windsurf": 6,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2025-11",
          "label": "Nov 2025",
          "total": 117,
          "byTool": {
            "claude-code": 18,
            "openai-codex": 9,
            "cursor": 1,
            "gemini-cli": 67,
            "kiro": 4,
            "github-copilot": 12,
            "windsurf": 6,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2025-12",
          "label": "Dec 2025",
          "total": 72,
          "byTool": {
            "claude-code": 19,
            "openai-codex": 11,
            "cursor": 2,
            "gemini-cli": 21,
            "kiro": 3,
            "github-copilot": 8,
            "windsurf": 8,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2026-01",
          "label": "Jan 2026",
          "total": 79,
          "byTool": {
            "claude-code": 24,
            "openai-codex": 14,
            "cursor": 1,
            "gemini-cli": 8,
            "kiro": 1,
            "github-copilot": 23,
            "windsurf": 8,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2026-02",
          "label": "Feb 2026",
          "total": 88,
          "byTool": {
            "claude-code": 26,
            "openai-codex": 13,
            "cursor": 1,
            "gemini-cli": 19,
            "kiro": 2,
            "github-copilot": 20,
            "windsurf": 7,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2026-03",
          "label": "Mar 2026",
          "total": 70,
          "byTool": {
            "claude-code": 22,
            "openai-codex": 10,
            "cursor": 1,
            "gemini-cli": 12,
            "kiro": 5,
            "github-copilot": 16,
            "windsurf": 4,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2026-04",
          "label": "Apr 2026",
          "total": 86,
          "byTool": {
            "claude-code": 26,
            "openai-codex": 8,
            "cursor": 3,
            "gemini-cli": 11,
            "kiro": 4,
            "github-copilot": 24,
            "windsurf": 10,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2026-05",
          "label": "May 2026",
          "total": 71,
          "byTool": {
            "claude-code": 27,
            "openai-codex": 7,
            "cursor": 4,
            "gemini-cli": 7,
            "kiro": 7,
            "github-copilot": 16,
            "windsurf": 3,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2026-06",
          "label": "Jun 2026",
          "total": 90,
          "byTool": {
            "claude-code": 28,
            "openai-codex": 11,
            "cursor": 4,
            "gemini-cli": 7,
            "kiro": 9,
            "github-copilot": 11,
            "windsurf": 9,
            "antigravity-cli": 11
          }
        },
        {
          "month": "2026-07",
          "label": "Jul 2026",
          "total": 77,
          "byTool": {
            "claude-code": 22,
            "openai-codex": 11,
            "cursor": 1,
            "gemini-cli": 5,
            "kiro": 11,
            "github-copilot": 10,
            "windsurf": 5,
            "antigravity-cli": 12
          }
        }
      ],
      "firstToShip": {
        "featuresTracked": 20,
        "contestedFeatures": 18,
        "medianFollowerLagDays": 265,
        "fastFollowWindowDays": 45,
        "fastFollowShare": 3,
        "biggestTrendsetter": "claude-code",
        "trendsetters": [
          {
            "tool": "claude-code",
            "displayName": "Claude Code",
            "timesLeader": 9,
            "timesFollower": 8,
            "medianFollowLagDays": 159
          },
          {
            "tool": "windsurf",
            "displayName": "Devin Desktop",
            "timesLeader": 8,
            "timesFollower": 7,
            "medianFollowLagDays": 180
          },
          {
            "tool": "openai-codex",
            "displayName": "OpenAI Codex CLI",
            "timesLeader": 1,
            "timesFollower": 15,
            "medianFollowLagDays": 230
          },
          {
            "tool": "cursor",
            "displayName": "Cursor",
            "timesLeader": 0,
            "timesFollower": 9,
            "medianFollowLagDays": 259
          },
          {
            "tool": "gemini-cli",
            "displayName": "Gemini CLI",
            "timesLeader": 0,
            "timesFollower": 5,
            "medianFollowLagDays": 328
          },
          {
            "tool": "kiro",
            "displayName": "Kiro CLI",
            "timesLeader": 0,
            "timesFollower": 7,
            "medianFollowLagDays": 308
          },
          {
            "tool": "github-copilot",
            "displayName": "GitHub Copilot CLI",
            "timesLeader": 0,
            "timesFollower": 17,
            "medianFollowLagDays": 279
          },
          {
            "tool": "antigravity-cli",
            "displayName": "Antigravity CLI",
            "timesLeader": 0,
            "timesFollower": 10,
            "medianFollowLagDays": 468
          }
        ],
        "shippedThisMonth": [
          {
            "featureId": "background-tasks",
            "name": "Background Tasks",
            "tool": "antigravity-cli",
            "displayName": "Antigravity CLI",
            "version": "1.0.15",
            "date": "2026-07-01T22:59:00.000Z",
            "isFirst": false,
            "leader": {
              "tool": "claude-code",
              "displayName": "Claude Code",
              "date": "2025-08-07T21:33:10.140Z"
            },
            "lagDays": 328
          },
          {
            "featureId": "planning-mode",
            "name": "Planning Mode",
            "tool": "antigravity-cli",
            "displayName": "Antigravity CLI",
            "version": "1.1.0",
            "date": "2026-07-08T03:25:54.000Z",
            "isFirst": false,
            "leader": {
              "tool": "windsurf",
              "displayName": "Devin Desktop",
              "date": "2025-06-10T04:00:00.000Z"
            },
            "lagDays": 393
          },
          {
            "featureId": "slash-commands",
            "name": "Custom Slash Commands",
            "tool": "antigravity-cli",
            "displayName": "Antigravity CLI",
            "version": "1.1.3",
            "date": "2026-07-16T01:01:57.000Z",
            "isFirst": false,
            "leader": {
              "tool": "claude-code",
              "displayName": "Claude Code",
              "date": "2025-03-05T17:48:20.869Z"
            },
            "lagDays": 497
          },
          {
            "featureId": "hooks",
            "name": "Hooks",
            "tool": "kiro",
            "displayName": "Kiro CLI",
            "version": "2.13.0",
            "date": "2026-07-17T00:00:00.000Z",
            "isFirst": false,
            "leader": {
              "tool": "claude-code",
              "displayName": "Claude Code",
              "date": "2025-06-30T20:29:03.323Z"
            },
            "lagDays": 381
          },
          {
            "featureId": "extended-thinking",
            "name": "Extended Thinking",
            "tool": "antigravity-cli",
            "displayName": "Antigravity CLI",
            "version": "1.1.5",
            "date": "2026-07-21T02:33:39.000Z",
            "isFirst": false,
            "leader": {
              "tool": "windsurf",
              "displayName": "Devin Desktop",
              "date": "2025-02-25T05:00:00.000Z"
            },
            "lagDays": 511
          },
          {
            "featureId": "subagents",
            "name": "Subagents / Parallel Agents",
            "tool": "antigravity-cli",
            "displayName": "Antigravity CLI",
            "version": "1.1.6",
            "date": "2026-07-24T03:02:18.000Z",
            "isFirst": false,
            "leader": {
              "tool": "claude-code",
              "displayName": "Claude Code",
              "date": "2025-04-18T22:33:26.843Z"
            },
            "lagDays": 461
          },
          {
            "featureId": "memory-files",
            "name": "Project Memory Files",
            "tool": "antigravity-cli",
            "displayName": "Antigravity CLI",
            "version": "1.1.6",
            "date": "2026-07-24T03:02:18.000Z",
            "isFirst": false,
            "leader": {
              "tool": "windsurf",
              "displayName": "Devin Desktop",
              "date": "2024-12-11T05:00:00.000Z"
            },
            "lagDays": 590
          },
          {
            "featureId": "headless-mode",
            "name": "Headless / Non-interactive Mode",
            "tool": "antigravity-cli",
            "displayName": "Antigravity CLI",
            "version": "1.1.8",
            "date": "2026-07-28T00:59:10.000Z",
            "isFirst": false,
            "leader": {
              "tool": "claude-code",
              "displayName": "Claude Code",
              "date": "2025-04-09T00:04:46.906Z"
            },
            "lagDays": 475
          }
        ]
      },
      "ecosystem": {
        "asOf": "2026-08-01T11:00:54.013Z",
        "tools": [
          {
            "tool": "claude-code",
            "displayName": "Claude Code",
            "githubStars": 139870,
            "githubContributors": 54,
            "npmWeeklyDownloads": 10240442,
            "npmTrendPct": -4.8
          },
          {
            "tool": "openai-codex",
            "displayName": "OpenAI Codex CLI",
            "githubStars": 103020,
            "githubContributors": 532,
            "npmWeeklyDownloads": 16096488,
            "npmTrendPct": 5.7
          },
          {
            "tool": "gemini-cli",
            "displayName": "Gemini CLI",
            "githubStars": 106290,
            "githubContributors": 689,
            "npmWeeklyDownloads": 385645,
            "npmTrendPct": -32.1
          },
          {
            "tool": "github-copilot",
            "displayName": "GitHub Copilot CLI",
            "githubStars": 11037,
            "githubContributors": 21,
            "npmWeeklyDownloads": 1973,
            "npmTrendPct": 12.5
          }
        ]
      },
      "takeaways": [
        "Claude Code led with 22 releases in July 2026 — one every 1.1 days (28.6% of all releases tracked).",
        "Overall shipping velocity was down 14% month-over-month: 77 releases vs 90 the month before.",
        "Kiro CLI accelerated the most: 11 releases, up from 9 the month before.",
        "0 major and 19 minor version bumps shipped; the remaining 58 releases were patches.",
        "Claude Code has been first to ship 9 of the 20 cross-tool features we track. The median follower ships the same capability 265 days later."
      ]
    },
    {
      "id": "2026-06",
      "period": {
        "year": 2026,
        "month": 6,
        "label": "June 2026",
        "start": "2026-06-01",
        "end": "2026-06-30"
      },
      "generatedAt": "2026-07-12T19:53:14.105Z",
      "dataAsOf": "2026-07-12T19:11:27.524Z",
      "title": "State of AI Coding Tools — June 2026",
      "summary": "90 releases across 8 AI coding tools in June 2026. Claude Code led with 28. Velocity up 27% MoM. Release velocity, cadence, and first-to-ship data.",
      "totals": {
        "releases": 90,
        "activeTools": 8,
        "trackedTools": 8,
        "prevMonthReleases": 71,
        "momChangePct": 27,
        "busiestTool": "claude-code",
        "fastestCadence": {
          "tool": "claude-code",
          "avgDaysBetween": 1.1
        }
      },
      "tools": [
        {
          "tool": "claude-code",
          "displayName": "Claude Code",
          "releases": 28,
          "prevMonthReleases": 27,
          "momChange": 1,
          "sharePct": 31.1,
          "avgDaysBetween": 1.1,
          "breakdown": {
            "major": 0,
            "minor": 0,
            "patch": 28
          },
          "notable": {
            "id": "claude-code-2.1.162",
            "version": "2.1.162",
            "date": "2026-06-03T18:09:44.344Z",
            "summary": "- claude agents --json now includes waitingFor showing what a waiting session is blocked on (e.g. permission prompt) - --tools: explicitly listing Grep/Glob now provides the dedicated search tools ...",
            "url": "https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md"
          }
        },
        {
          "tool": "antigravity-cli",
          "displayName": "Antigravity CLI",
          "releases": 11,
          "prevMonthReleases": 0,
          "momChange": 11,
          "sharePct": 12.2,
          "avgDaysBetween": 2.8,
          "breakdown": {
            "major": 0,
            "minor": 1,
            "patch": 10
          },
          "notable": {
            "id": "antigravity-cli-1.0.11",
            "version": "1.0.11",
            "date": "2026-06-24T05:30:00Z",
            "summary": "- Added ctrl+c as an exit and interrupt key: the first press cancels active agent operations (like streaming responses), and a double-press triggers the exit flow. Also added a dynamic exit hint in...",
            "url": "https://github.com/google-antigravity/antigravity-cli/releases/tag/1.0.11"
          }
        },
        {
          "tool": "github-copilot",
          "displayName": "GitHub Copilot CLI",
          "releases": 11,
          "prevMonthReleases": 16,
          "momChange": -5,
          "sharePct": 12.2,
          "avgDaysBetween": 2.9,
          "breakdown": {
            "major": 0,
            "minor": 0,
            "patch": 11
          },
          "notable": {
            "id": "github-copilot-v1.0.64",
            "version": "v1.0.64",
            "date": "2026-06-23T17:21:01Z",
            "summary": "2026-06-23 - Path access prompt shows resolved symlink targets so you can see exactly what access is being granted - Show the pay-as-you-go additional usage budget at launch, refresh it after a req...",
            "url": "https://github.com/github/copilot-cli/releases/tag/v1.0.64"
          }
        },
        {
          "tool": "openai-codex",
          "displayName": "OpenAI Codex CLI",
          "releases": 11,
          "prevMonthReleases": 7,
          "momChange": 4,
          "sharePct": 12.2,
          "avgDaysBetween": 2.7,
          "breakdown": {
            "major": 0,
            "minor": 7,
            "patch": 4
          },
          "notable": {
            "id": "openai-codex-rust-v0.140.0",
            "version": "rust-v0.140.0",
            "date": "2026-06-15T21:06:37Z",
            "summary": "New Features - Added /usage views for daily, weekly, and cumulative account token activity. (27925) - /goal now preserves oversized text, large pasted blocks, and image attachments, including in re...",
            "url": "https://github.com/openai/codex/releases/tag/rust-v0.140.0"
          }
        },
        {
          "tool": "kiro",
          "displayName": "Kiro CLI",
          "releases": 9,
          "prevMonthReleases": 7,
          "momChange": 2,
          "sharePct": 10,
          "avgDaysBetween": 3.1,
          "breakdown": {
            "major": 0,
            "minor": 5,
            "patch": 4
          },
          "notable": {
            "id": "kiro-2.6.0",
            "version": "2.6.0",
            "date": "2026-06-05T04:00:00.000Z",
            "summary": "This release focuses on portability and getting back to work faster. Export any conversation to share or archive, keep track of which session is in which terminal with automatic window titles, and ...",
            "url": "https://kiro.dev/changelog/cli/2-6"
          }
        },
        {
          "tool": "windsurf",
          "displayName": "Devin Desktop",
          "releases": 9,
          "prevMonthReleases": 3,
          "momChange": 6,
          "sharePct": 10,
          "avgDaysBetween": 2.6,
          "breakdown": {
            "major": 1,
            "minor": 4,
            "patch": 4
          },
          "notable": {
            "id": "windsurf-3.1.7",
            "version": "3.1.7",
            "date": "2026-06-10T00:00:00.000Z",
            "summary": "Added the Agent/Editor switch to the collapsed-sidebar titlebar, and unified the search icon to open agent search.",
            "url": "https://docs.devin.ai/desktop/changelog"
          }
        },
        {
          "tool": "gemini-cli",
          "displayName": "Gemini CLI",
          "releases": 7,
          "prevMonthReleases": 7,
          "momChange": 0,
          "sharePct": 7.8,
          "avgDaysBetween": 3.8,
          "breakdown": {
            "major": 0,
            "minor": 4,
            "patch": 3
          },
          "notable": {
            "id": "gemini-cli-v0.49.0",
            "version": "v0.49.0",
            "date": "2026-06-25T20:12:27Z",
            "summary": "What's Changed chore(release): bump version to 0.48.0-nightly.20260609.g3a13b8eeb by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/27779 ci(dependabot): enable cooldown peri...",
            "url": "https://github.com/google-gemini/gemini-cli/releases/tag/v0.49.0"
          }
        },
        {
          "tool": "cursor",
          "displayName": "Cursor",
          "releases": 4,
          "prevMonthReleases": 4,
          "momChange": 0,
          "sharePct": 4.4,
          "avgDaysBetween": 8.7,
          "breakdown": {
            "major": 0,
            "minor": 4,
            "patch": 0
          },
          "notable": {
            "id": "cursor-3.7",
            "version": "3.7",
            "date": "2026-06-04T00:00:00.000Z",
            "summary": "Canvas Design Mode and Context Usage Report",
            "url": "https://www.cursor.com/changelog/canvas-improvements"
          }
        }
      ],
      "monthly": [
        {
          "month": "2025-07",
          "label": "Jul 2025",
          "total": 58,
          "byTool": {
            "claude-code": 23,
            "openai-codex": 8,
            "cursor": 0,
            "gemini-cli": 21,
            "kiro": 0,
            "github-copilot": 0,
            "windsurf": 6,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2025-08",
          "label": "Aug 2025",
          "total": 66,
          "byTool": {
            "claude-code": 18,
            "openai-codex": 15,
            "cursor": 0,
            "gemini-cli": 29,
            "kiro": 0,
            "github-copilot": 0,
            "windsurf": 4,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2025-09",
          "label": "Sep 2025",
          "total": 90,
          "byTool": {
            "claude-code": 15,
            "openai-codex": 15,
            "cursor": 2,
            "gemini-cli": 47,
            "kiro": 0,
            "github-copilot": 3,
            "windsurf": 8,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2025-10",
          "label": "Oct 2025",
          "total": 110,
          "byTool": {
            "claude-code": 20,
            "openai-codex": 9,
            "cursor": 1,
            "gemini-cli": 51,
            "kiro": 0,
            "github-copilot": 23,
            "windsurf": 6,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2025-11",
          "label": "Nov 2025",
          "total": 117,
          "byTool": {
            "claude-code": 18,
            "openai-codex": 9,
            "cursor": 1,
            "gemini-cli": 67,
            "kiro": 4,
            "github-copilot": 12,
            "windsurf": 6,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2025-12",
          "label": "Dec 2025",
          "total": 72,
          "byTool": {
            "claude-code": 19,
            "openai-codex": 11,
            "cursor": 2,
            "gemini-cli": 21,
            "kiro": 3,
            "github-copilot": 8,
            "windsurf": 8,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2026-01",
          "label": "Jan 2026",
          "total": 79,
          "byTool": {
            "claude-code": 24,
            "openai-codex": 14,
            "cursor": 1,
            "gemini-cli": 8,
            "kiro": 1,
            "github-copilot": 23,
            "windsurf": 8,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2026-02",
          "label": "Feb 2026",
          "total": 88,
          "byTool": {
            "claude-code": 26,
            "openai-codex": 13,
            "cursor": 1,
            "gemini-cli": 19,
            "kiro": 2,
            "github-copilot": 20,
            "windsurf": 7,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2026-03",
          "label": "Mar 2026",
          "total": 70,
          "byTool": {
            "claude-code": 22,
            "openai-codex": 10,
            "cursor": 1,
            "gemini-cli": 12,
            "kiro": 5,
            "github-copilot": 16,
            "windsurf": 4,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2026-04",
          "label": "Apr 2026",
          "total": 86,
          "byTool": {
            "claude-code": 26,
            "openai-codex": 8,
            "cursor": 3,
            "gemini-cli": 11,
            "kiro": 4,
            "github-copilot": 24,
            "windsurf": 10,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2026-05",
          "label": "May 2026",
          "total": 71,
          "byTool": {
            "claude-code": 27,
            "openai-codex": 7,
            "cursor": 4,
            "gemini-cli": 7,
            "kiro": 7,
            "github-copilot": 16,
            "windsurf": 3,
            "antigravity-cli": 0
          }
        },
        {
          "month": "2026-06",
          "label": "Jun 2026",
          "total": 90,
          "byTool": {
            "claude-code": 28,
            "openai-codex": 11,
            "cursor": 4,
            "gemini-cli": 7,
            "kiro": 9,
            "github-copilot": 11,
            "windsurf": 9,
            "antigravity-cli": 11
          }
        }
      ],
      "firstToShip": null,
      "ecosystem": {
        "asOf": "2026-07-12T11:01:07.191Z",
        "tools": [
          {
            "tool": "claude-code",
            "displayName": "Claude Code",
            "githubStars": 137519,
            "githubContributors": 55,
            "npmWeeklyDownloads": 9075756,
            "npmTrendPct": -16
          },
          {
            "tool": "openai-codex",
            "displayName": "OpenAI Codex CLI",
            "githubStars": 97288,
            "githubContributors": 502,
            "npmWeeklyDownloads": 10106046,
            "npmTrendPct": -3.4
          },
          {
            "tool": "gemini-cli",
            "displayName": "Gemini CLI",
            "githubStars": 105931,
            "githubContributors": 688,
            "npmWeeklyDownloads": 458602,
            "npmTrendPct": 12
          },
          {
            "tool": "github-copilot",
            "displayName": "GitHub Copilot CLI",
            "githubStars": 10931,
            "githubContributors": 21,
            "npmWeeklyDownloads": 2189,
            "npmTrendPct": -3.6
          }
        ]
      },
      "takeaways": [
        "Claude Code led with 28 releases in June 2026 — one every 1.1 days (31.1% of all releases tracked, more than the next two tools combined).",
        "Overall shipping velocity was up 27% month-over-month: 90 releases vs 71 the month before.",
        "Antigravity CLI accelerated the most: 11 releases, up from 0 the month before.",
        "1 major and 25 minor version bumps shipped; the remaining 64 releases were patches."
      ]
    }
  ]
}