GitHub Copilot SDK Tutorial (Go)
A step-by-step guide to building real applications with the GitHub Copilot SDK for Go.
New to the SDK? Start with the language-agnostic overview and concepts — what the GitHub Copilot SDK is and is not — plus common setup for installing the Copilot CLI and authenticating with GitHub. This page focuses on the Go edition.
Tutorial Structure
Each tutorial pairs a documentation page with a CLI subcommand that you can build and run directly:
| # | Tutorial | Subcommand | Status | What You Learn |
|---|---|---|---|---|
| 1 | CLI Chatbot | tutorial chat-bot |
Available | Client/session creation, single prompt, streaming, interactive loop |
| 2 | Issue Triage Bot | tutorial issue-triage |
Available | DefineTool, typed tool I/O, tool-calling agent |
| 3 | Streaming Review | tutorial streaming-review |
Available | Streaming deltas, real-time output |
| 4 | Skills Doc Generation | tutorial skills-docgen |
Available | SkillDirectories, SKILL.md, doc generation |
| 5 | Audit Log | tutorial audit-hooks |
Available | Session hooks, permission handler, audit log |
| 6 | BYOK Azure OpenAI | tutorial byok-azure-openai |
Available | ProviderConfig, Azure OpenAI API key & Entra ID |
All subcommands live in
src/go/cmd/tutorial/.
Quick Start
Make sure the Copilot CLI is installed and authenticated first — see the common Getting Started guide. Then:
# 1. Build the CLI (uses src/go/Makefile)
cd src/go
make build
# 2. Run your first tutorial subcommand (the SDK launches the CLI on demand)
./dist/template-github-copilot-go tutorial chat-bot --prompt "Hello, Copilot!"
For Go-specific setup, see Getting Started (Go).
Scope
In scope:
- GitHub Copilot SDK concepts (what it is / is not)
- Go SDK API design and interfaces
- Sample code and step-by-step guides for concrete use cases
- Streaming, interactive sessions, and connecting to a standalone CLI server
Out of scope:
- SDK details for other languages (see References)
- Copilot CLI standalone usage guide
- Production scaling and infrastructure
- GitHub OAuth App authentication flow (see CopilotReportForge docs)
Further Reading
| Document | Description |
|---|---|
| Overview | Language-agnostic concepts and language chooser |
| Architecture | How the SDK, CLI server, and Copilot API interact |
| Getting Started (Go) | Go-specific setup, building the CLI, and first run |
| CLI Server Mode | Run the Copilot CLI as a standalone TCP server |
| References | API reference and external links |
| Go SDK reference (pkg.go.dev) | Generated Go API documentation |