Skip to content
CAI
Software that uses CAICheck a score

github/CopilotForXcode

51.3

Adequate · 30 September 2026

73.2k

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is the GitHub Copilot plugin for Xcode, a macOS application that integrates AI-driven coding assistance directly into the Xcode IDE. It manages the lifecycle of background services and XPC communication to handle real-time code suggestions, chat interactions, and terminal access within the editor. The system also provides infrastructure for accessibility automation, extension management, and local development workflows.

Features

Added SandboxedClientTester and Helper CLI for launch agent management

This change introduces a new SandboxedClientTester application and a Helper command-line tool. The Helper CLI provides a mechanism to reload macOS launch agents by unloading and reloading their plist files, supporting service management. The SandboxedClientTester is a SwiftUI-based sandboxed app designed to verify XPC service communication; it includes the necessary entitlements for sandboxing and file access, and features a UI that attempts to connect to the service to display its version and build information.

(repo-wide) · high confidence

Added Xcode schemes for internal build targets

New Xcode schemes have been added for the CommunicationBridge, EditorExtension, ExtensionService, and SandboxedClientTester targets. These schemes configure how these specific components are built, tested, and launched within the Xcode IDE, enabling developers to run and debug these internal parts of the Copilot for Xcode project directly.

Copilot for Xcode.xcodeproj/xcshareddata · high confidence

Added local build and uninstall scripts for Copilot for Xcode

New scripts have been added to the Script directory to streamline local development and cleanup. localbuild-app.sh automates the Xcode archive and export process for the 'Copilot for Xcode' scheme, utilizing a new export-options-local.plist for debugging configuration. MakeDSStore.sh and MakeDSStore.py provide a tool to generate a .DS\_Store file with specific Finder window layouts and icon positions for the application's DMG. Additionally, uninstall-app.sh was added to cleanly remove the application, its launch agents, and all associated user preferences and TCC permissions.

Script · high confidence

Initial release of Copilot for Xcode

This change introduces the initial version of the Copilot for Xcode application, providing users with a standalone macOS app to interact with GitHub Copilot. The app supports multiple launch modes (chat, settings, tools, BYOK) via command-line arguments, manages background permissions for launch agents, and handles the lifecycle of the extension service. It includes necessary entitlements for automation and file access, and integrates with the host app's store for settings management.

Copilot for Xcode · high confidence

Initial release of GitHub Copilot for Xcode

This change introduces the initial public release of the GitHub Copilot for Xcode plugin, establishing the project's foundational structure and documentation. It adds essential configuration files for the Xcode build system (including \.gitattributes\, \.gitignore\, and \xcconfig\ files for app identifiers and Sparkle auto-updates), defines the extension point and background launch agents, and provides comprehensive user-facing documentation such as the README, troubleshooting guide, and code of conduct. The release also includes the initial changelog and release notes for version 0.51.0, which highlights support for Kimi K3, Agent Client Protocol (ACP) plugin metadata, and fixes to model pricing tooltips.

(repo-wide) · high confidence

Introduce CommunicationBridge XPC service for extension management

Added a new CommunicationBridge component that establishes an XPC listener to manage the GitHub Copilot for Xcode Extension service. This service handles launching the extension app, updating service endpoints, and gracefully quitting the bridge process after a period of inactivity, providing the underlying communication layer for extension lifecycle management.

CommunicationBridge · high confidence

Introduce ExtensionService background process with status bar UI and XPC communication

Adds a new ExtensionService component that runs as a background macOS application, providing a status bar menu for user interactions (signing in, opening settings, toggling completions and Next Edit Suggestions, viewing quota, and quitting) and establishing an XPC connection to communicate with the host Xcode extension. The service includes logic to monitor for application termination and updates to gracefully quit when necessary, and exposes a debug menu for Xcode Inspector diagnostics.

ExtensionService · high confidence

Introduce GitHub Copilot Xcode Editor Extension

This change adds the EditorExtension component for the GitHub Copilot Xcode plugin, implementing the source-editor integration that allows users to interact with AI features directly within the Xcode IDE. The extension registers a suite of commands including retrieving and navigating code suggestions (Get, Next, Previous), accepting or rejecting suggestions (including specific Next Edit Suggestion and Prompt-to-Code flows), toggling real-time completions, and opening the Copilot chat or settings. It also includes helper logic to synchronize editor content and text settings with the backend service, enabling a seamless coding assistance experience.

EditorExtension · high confidence

New ChatService core with code injection, skills, and auto-approval infrastructure

The Core module introduces a new ChatService framework that enables AI-driven code interactions within the editor. This includes ChatInjector for inserting code blocks and suggestions directly into the Xcode source editor, and a Skills system (CurrentEditorSkill, ProblemsInActiveDocumentSkill, ProjectContextSkill) that provides context like the active file, selections, and project files to the AI. Additionally, it adds a comprehensive ToolAutoApprovalManager with storage backends for MCP servers, sensitive files, terminal commands, and web page fetches, supporting both session-scoped and global auto-approval rules persisted in user defaults.

Core · high confidence

New Server-side Diff Viewer and Terminal components

The Server now includes a new Diff Viewer and Terminal UI components. The Diff Viewer provides a side-by-side code comparison interface with 'Keep' and 'Undo' actions, supports automatic light/dark theme synchronization with the system, and hides unnecessary Monaco Editor UI elements like the overview ruler and lightbulb icons. The Terminal component provides a web-based terminal interface with input handling and auto-fit capabilities. Both components are built with TypeScript and bundled via Webpack.

Server · high confidence

New accessibility, application monitoring, and extension infrastructure for Xcode

This release introduces foundational infrastructure to enhance Xcode integration. It adds a comprehensive AXUIElement extension library for accessing accessibility attributes (such as identifiers, roles, and text ranges) and specific helpers for Xcode UI elements like the source editor and workspace window. An AXHelper module enables injecting code updates directly via the Accessibility API, including logic to preserve selection ranges and scroll positions. The tooling now includes an ActiveApplicationMonitor to track the active Xcode instance and an AXNotificationStream to observe accessibility events asynchronously. Additionally, an AppActivator module provides robust methods to bring the app to the foreground, handling macOS 14+ activation quirks. Finally, a new BuiltinExtension framework establishes the protocol and service providers (for suggestions, chat, and telemetry) that allow built-in features to interact with the Xcode workspace and document lifecycle.

Tool · high confidence

Behavioural changes

Copilot for Xcode project structure and build configuration

The Xcode project file defines the build configuration for the Copilot for Xcode extension, including embedding the Copilot language server binaries for both x64 and ARM64 architectures, integrating the XcodeKit framework, and configuring XPC services and launch agents for background communication.

Copilot for Xcode.xcodeproj · medium confidence

Dependencies

Update Swift and Node.js dependencies for Copilot for Xcode

This change updates the dependency manifests for the Swift (Core, Tool) and Node.js (Server) parts of the Copilot for Xcode extension. In Swift, packages such as swift-async-algorithms (1.0.0), swift-composable-architecture (1.10.4), and swift-dependencies (1.0.0) are pinned, alongside updates to ChimeHQ/LanguageClient (0.8.2), ChimeHQ/LanguageServerProtocol (0.13.3), and ChimeHQ/JSONRPC (0.9.0). The Node.js server now depends on @github/copilot-language-server 1.537.0, monaco-editor 0.52.2, and updated build tools including webpack 5.99.9 and TypeScript 5.8.3.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 57 → 51 (-5.8)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 85 → 84 (-1.5)
  • Architecture 98 → 90 (-8.1)
  • Maturity 55 → 55 (+0.0)
  • Readiness 64 → 46 (-18.2)
  • Security 93 → 94 (+1.4)
  • Domain Modelling 100 → 100 (+0.0)
  • Accessibility 45 → 45 (+0.0)
  • Performance 60 (new)

Resolved (10)

  • Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no pnpm-resolved versions to grade)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no licence statement (README.md)
  • Documentation: no usage examples (README.md)
  • High CVE: [GHSA redacted] (Server/package-lock.json)
  • High CVE: [GHSA redacted] (Server/package-lock.json)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • No dependency advisory monitoring

New (150)

  • AXNotificationStream.init (cognitive 18) (Tool/Sources/AXNotificationStream/AXNotificationStream.swift)
  • AXNotificationStream.init (cyclomatic 18) (Tool/Sources/AXNotificationStream/AXNotificationStream.swift)
  • AgentMCPServerSection.body (cognitive 22) (Core/Sources/SuggestionWidget/AgentConfigurationWidgetView.swift)
  • AgentMCPServerSection.body (cyclomatic 16) (Core/Sources/SuggestionWidget/AgentConfigurationWidgetView.swift)
  • Chat.body (cognitive 186) (Core/Sources/ConversationTab/Chat.swift)
  • Chat.body (cyclomatic 151) (Core/Sources/ConversationTab/Chat.swift)
  • ChatPanelFeature.body (cognitive 77) (Core/Sources/SuggestionWidget/FeatureReducers/ChatPanelFeature.swift)
  • ChatPanelFeature.body (cyclomatic 72) (Core/Sources/SuggestionWidget/FeatureReducers/ChatPanelFeature.swift)
  • CodeBlockSuggestionPanel.body (cognitive 17) (Core/Sources/SuggestionWidget/SuggestionPanelContent/CodeBlockSuggestionPanel.swift)
  • CodeReviewPanelFeature.body (cognitive 36) (Core/Sources/SuggestionWidget/FeatureReducers/CodeReviewFeature.swift)
  • CodeReviewPanelFeature.body (cyclomatic 34) (Core/Sources/SuggestionWidget/FeatureReducers/CodeReviewFeature.swift)
  • Coverage not measured — Swift suite
  • Duplicated block (10–14 lines × 3) (Core/Sources/HostApp/ToolsSettings/AutoApprove/EditsAutoApproveView.swift)
  • Duplicated block (11 lines × 2) (Core/Sources/ConversationTab/Chat.swift)
  • Duplicated block (11 lines × 2) (Core/Sources/ConversationTab/Views/ChatPanelInputArea/InputAreaTextEditor.swift)
  • Duplicated block (11 lines × 2) (Tool/Sources/SharedUIComponents/DownvoteButton.swift)
  • Duplicated block (12 lines × 2) (Core/Sources/ConversationTab/TerminalViews/RunInTerminalToolView.swift)
  • Duplicated block (12 lines × 2) (Core/Sources/ConversationTab/Views/BotMessage.swift)
  • Duplicated block (12–13 lines × 2) (Core/Sources/HostApp/BYOKSettings/ApiKeySheet.swift)
  • Duplicated block (12–13 lines × 2) (Core/Sources/SuggestionWidget/WidgetView.swift)
  • …and 130 more

Changes since last survey

  • 1 commits — 1 feature/other, 0 fixes

By area

  • .github/dependabot.yml — 1 commit

Notable commits

  • change: Pin GitHub Actions to commit SHAs (#942)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

github/CopilotForXcode was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 30 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 258d4577dcf8fba0e9131b514dbe45b5dbb8906c — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-cb25ca4feafa.