Skip to content

Add GitHub Copilot to onboarding MCP client tabs - #1295

Merged
kody-bot merged 2 commits into
mainfrom
cursor/onboarding-github-copilot-4e80
Aug 7, 2026
Merged

kody-bot merged 2 commits into
mainfrom
cursor/onboarding-github-copilot-4e80

Conversation

@kentcdodds

@kentcdodds kentcdodds commented Aug 7, 2026 •

Copy link
Copy Markdown
Owner

Intent

Make GitHub Copilot discoverable in Get started onboarding. Copilot users previously only saw a “VS Code” tab with a one-line Agent-mode mention, and the Copilot App had no path at all.

Summary

  • Renamed the VS Code tab to Copilot, covering:
    • VS Code Copilot Chat (.vscode/mcp.json + install deep link + Agent mode)
    • Copilot CLI (copilot mcp add + ~/.copilot/mcp-config.json)
  • Added a Copilot App tab (settings → MCP Servers, plus shared CLI config)
  • Mirrored client notes in docs/use/connect-your-agent.md
  • Mentioned Copilot in the onboarding banner copy

Intentionally omitted Copilot cloud agent / code review on github.com: GitHub does not support OAuth remote MCP there today, so guiding users would set a false expectation.

Testing

  • npm run test -- packages/worker/client/routes/onboarding-mcp-clients.node.test.ts
  • npm run validate (local green)

System changes

System recap — composes existing primitives (low risk)

Primitives

Primitive Group Classification What changed
app-ui surfaces composes Onboarding MCP client picker: Copilot (IDE+CLI) + Copilot App tabs and copy

Risk

Low — copy/config snippets and tab wiring only; no auth, MCP protocol, or account isolation changes.

Diagram

flowchart LR
  onboarding["/onboarding connect step"] --> copilotTab["Copilot tab"]
  onboarding --> copilotAppTab["Copilot App tab"]
  copilotTab --> vscode["VS Code .vscode/mcp.json"]
  copilotTab --> cli["Copilot CLI ~/.copilot/mcp-config.json"]
  copilotAppTab --> appSettings["App MCP Servers settings"]
  copilotAppTab --> cli
  vscode --> mcp["Kody /mcp + OAuth"]
  cli --> mcp
  appSettings --> mcp
Loading
Open in Web Open in Cursor 

Summary by CodeRabbit

  • New Features

    • Added GitHub Copilot and Copilot App onboarding options.
    • Added Copilot CLI setup commands and configuration guidance.
    • Added Copilot App MCP URL and shared configuration instructions.
    • Updated onboarding messaging and examples to include Copilot support.
  • Documentation

    • Expanded connection guidance for Copilot in VS Code and the CLI.
    • Added links to Copilot setup and customization documentation.
  • Tests

    • Added coverage for Copilot onboarding entries, labels, ordering, and configuration examples.

Rename the VS Code tab to Copilot (IDE + CLI setup), add a Copilot App tab,
and mirror the guidance in connect-your-agent docs.

Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
@coderabbitai

coderabbitai Bot commented Aug 7, 2026 •

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@cursor[bot], you've reached your PR review limit, so we couldn't start this review.

Next review available in: 10 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: c1f0c4ee-c2e1-4637-867c-d9f9020ef984

📥 Commits

Reviewing files that changed from the base of the PR and between 3d899de and 010f627.

📒 Files selected for processing (1)
  • docs/use/connect-your-agent.md
📝 Walkthrough

Walkthrough

The onboarding flow now supports GitHub Copilot, Copilot CLI, and the GitHub Copilot app. It adds setup commands, JSON configuration, documentation links, tests, and corresponding connection-guide updates.

Changes

Copilot onboarding

Layer / File(s) Summary
Copilot client contracts and setup helpers
packages/worker/client/routes/onboarding-mcp-clients.ts, packages/worker/client/routes/onboarding-mcp-clients.node.test.ts
Adds Copilot client kinds, onboarding entries, CLI command and JSON configuration helpers, and test coverage.
Copilot onboarding panels
packages/worker/client/routes/onboarding-mcp-client-tabs.tsx, packages/worker/client/routes/onboarding-banner.tsx
Adds Copilot CLI and GitHub Copilot app setup panels, configuration examples, documentation links, and fallback text.
Connection guide updates
docs/use/connect-your-agent.md
Documents Copilot support, setup locations, HTTP MCP requirements, and updated agent examples.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

  • kentcdodds/kody#1106: Adds an MCP client through the same onboarding tabs, client definitions, documentation, and tests.
  • kentcdodds/kody#1186: Modifies the same onboarding MCP client flow and related client definitions.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: adding GitHub Copilot to onboarding MCP client tabs.
Description check ✅ Passed The description includes intent, summary, testing, and system changes, with clear scope, testing commands, and risk information.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/onboarding-github-copilot-4e80

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kentcdodds
kentcdodds marked this pull request as ready for review August 7, 2026 21:05
@github-actions

github-actions Bot commented Aug 7, 2026 •

Copy link
Copy Markdown
Contributor

🔎 Preview deployed: https://kody-pr-1295.kody-a99.workers.dev

Worker: kody-pr-1295
D1: kody-pr-1295-db
KV: kody-pr-1295-oauth-kv

Mocks:

Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/worker/client/routes/onboarding-mcp-clients.ts`:
- Around line 33-34: Classify GitHub Copilot App as a coding agent: in
packages/worker/client/routes/onboarding-mcp-clients.ts lines 33-34, set the
copilot-app entry’s isNonCodingAgent to false; in
packages/worker/client/routes/onboarding-mcp-clients.node.test.ts lines 32-34,
remove copilot-app from the non-coding expected list; and in
packages/worker/client/routes/onboarding-mcp-client-tabs.tsx line 403, render
codingAgentPackageHint instead of nonCodingAgentNote for copilot-app.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 49a5b895-2187-424d-871d-7f88ba122f0b

📥 Commits

Reviewing files that changed from the base of the PR and between 2ae1ea7 and 3d899de.

📒 Files selected for processing (5)
  • docs/use/connect-your-agent.md
  • packages/worker/client/routes/onboarding-banner.tsx
  • packages/worker/client/routes/onboarding-mcp-client-tabs.tsx
  • packages/worker/client/routes/onboarding-mcp-clients.node.test.ts
  • packages/worker/client/routes/onboarding-mcp-clients.ts

Comment on lines +33 to +34
{ id: 'copilot', label: 'Copilot', isNonCodingAgent: false },
{ id: 'copilot-app', label: 'Copilot App', isNonCodingAgent: true },

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

GitHub Copilot app coding agent code changes agent sessions documentation

💡 Result:

GitHub Copilot agent sessions are isolated, autonomous, or interactive workspaces that allow Copilot to research, plan, and perform code changes on your behalf [1][2][3]. Depending on the client and type of agent, these sessions facilitate different levels of collaboration and automation [4][2]. Key Concepts of Agent Sessions: - Purpose: Agent sessions allow Copilot to work independently—researching repositories, implementing features, fixing bugs, or maintaining code—without requiring you to perform repetitive tasks like manual branch creation, commit writing, or test running [2][5][3]. - Isolation: Each session typically runs in its own isolated environment (e.g., a dedicated Git worktree or a cloud-based sandbox via GitHub Actions), allowing you to run multiple tasks in parallel without interfering with your primary workspace [1][6][7]. - Session Modes: You can often choose the autonomy level of an agent within a session [1][6]: - Interactive: You and the agent collaborate in real-time [1][4]. - Plan: The agent generates a plan for you to approve before it proceeds [1][6]. - Autopilot: The agent works autonomously to complete the task [1][6]. - Tracking and Management: Sessions provide logs that allow you to monitor the agent's internal reasoning, tool usage, and progress [1][8][9]. You can steer sessions with follow-up prompts, review and iterate on code changes, and ultimately create pull requests directly from the session interface [8][10][3]. Distinction Between Agent Types: - GitHub Copilot Coding Agent: An asynchronous teammate that lives in the cloud, operates via GitHub Actions, and handles tasks assigned through GitHub Issues or Chat [4][2]. It is designed for background, end-to-end task completion [4][5]. - Copilot Agent Mode: A synchronous collaborator that resides within your local IDE (e.g., VS Code). It acts as a real-time partner, making autonomous edits directly in your local development environment [4][2]. You can manage these sessions through various entry points, including the GitHub website, the GitHub Copilot app, the GitHub CLI, and integrated development environments (IDEs) like Visual Studio Code [11][12][9][7]. Automated workflows can also trigger sessions based on events like issue creation or failing GitHub Actions [12].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '--- candidate files ---\n'
git ls-files | rg 'packages/worker/client/routes/(onboarding-mcp-clients|onboarding-mcp-clients\.node\.test|onboarding-mcp-client-tabs)\.(ts|tsx)$' || true

printf '\n--- relevant snippets ---\n'
for f in \
  packages/worker/client/routes/onboarding-mcp-clients.ts \
  packages/worker/client/routes/onboarding-mcp-clients.node.test.ts \
  packages/worker/client/routes/onboarding-mcp-client-tabs.tsx
do
  echo "### $f"
  wc -l "$f"
  if [[ "$f" == *.tsx ]]; then
    sed -n '370,415p' "$f"
  else
    sed -n '25,40p' "$f"
    grep -n "copilot-app\|isNonCodingAgent" "$f" || true
  fi
done

Repository: kentcdodds/kody

Length of output: 244


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- candidate files ---'
git ls-files | rg 'packages/worker/client/routes/(onboarding-mcp-clients|onboarding-mcp-clients\.node\.test|onboarding-mcp-client-tabs)\.(ts|tsx)$' || true

printf '%s\n' ''
printf '%s\n' '--- relevant snippets ---'
for f in \
  packages/worker/client/routes/onboarding-mcp-clients.ts \
  packages/worker/client/routes/onboarding-mcp-clients.node.test.ts \
  packages/worker/client/routes/onboarding-mcp-client-tabs.tsx
do
  if [ -f "$f" ]; then
    printf '%s\n' "### $f"
    wc -l "$f"
    if [[ "$f" == *.tsx ]]; then
      sed -n '370,415p' "$f"
    else
      sed -n '25,40p' "$f"
      grep -n "copilot-app\|isNonCodingAgent" "$f" || true
    fi
  else
    printf '%s\n' "MISSING: $f"
  fi
done

Repository: kentcdodds/kody

Length of output: 4490


Classify GitHub Copilot App as a coding agent.

GitHub Copilot app agent sessions make code changes and create pull requests, so it should not use the non-coding client labels/text.

  • Set packages/worker/client/routes/onboarding-mcp-clients.ts entry copilot-app to isNonCodingAgent: false.
  • Remove copilot-app from the non-coding expected list in packages/worker/client/routes/onboarding-mcp-clients.node.test.ts.
  • Render codingAgentPackageHint for copilot-app instead of nonCodingAgentNote.
📍 Affects 3 files
  • packages/worker/client/routes/onboarding-mcp-clients.ts#L33-L34 (this comment)
  • packages/worker/client/routes/onboarding-mcp-clients.node.test.ts#L32-L34
  • packages/worker/client/routes/onboarding-mcp-client-tabs.tsx#L403-L403
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/worker/client/routes/onboarding-mcp-clients.ts` around lines 33 -
34, Classify GitHub Copilot App as a coding agent: in
packages/worker/client/routes/onboarding-mcp-clients.ts lines 33-34, set the
copilot-app entry’s isNonCodingAgent to false; in
packages/worker/client/routes/onboarding-mcp-clients.node.test.ts lines 32-34,
remove copilot-app from the non-coding expected list; and in
packages/worker/client/routes/onboarding-mcp-client-tabs.tsx line 403, render
codingAgentPackageHint instead of nonCodingAgentNote for copilot-app.

@kody-bot
kody-bot merged commit 383f4ab into main Aug 7, 2026
10 checks passed
@kody-bot
kody-bot deleted the cursor/onboarding-github-copilot-4e80 branch August 7, 2026 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants