Skip to content

Commit 28d0a33

Browse files
authored
Public preview update (#996)
1 parent dd42d42 commit 28d0a33

File tree

6 files changed

+61
-53
lines changed

6 files changed

+61
-53
lines changed

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@
88

99
Agents for every app.
1010

11-
Embed Copilot's agentic workflows in your application—now available in Technical preview as a programmable SDK for Python, TypeScript, Go, .NET, and Java.
11+
Embed Copilot's agentic workflows in your application—now available in public preview as a programmable SDK for Python, TypeScript, Go, .NET, and Java.
1212

1313
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.
1414

1515
## Available SDKs
1616

17-
| SDK | Location | Cookbook | Installation |
18-
| ------------------------ | -------------- | ------------------------------------------------- | ----------------------------------------- |
19-
| **Node.js / TypeScript** | [`nodejs/`](./nodejs/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/nodejs/README.md) | `npm install @github/copilot-sdk` |
20-
| **Python** | [`python/`](./python/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/python/README.md) | `pip install github-copilot-sdk` |
21-
| **Go** | [`go/`](./go/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/go/README.md) | `go get github.com/github/copilot-sdk/go` |
22-
| **.NET** | [`dotnet/`](./dotnet/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/dotnet/README.md) | `dotnet add package GitHub.Copilot.SDK` |
23-
| **Java** | [`github/copilot-sdk-java`](https://github.com/github/copilot-sdk-java) | WIP | Maven coordinates<br>`com.github:copilot-sdk-java`<br>See instructions for [Maven](https://github.com/github/copilot-sdk-java?tab=readme-ov-file#maven) and [Gradle](https://github.com/github/copilot-sdk-java?tab=readme-ov-file#gradle) |
17+
| SDK | Location | Cookbook | Installation |
18+
| ------------------------ | ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
19+
| **Node.js / TypeScript** | [`nodejs/`](./nodejs/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/nodejs/README.md) | `npm install @github/copilot-sdk` |
20+
| **Python** | [`python/`](./python/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/python/README.md) | `pip install github-copilot-sdk` |
21+
| **Go** | [`go/`](./go/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/go/README.md) | `go get github.com/github/copilot-sdk/go` |
22+
| **.NET** | [`dotnet/`](./dotnet/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/dotnet/README.md) | `dotnet add package GitHub.Copilot.SDK` |
23+
| **Java** | [`github/copilot-sdk-java`](https://github.com/github/copilot-sdk-java) | WIP | Maven coordinates<br>`com.github:copilot-sdk-java`<br>See instructions for [Maven](https://github.com/github/copilot-sdk-java?tab=readme-ov-file#maven) and [Gradle](https://github.com/github/copilot-sdk-java?tab=readme-ov-file#gradle) |
2424

2525
See the individual SDK READMEs for installation, usage examples, and API reference.
2626

@@ -71,6 +71,7 @@ Yes, the GitHub Copilot SDK supports BYOK (Bring Your Own Key). You can configur
7171
### What authentication methods are supported?
7272

7373
The SDK supports multiple authentication methods:
74+
7475
- **GitHub signed-in user** - Uses stored OAuth credentials from `copilot` CLI login
7576
- **OAuth GitHub App** - Pass user tokens from your GitHub OAuth app
7677
- **Environment variables** - `COPILOT_GITHUB_TOKEN`, `GH_TOKEN`, `GITHUB_TOKEN`
@@ -100,14 +101,13 @@ Yes, check out the custom instructions for each SDK:
100101
- **[Go](https://github.com/github/awesome-copilot/blob/main/instructions/copilot-sdk-go.instructions.md)**
101102
- **[Java](https://github.com/github/copilot-sdk-java/blob/main/instructions/copilot-sdk-java.instructions.md)**
102103

103-
104104
### What models are supported?
105105

106106
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.
107107

108108
### Is the SDK production-ready?
109109

110-
The GitHub Copilot SDK is currently in Technical Preview. While it is functional and can be used for development and testing, it may not yet be suitable for production use.
110+
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.
111111

112112
### How do I report issues or request features?
113113

@@ -128,11 +128,11 @@ Please use the [GitHub Issues](https://github.com/github/copilot-sdk/issues) pag
128128

129129
⚠️ Disclaimer: These are unofficial, community-driven SDKs and they are not supported by GitHub. Use at your own risk.
130130

131-
| SDK | Location |
132-
| --------------| ----------------------------------------------------------------- |
133-
| **Rust** | [copilot-community-sdk/copilot-sdk-rust][sdk-rust] |
134-
| **Clojure** | [copilot-community-sdk/copilot-sdk-clojure][sdk-clojure] |
135-
| **C++** | [0xeb/copilot-sdk-cpp][sdk-cpp] |
131+
| SDK | Location |
132+
| ----------- | -------------------------------------------------------- |
133+
| **Rust** | [copilot-community-sdk/copilot-sdk-rust][sdk-rust] |
134+
| **Clojure** | [copilot-community-sdk/copilot-sdk-clojure][sdk-clojure] |
135+
| **C++** | [0xeb/copilot-sdk-cpp][sdk-cpp] |
136136

137137
[sdk-rust]: https://github.com/copilot-community-sdk/copilot-sdk-rust
138138
[sdk-cpp]: https://github.com/0xeb/copilot-sdk-cpp

dotnet/README.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
SDK for programmatic control of GitHub Copilot CLI.
44

5-
> **Note:** This SDK is in technical preview and may change in breaking ways.
5+
> **Note:** This SDK is in public preview and may change in breaking ways.
66
77
## Installation
88

@@ -170,6 +170,7 @@ using var subscription = client.On(SessionLifecycleEventTypes.Foreground, evt =>
170170
```
171171

172172
**Lifecycle Event Types:**
173+
173174
- `SessionLifecycleEventTypes.Created` - A new session was created
174175
- `SessionLifecycleEventTypes.Deleted` - A session was deleted
175176
- `SessionLifecycleEventTypes.Updated` - A session was updated
@@ -766,13 +767,13 @@ var session = await client.CreateSessionAsync(new SessionConfig
766767

767768
### Permission Result Kinds
768769

769-
| Value | Meaning |
770-
|-------|---------|
771-
| `PermissionRequestResultKind.Approved` | Allow the tool to run |
772-
| `PermissionRequestResultKind.DeniedInteractivelyByUser` | User explicitly denied the request |
773-
| `PermissionRequestResultKind.DeniedCouldNotRequestFromUser` | No approval rule matched and user could not be asked |
774-
| `PermissionRequestResultKind.DeniedByRules` | Denied by a policy rule |
775-
| `PermissionRequestResultKind.NoResult` | Leave the permission request unanswered (the SDK returns without calling the RPC). Not allowed for protocol v2 permission requests (will be rejected). |
770+
| Value | Meaning |
771+
| ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
772+
| `PermissionRequestResultKind.Approved` | Allow the tool to run |
773+
| `PermissionRequestResultKind.DeniedInteractivelyByUser` | User explicitly denied the request |
774+
| `PermissionRequestResultKind.DeniedCouldNotRequestFromUser` | No approval rule matched and user could not be asked |
775+
| `PermissionRequestResultKind.DeniedByRules` | Denied by a policy rule |
776+
| `PermissionRequestResultKind.NoResult` | Leave the permission request unanswered (the SDK returns without calling the RPC). Not allowed for protocol v2 permission requests (will be rejected). |
776777

777778
### Resuming Sessions
778779

go/README.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
A Go SDK for programmatic access to the GitHub Copilot CLI.
44

5-
> **Note:** This SDK is in technical preview and may change in breaking ways.
5+
> **Note:** This SDK is in public preview and may change in breaking ways.
66
77
## Installation
88

@@ -180,7 +180,7 @@ Event types: `SessionLifecycleCreated`, `SessionLifecycleDeleted`, `SessionLifec
180180
- `Abort(ctx context.Context) error` - Abort the currently processing message
181181
- `GetMessages(ctx context.Context) ([]SessionEvent, error)` - Get message history
182182
- `Disconnect() error` - Disconnect the session (releases in-memory resources, preserves disk state)
183-
- `Destroy() error` - *(Deprecated)* Use `Disconnect()` instead
183+
- `Destroy() error` - _(Deprecated)_ Use `Disconnect()` instead
184184
- `UI() *SessionUI` - Interactive UI API for elicitation dialogs
185185
- `Capabilities() SessionCapabilities` - Host capabilities (e.g. elicitation support)
186186

@@ -230,6 +230,7 @@ session, err := client.CreateSession(ctx, &copilot.SessionConfig{
230230
Available section constants: `SectionIdentity`, `SectionTone`, `SectionToolEfficiency`, `SectionEnvironmentContext`, `SectionCodeChangeRules`, `SectionGuidelines`, `SectionSafety`, `SectionToolInstructions`, `SectionCustomInstructions`, `SectionLastInstructions`.
231231

232232
Each section override supports four actions:
233+
233234
- **`replace`** — Replace the section content entirely
234235
- **`remove`** — Remove the section from the prompt
235236
- **`append`** — Add content after the existing section
@@ -543,7 +544,9 @@ session, err := client.CreateSession(context.Background(), &copilot.SessionConfi
543544
},
544545
})
545546
```
547+
546548
> **Important notes:**
549+
>
547550
> - When using a custom provider, the `Model` parameter is **required**. The SDK will return an error if no model is specified.
548551
> - For Azure OpenAI endpoints (`*.openai.azure.com`), you **must** use `Type: "azure"`, not `Type: "openai"`.
549552
> - The `BaseURL` should be just the host (e.g., `https://my-resource.openai.azure.com`). Do **not** include `/openai/v1` in the URL - the SDK handles path construction automatically.
@@ -623,13 +626,13 @@ session, err := client.CreateSession(context.Background(), &copilot.SessionConfi
623626

624627
### Permission Result Kinds
625628

626-
| Constant | Meaning |
627-
|----------|---------|
628-
| `PermissionRequestResultKindApproved` | Allow the tool to run |
629-
| `PermissionRequestResultKindDeniedInteractivelyByUser` | User explicitly denied the request |
630-
| `PermissionRequestResultKindDeniedCouldNotRequestFromUser` | No approval rule matched and user could not be asked |
631-
| `PermissionRequestResultKindDeniedByRules` | Denied by a policy rule |
632-
| `PermissionRequestResultKindNoResult` | Leave the permission request unanswered (protocol v1 only; not allowed for protocol v2) |
629+
| Constant | Meaning |
630+
| ---------------------------------------------------------- | --------------------------------------------------------------------------------------- |
631+
| `PermissionRequestResultKindApproved` | Allow the tool to run |
632+
| `PermissionRequestResultKindDeniedInteractivelyByUser` | User explicitly denied the request |
633+
| `PermissionRequestResultKindDeniedCouldNotRequestFromUser` | No approval rule matched and user could not be asked |
634+
| `PermissionRequestResultKindDeniedByRules` | Denied by a policy rule |
635+
| `PermissionRequestResultKindNoResult` | Leave the permission request unanswered (protocol v1 only; not allowed for protocol v2) |
633636

634637
### Resuming Sessions
635638

@@ -840,6 +843,7 @@ session, err := client.CreateSession(ctx, &copilot.SessionConfig{
840843
```
841844

842845
When `OnElicitationRequest` is provided, the SDK automatically:
846+
843847
- Sends `requestElicitation: true` in the create/resume payload
844848
- Routes `elicitation.requested` events to your handler
845849
- Auto-cancels the request if your handler returns an error (so the server doesn't hang)

java/README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Java SDK for programmatic control of GitHub Copilot CLI via JSON-RPC.
44

55
> **📦 The Java SDK is maintained in a separate repository: [`github/copilot-sdk-java`](https://github.com/github/copilot-sdk-java)**
66
>
7-
> **Note:** This SDK is in technical preview and may change in breaking ways.
7+
> **Note:** This SDK is in public preview and may change in breaking ways.
88
99
[![Build](https://github.com/github/copilot-sdk-java/actions/workflows/build-test.yml/badge.svg)](https://github.com/github/copilot-sdk-java/actions/workflows/build-test.yml)
1010
[![Maven Central](https://img.shields.io/maven-central/v/com.github/copilot-sdk-java)](https://central.sonatype.com/artifact/com.github/copilot-sdk-java)
@@ -61,17 +61,17 @@ jbang https://github.com/github/copilot-sdk-java/blob/main/jbang-example.java
6161

6262
## Documentation & Resources
6363

64-
| Resource | Link |
65-
|----------|------|
66-
| **Full Documentation** | [github.github.io/copilot-sdk-java](https://github.github.io/copilot-sdk-java/) |
67-
| **Getting Started Guide** | [Documentation](https://github.github.io/copilot-sdk-java/latest/documentation.html) |
68-
| **API Reference (Javadoc)** | [javadoc.io](https://javadoc.io/doc/com.github/copilot-sdk-java/latest/index.html) |
69-
| **MCP Servers Integration** | [MCP Guide](https://github.github.io/copilot-sdk-java/latest/mcp.html) |
70-
| **Cookbook** | [Recipes](https://github.com/github/copilot-sdk-java/tree/main/src/site/markdown/cookbook) |
71-
| **Source Code** | [github/copilot-sdk-java](https://github.com/github/copilot-sdk-java) |
72-
| **Issues & Feature Requests** | [GitHub Issues](https://github.com/github/copilot-sdk-java/issues) |
73-
| **Releases** | [GitHub Releases](https://github.com/github/copilot-sdk-java/releases) |
74-
| **Copilot Instructions** | [copilot-sdk-java.instructions.md](https://github.com/github/copilot-sdk-java/blob/main/instructions/copilot-sdk-java.instructions.md) |
64+
| Resource | Link |
65+
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
66+
| **Full Documentation** | [github.github.io/copilot-sdk-java](https://github.github.io/copilot-sdk-java/) |
67+
| **Getting Started Guide** | [Documentation](https://github.github.io/copilot-sdk-java/latest/documentation.html) |
68+
| **API Reference (Javadoc)** | [javadoc.io](https://javadoc.io/doc/com.github/copilot-sdk-java/latest/index.html) |
69+
| **MCP Servers Integration** | [MCP Guide](https://github.github.io/copilot-sdk-java/latest/mcp.html) |
70+
| **Cookbook** | [Recipes](https://github.com/github/copilot-sdk-java/tree/main/src/site/markdown/cookbook) |
71+
| **Source Code** | [github/copilot-sdk-java](https://github.com/github/copilot-sdk-java) |
72+
| **Issues & Feature Requests** | [GitHub Issues](https://github.com/github/copilot-sdk-java/issues) |
73+
| **Releases** | [GitHub Releases](https://github.com/github/copilot-sdk-java/releases) |
74+
| **Copilot Instructions** | [copilot-sdk-java.instructions.md](https://github.com/github/copilot-sdk-java/blob/main/instructions/copilot-sdk-java.instructions.md) |
7575

7676
## Contributing
7777

nodejs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
TypeScript SDK for programmatic control of GitHub Copilot CLI via JSON-RPC.
44

5-
> **Note:** This SDK is in technical preview and may change in breaking ways.
5+
> **Note:** This SDK is in public preview and may change in breaking ways.
66
77
## Installation
88

0 commit comments

Comments
 (0)