Phase 1/13 — Discovery
Phase 1: Discovery
Discovery complete — 297 source files in 5 languages (TypeScript 29%)
Project Identity
| Property | Value |
|---|---|
| Project Name | copilot-sdk |
| Canonical Packages | @github/copilot-sdk (npm), github-copilot-sdk (PyPI), GitHub.Copilot.SDK (NuGet), github.com/github/copilot-sdk/go (Go) |
| Repository | https://github.com/github/copilot-sdk.git |
| Branch | main |
| SDK Protocol Version | 3 (sdk-protocol-version.json) |
| License | MIT |
| Status | Technical Preview |
What Is This?
GitHub Copilot CLI SDKs — programmable SDKs for Python, TypeScript, Go, and .NET that embed Copilot's agentic workflows (planning, tool invocation, file edits) into applications via JSON-RPC communication with the Copilot CLI in server mode.
Architecture
flowchart LR
A[App] --> B[SDK Client]
B --> C["JSON-RPC / stdio"]
C --> D["Copilot CLI\nserver mode"]
D --> E[LLM]
File Counts
788
Total Files (filtered)
297
Source Code Files
~611
Test Files
~246
Configuration Files
~124
Documentation Files
2
Binary/Asset Files
Language Breakdown
| Language | Files | Percentage | Location |
|---|---|---|---|
| TypeScript (.ts) | 86 | 29.0% | nodejs/, scripts/, test/harness/ |
| Go (.go) | 75 | 25.3% | go/ |
| Python (.py) | 69 | 23.2% | python/ |
| C# (.cs) | 62 | 20.9% | dotnet/ |
| JavaScript (.js, .mjs) | 5 | 1.7% | nodejs/ (scripts) |
| Total | 297 | 100% |
TypeScript
86 files
Go
75 files
Python
69 files
C#
62 files
JavaScript
5 files
Primary Language: TypeScript (29%) — but this is fundamentally a 4-language polyglot repo with near-equal distribution.
Sampling Strategy
Tier 1: Exhaustive (< 500 source files — we have 297)
All source files will be analyzed completely. No sampling needed.
Monorepo Check
| Indicator | Found? |
|---|---|
| lerna.json | No |
| pnpm-workspace.yaml | No |
| packages/ | No |
| apps/ | No |
workspaces in root package.json |
No root package.json |
Result
NOT a traditional monorepo. This is a multi-SDK polyglot repository organized by language directories with independent package managers per language. Build orchestration via root justfile.
Git Repository
| Property | Value |
|---|---|
| .git/ present | Yes |
| Remote | https://github.com/github/copilot-sdk.git |
| Branch | main |
Key Root Files
| File | Purpose |
|---|---|
| justfile | Cross-language build orchestration (test, lint, codegen, publish) |
| sdk-protocol-version.json | Single source of truth for JSON-RPC protocol version (3) |
| README.md | Project overview, installation, architecture |
| CONTRIBUTING.md | Contribution guidelines |
| CHANGELOG.md | Version history |
| CODE_OF_CONDUCT.md | Community standards |
| SECURITY.md | Security policy |
| SUPPORT.md | Support channels |
| LICENSE | MIT License |
Top-Level Directory Purposes
| Directory | Purpose |
|---|---|
| nodejs/ | TypeScript/Node.js SDK implementation |
| python/ | Python SDK implementation |
| go/ | Go SDK implementation |
| dotnet/ | .NET/C# SDK implementation |
| docs/ | Comprehensive documentation (31 markdown files) |
| scripts/ | Cross-language codegen + docs validation tools |
| test/ | Shared test harness, 30 scenario templates, 126 YAML snapshots |
| assets/ | Repository images (2 PNG files) |
| .github/ | CI/CD workflows, agents, dependabot, copilot instructions |
| .devcontainer/ | Dev container configuration |
| .vscode/ | VS Code settings + MCP config |