# Where to Find Documentation for the GitHub Copilot SDK

> Find comprehensive GitHub Copilot SDK documentation within the github/copilot-sdk repositorys docs folder. Start with the root README or docs/index.md for essential info.

- Repository: [GitHub/copilot-sdk](https://github.com/github/copilot-sdk)
- Tags: documentation
- Published: 2026-06-06

---

**All GitHub Copilot SDK documentation is located in the `docs/` folder of the github/copilot-sdk repository, with the root README and docs/index.md serving as the primary entry points.**

The **GitHub Copilot SDK** provides a multi-language collection of client libraries for embedding Copilot's agentic capabilities into applications. According to the github/copilot-sdk source code, all documentation lives directly in the repository under the **`docs/`** directory, complemented by language-specific README files distributed throughout the codebase.

## Primary Documentation Entry Points

Start with the repository's root **README** at [`README.md`](https://github.com/github/copilot-sdk/blob/main/README.md) for a high-level overview. Lines 18-27 of this file contain the "Available SDKs" section, which provides a compatibility table and quick-start instructions for all supported languages.

The **Documentation Index** at **[`docs/index.md`](https://github.com/github/copilot-sdk/blob/main/docs/index.md)** serves as the central navigation hub. Lines 3-33 outline the complete guide structure, covering getting started, setup, authentication, features, hooks, troubleshooting, observability, and integrations.

## Step-by-Step Getting Started Guide

The **[`docs/getting-started.md`](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md)** file provides a comprehensive tutorial covering installation, basic usage, streaming responses, and custom tool integration. As implemented in the source code, lines 1-70 walk through practical examples for Node.js, Python, Go, Rust, .NET, and Java implementations.

## Language-Specific SDK References

Each supported language maintains its own detailed API reference and build instructions in its respective subdirectory:

- **Node.js/TypeScript**: [`nodejs/README.md`](https://github.com/github/copilot-sdk/blob/main/nodejs/README.md)
- **Python**: [`python/README.md`](https://github.com/github/copilot-sdk/blob/main/python/README.md)
- **Go**: [`go/README.md`](https://github.com/github/copilot-sdk/blob/main/go/README.md)
- **.NET**: [`dotnet/README.md`](https://github.com/github/copilot-sdk/blob/main/dotnet/README.md)
- **Java**: [`java/README.md`](https://github.com/github/copilot-sdk/blob/main/java/README.md)
- **Rust**: [`rust/README.md`](https://github.com/github/copilot-sdk/blob/main/rust/README.md)

## Implementation Code Examples

Below are minimal implementation snippets demonstrating how to create a **CopilotClient**, start a session, and send prompts. These examples correspond to the language-specific sections found in [`docs/getting-started.md`](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md).

### Node.js / TypeScript

```typescript
import { CopilotClient } from "@github/copilot-sdk";

const client = new CopilotClient();
const session = await client.createSession({ model: "gpt-4.1" });

const response = await session.sendAndWait({ prompt: "What is 2 + 2?" });
console.log(response?.data.content);

await client.stop();

```

*Source*: [`docs/getting-started.md`](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md) (Node.js section, lines 44-60)

### Python

```python
import asyncio
from copilot import CopilotClient
from copilot.session import PermissionHandler

async def main():
    client = CopilotClient()
    await client.start()
    session = await client.create_session(
        on_permission_request=PermissionHandler.approve_all,
        model="gpt-4.1"
    )
    response = await session.send_and_wait("What is 2 + 2?")
    print(response.data.content)
    await client.stop()

asyncio.run(main())

```

*Source*: [`docs/getting-started.md`](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md) (Python section, lines 70-90)

### Go

```go
package main

import (
    "context"
    "fmt"
    "log"

    copilot "github.com/github/copilot-sdk/go"
)

func main() {
    ctx := context.Background()
    client := copilot.NewClient(nil)
    if err := client.Start(ctx); err != nil { log.Fatal(err) }
    defer client.Stop()

    session, err := client.CreateSession(ctx, &copilot.SessionConfig{Model: "gpt-4.1"})
    if err != nil { log.Fatal(err) }

    resp, err := session.SendAndWait(ctx, copilot.MessageOptions{Prompt: "What is 2 + 2?"})
    if err != nil { log.Fatal(err) }

    if d, ok := resp.Data.(*copilot.AssistantMessageData); ok {
        fmt.Println(d.Content)
    }
}

```

*Source*: [`docs/getting-started.md`](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md) (Go section, lines 100-130)

### .NET (C#)

```csharp
using GitHub.Copilot;

await using var client = new CopilotClient();
await using var session = await client.CreateSessionAsync(new SessionConfig {
    Model = "gpt-4.1",
    OnPermissionRequest = PermissionHandler.ApproveAll
});

var response = await session.SendAndWaitAsync(new MessageOptions { Prompt = "What is 2 + 2?" });
Console.WriteLine(response?.Data.Content);

```

*Source*: [`docs/getting-started.md`](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md) (.NET section, lines 96-115)

### Java

```java
import com.github.copilot.CopilotClient;
import com.github.copilot.rpc.*;

try (var client = new CopilotClient()) {
    client.start().get();

    var session = client.createSession(
        new SessionConfig().setModel("gpt-4.1")
    ).get();

    var response = session.sendAndWait(
        new MessageOptions().setPrompt("What is 2 + 2?")
    ).get();

    System.out.println(response.getData().content());
    client.stop().get();
}

```

*Source*: [`docs/getting-started.md`](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md) (Java section, lines 120-140)

## Summary

- The **GitHub Copilot SDK** documentation is hosted entirely within the github/copilot-sdk repository under the **`docs/`** folder
- Start with **[`README.md`](https://github.com/github/copilot-sdk/blob/main/README.md)** for the high-level overview and **[`docs/index.md`](https://github.com/github/copilot-sdk/blob/main/docs/index.md)** for navigation to specific guides
- Follow **[`docs/getting-started.md`](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md)** for step-by-step implementation tutorials covering all supported languages
- Reference language-specific READMEs ([`nodejs/README.md`](https://github.com/github/copilot-sdk/blob/main/nodejs/README.md), [`python/README.md`](https://github.com/github/copilot-sdk/blob/main/python/README.md), etc.) for detailed API documentation and build instructions

## Frequently Asked Questions

### Where is the main documentation index for the GitHub Copilot SDK?

The main documentation index is located at **[`docs/index.md`](https://github.com/github/copilot-sdk/blob/main/docs/index.md)** in the repository root. According to the source code at lines 3-33, this file serves as the central hub linking to all guides including setup, authentication, features, hooks, troubleshooting, and observability resources.

### Does the GitHub Copilot SDK have separate documentation for each programming language?

Yes. Each language implementation maintains its own detailed README file in its respective subdirectory. You can find specific documentation for Node.js at [`nodejs/README.md`](https://github.com/github/copilot-sdk/blob/main/nodejs/README.md), Python at [`python/README.md`](https://github.com/github/copilot-sdk/blob/main/python/README.md), Go at [`go/README.md`](https://github.com/github/copilot-sdk/blob/main/go/README.md), .NET at [`dotnet/README.md`](https://github.com/github/copilot-sdk/blob/main/dotnet/README.md), Java at [`java/README.md`](https://github.com/github/copilot-sdk/blob/main/java/README.md), and Rust at [`rust/README.md`](https://github.com/github/copilot-sdk/blob/main/rust/README.md).

### How do I find quickstart examples for the GitHub Copilot SDK?

Quickstart examples covering installation, session creation, and prompt handling are available in **[`docs/getting-started.md`](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md)**. This file contains runnable code snippets for all supported languages, illustrating how to instantiate `CopilotClient`, create sessions with specific models like "gpt-4.1", and handle streaming responses.

### Is the GitHub Copilot SDK documentation available on a separate website or only in the repository?

All documentation is stored directly in the github/copilot-sdk repository markdown files. You can view the documentation on GitHub at `https://github.com/github/copilot-sdk/tree/main/docs` or browse the language-specific READMEs in their respective folders. There is no separate external documentation site referenced in the source code.