CopilotForXcode  by intitni

Xcode extension for Copilot, Codeium, and ChatGPT integration

created 2 years ago
8,176 stars

Top 6.4% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides an Xcode Source Editor Extension for integrating GitHub Copilot, Codeium, and ChatGPT into the Xcode IDE. It aims to enhance developer productivity by offering AI-powered code suggestions, chat-based code modification, and custom command execution directly within the editor.

How It Works

The extension operates as a host application that manages background services and communicates with Xcode via its Source Editor Extension API. It leverages language server protocols (LSP) for GitHub Copilot and Codeium, requiring Node.js for the former. ChatGPT integration relies on OpenAI API keys. The extension uses Accessibility APIs to monitor Xcode's state and inject suggestions or trigger chat interactions.

Quick Start & Requirements

  • Install: brew install --cask copilot-for-xcode or download the .app from releases.
  • Prerequisites:
    • macOS 14+ recommended.
    • Public network connection.
    • Node.js installed for GitHub Copilot.
    • Active GitHub Copilot subscription.
    • Active Codeium account.
    • OpenAI API key for ChatGPT features.
  • Setup: Requires enabling the extension in System Settings, granting Accessibility permissions, and configuring API keys/accounts within the host app.
  • Docs: Wiki Page

Highlighted Details

  • Supports both "Nearby Text Cursor" and "Floating Widget" suggestion presentation modes.
  • Chat feature provides context from selected code, file path, and editor errors/warnings.
  • Allows custom commands for chat and code modification using template arguments like {{selected_code}}.
  • Offers integration with macOS Shortcuts app via /shortcut plugin.

Maintenance & Community

  • Actively maintained by intini.
  • Community support channels are not explicitly mentioned in the README.

Licensing & Compatibility

  • License: Not explicitly stated in the README, but a LICENSE file is referenced.
  • Compatibility: Designed for Xcode on macOS. Commercial use implications depend on the underlying AI service licenses and the project's own license.

Limitations & Caveats

The extension's reliance on monitoring Xcode's state via Accessibility APIs may lead to instability or incorrect behavior, particularly with multiple Xcode windows or complex window configurations. Files listed in .gitignore are not automatically processed for suggestions unless code is manually selected.

Health Check
Last commit

1 week ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
2
Star History
108 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.