Skip to content

jeremiahjordanisaacson/copilot-sdk-supercharged

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

777 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

GitHub Copilot SDK - Supercharged

GitHub Copilot SDK SUPERCHARGED

npm PyPI crates.io NuGet Maven Central Gem Hex Clojars LuaRocks GitHub Stars Registries Languages

npm downloads PyPI downloads crates.io downloads NuGet downloads RubyGems downloads Hex.pm downloads

40 languages. One SDK. Agents for every app.

Trusted by 27,000+ developers globally and growing daily.

Embed Copilot's agentic workflows in your application - now available in public preview as a programmable SDK for 40 languages.

The GitHub Copilot SDK exposes the same engine behind Copilot CLI: a production-tested agent runtime you can invoke programmatically. No need to build your own orchestration - you define agent behavior, Copilot handles planning, tool invocation, file edits, and more.

If you find this SDK useful, star the repo! It helps others discover it and keeps us motivated to ship more.

Available SDKs

SDK Location Cookbook Installation
.NET / C# dotnet/ Cookbook dotnet add package CopilotSDK.Supercharged
Ada ada/ Cookbook Alire
C c/ Cookbook CMake
C++ cpp/ Cookbook CMake
Clojure clojure/ Cookbook net.clojars.jeremiahisaacson/copilot-sdk-supercharged
COBOL cobol/ Cookbook GnuCOBOL
Crystal crystal/ Cookbook shards install
D dlang/ Cookbook dub add copilot
Dart dart/ Cookbook pub
Delphi / Object Pascal delphi/ Cookbook Boss / Manual
Elixir elixir/ Cookbook {:copilot_sdk_supercharged, "~> 2.0"}
Erlang erlang/ Cookbook Rebar3
F# fsharp/ Cookbook dotnet add package CopilotSDK.Supercharged.FSharp
Fortran fortran/ Cookbook fpm
Go go/ Cookbook go get github.com/github/copilot-sdk/go
Groovy groovy/ Cookbook Gradle
Haskell haskell/ Cookbook Cabal
Java java/ Cookbook io.github.jeremiahjordanisaacson:copilot-sdk-supercharged
Julia julia/ Cookbook Pkg.add("CopilotSDK")
Kotlin kotlin/ Cookbook Gradle
Lua lua/ Cookbook luarocks install copilot-sdk-supercharged
MATLAB matlab/ Cookbook addpath
Nim nim/ Cookbook nimble install copilot_sdk
Node.js / TypeScript nodejs/ Cookbook npm install copilot-sdk-supercharged
Objective-C objc/ Cookbook CocoaPods / SPM
OCaml ocaml/ Cookbook opam install copilot-sdk-supercharged
Perl perl/ Cookbook CPAN
PHP php/ Cookbook Composer
Python python/ Cookbook pip install copilot-sdk-supercharged
R r/ Cookbook CRAN
Ruby ruby/ Cookbook gem install copilot-sdk-supercharged
Rust rust/ Cookbook cargo add copilot-sdk-supercharged
Scala scala/ Cookbook sbt
Shell / Bash shell/ Cookbook Source
Solidity solidity/ Cookbook npm install copilot-sdk-solidity
Swift swift/ Cookbook Swift Package Manager
Tcl tcl/ Cookbook package require copilot
V (Vlang) vlang/ Cookbook v install copilot_sdk
Visual Basic visualbasic/ Cookbook dotnet add package CopilotSDK.Supercharged.VB
Zig zig/ Cookbook zig fetch

See the individual SDK READMEs for usage examples and API reference. For architecture details, see MULTI_LANGUAGE_SDKS.md.

What's New in v2.3.0

Synced with upstream github/copilot-sdk v0.4.0 (73 upstream commits) and ported all features to all 40 SDKs:

  • @github/copilot 1.0.47 – Latest session types with experimental schema support
  • Codegen identifier sanitization – Fixed identifier generation for edge-case property names
  • z-prefixed Go generated files – Go codegen outputs z_-prefixed files for clarity
  • Experimental schema types – Support for experimental/beta schema types in codegen
  • Normalized skill context snapshots – Consistent test snapshot formatting across SDKs
  • Derive Default on Rust types – All generated Rust types now implement Default
  • PingResponse.timestamp – Consistent String type across all 40 SDKs
  • SessionFs improvements – Session-scoped filesystem with 10 I/O operations
  • Per-session GitHub auth – Scope auth tokens per session for multi-tenant apps
  • Commands & UI Elicitation – Register slash commands and interactive prompts/dialogs
  • System prompt customization – Fine-grained control with append/replace/customize modes
  • Per-agent skills – Preload skill content into agent context at startup
  • Per-agent tool visibilityexcludedTools to control tool access per agent
  • Runtime request headers – Custom HTTP headers per message turn
  • Image generation – Response format and image options across all SDKs
  • 40 SDK CI – Full E2E test coverage for Node.js, Python, Go, .NET, Rust, Java, and 34 additional SDKs

Getting Started

For a complete walkthrough, see the Getting Started Guide.

Quick steps:

  1. (Optional) Install the Copilot CLI

For Node.js, Python, and .NET SDKs, the Copilot CLI is bundled automatically and no separate installation is required. For the Go and Rust SDKs, install the CLI manually or ensure copilot is available in your PATH unless you opt into their application-level CLI bundling features.

  1. Install your preferred SDK using the commands above.

  2. See the SDK README for usage examples and API documentation.

Architecture

All SDKs communicate with the Copilot CLI server via JSON-RPC:

Your Application
       ↓
  SDK Client
       ↓ JSON-RPC
  Copilot CLI (server mode)

The SDK manages the CLI process lifecycle automatically. You can also connect to an external CLI server. See the Getting Started Guide for details on running the CLI in server mode.

FAQ

Do I need a GitHub Copilot subscription to use the SDK?

Yes, a GitHub Copilot subscription is required to use the GitHub Copilot SDK, unless you are using BYOK (Bring Your Own Key). With BYOK, you can use the SDK without GitHub authentication by configuring your own API keys from supported LLM providers. For standard usage (non-BYOK), refer to the GitHub Copilot pricing page, which includes a free tier with limited usage.

How does billing work for SDK usage?

Billing for the GitHub Copilot SDK is based on the same model as the Copilot CLI, with each prompt being counted towards your premium request quota. For more information on premium requests, see Requests in GitHub Copilot.

Does it support BYOK (Bring Your Own Key)?

Yes, the GitHub Copilot SDK supports BYOK (Bring Your Own Key). You can configure the SDK to use your own API keys from supported LLM providers (e.g. OpenAI, Azure AI Foundry, Anthropic) to access models through those providers. See the BYOK documentation for setup instructions and examples.

Note: BYOK uses key-based authentication only. Microsoft Entra ID (Azure AD), managed identities, and third-party identity providers are not supported.

What authentication methods are supported?

The SDK supports multiple authentication methods:

  • GitHub signed-in user - Uses stored OAuth credentials from copilot CLI login
  • OAuth GitHub App - Pass user tokens from your GitHub OAuth app
  • Environment variables - COPILOT_GITHUB_TOKEN, GH_TOKEN, GITHUB_TOKEN
  • BYOK - Use your own API keys (no GitHub auth required)

See the Authentication documentation for details on each method.

Do I need to install the Copilot CLI separately?

No — for Node.js, Python, and .NET SDKs, the Copilot CLI is bundled automatically as a dependency. You do not need to install it separately.

For Go and Rust SDKs, the CLI is not bundled by default. Install the CLI manually, ensure copilot is available in your PATH, or opt into their application-level CLI bundling features.

Advanced: You can override the CLI binary or connect to an external server. See the individual SDK README for language-specific options.

What tools are enabled by default?

By default, the SDK exposes the Copilot CLI's first-party tools, similar to running the CLI with --allow-all. Tool execution is still governed by each SDK's permission handler, so applications can approve, deny, or customize tool calls. You can customize tool availability by configuring the SDK client options to enable and disable specific tools. Refer to the individual SDK documentation for details on tool configuration and to the Copilot CLI documentation for the list of available tools.

Can I use custom agents, skills or tools?

Yes, the GitHub Copilot SDK allows you to define custom agents, skills, and tools. You can extend the functionality of the agents by implementing your own logic and integrating additional tools as needed. Refer to the SDK documentation of your preferred language for more details.

Are there instructions or SDK guidance for Copilot to speed up development?

Yes, check out the custom instructions and SDK-specific guidance:

What models are supported?

All models available via Copilot CLI are supported in the SDK. The SDK also exposes a method which will return the models available so they can be accessed at runtime.

Is the SDK production-ready?

The GitHub Copilot SDK is currently in Public Preview. While it is functional and can be used for development and testing, it may not yet be suitable for production use.

How do I report issues or request features?

Please use the GitHub Issues page to report bugs or request new features. We welcome your feedback to help improve the SDK.

Quick Links

Contributing

See CONTRIBUTING.md for contribution guidelines.

License

MIT

About

A supercharged version of the multi-platform SDK for integrating GitHub Copilot Agent into apps and services.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors

Languages

  • Java 18.1%
  • Rust 16.1%
  • TypeScript 11.5%
  • C# 7.8%
  • Go 6.9%
  • Python 6.5%
  • Other 33.1%