Files
awesome-copilot/cookbook/copilot-sdk
James Montemagno 33f544c71d Align Copilot SDK documentation with permission handling requirements (#1107)
* Apply permission handler requirements across Copilot SDK docs

Co-authored-by: jamesmontemagno <1676321+jamesmontemagno@users.noreply.github.com>
Agent-Logs-Url: https://github.com/jamesmontemagno/awesome-copilot/sessions/adf27a88-92f8-4ca6-b3fe-1204e3bb9963

* Polish permission update formatting in SDK examples

Co-authored-by: jamesmontemagno <1676321+jamesmontemagno@users.noreply.github.com>
Agent-Logs-Url: https://github.com/jamesmontemagno/awesome-copilot/sessions/adf27a88-92f8-4ca6-b3fe-1204e3bb9963

* Fix review comments on SDK permission handling PR

Address 5 review comments from PR #1103:

1. Fix invalid object literal syntax (stray comma) in resumeSession
   example in copilot-sdk-nodejs.instructions.md

2. Replace unused PermissionHandler import with actual usage in
   cookbook/copilot-sdk/python/recipe/ralph_loop.py (was using
   inline lambda instead)

3. Replace unused approveAll import with actual usage in
   cookbook/copilot-sdk/nodejs/recipe/ralph-loop.ts (was using
   inline handler instead)

4. Add missing PermissionHandler import to 4 Python code snippets
   in skills/copilot-sdk/SKILL.md that reference it without importing

5. Add missing approveAll import to 3 TypeScript code snippets
   in skills/copilot-sdk/SKILL.md that reference it without importing

* Refactor session creation to improve code formatting and consistency across SDK examples

* Fix formatting: split multi-property lines and put closing braces on own lines

Address review comments on PR #1107:
- Split OnPermissionRequest + Model onto separate lines in Go, C#, TypeScript
- Put closing }); on its own line consistently across all examples
- Fix indentation in SKILL.md Quick Start, CLI URL, Error Handling sections
- Fix cookbook Go multiple-sessions and error-handling formatting
- Fix ralph-loop.md TypeScript indentation

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jamesmontemagno <1676321+jamesmontemagno@users.noreply.github.com>
2026-03-23 11:11:19 +11:00
..

GitHub Copilot SDK Cookbook

This cookbook collects small, focused recipes showing how to accomplish common tasks with the GitHub Copilot SDK across languages. Each recipe is intentionally short and practical, with copypasteable snippets and pointers to fuller examples and tests.

Recipes by Language

.NET (C#)

  • Ralph Loop: Build autonomous AI coding loops with fresh context per iteration, planning/building modes, and backpressure.
  • Error Handling: Handle errors gracefully including connection failures, timeouts, and cleanup.
  • Multiple Sessions: Manage multiple independent conversations simultaneously.
  • Managing Local Files: Organize files by metadata using AI-powered grouping strategies.
  • PR Visualization: Generate interactive PR age charts using GitHub MCP Server.
  • Persisting Sessions: Save and resume sessions across restarts.
  • Accessibility Report: Generate WCAG accessibility reports using the Playwright MCP server.

Node.js / TypeScript

  • Ralph Loop: Build autonomous AI coding loops with fresh context per iteration, planning/building modes, and backpressure.
  • Error Handling: Handle errors gracefully including connection failures, timeouts, and cleanup.
  • Multiple Sessions: Manage multiple independent conversations simultaneously.
  • Managing Local Files: Organize files by metadata using AI-powered grouping strategies.
  • PR Visualization: Generate interactive PR age charts using GitHub MCP Server.
  • Persisting Sessions: Save and resume sessions across restarts.
  • Accessibility Report: Generate WCAG accessibility reports using the Playwright MCP server.

Python

  • Ralph Loop: Build autonomous AI coding loops with fresh context per iteration, planning/building modes, and backpressure.
  • Error Handling: Handle errors gracefully including connection failures, timeouts, and cleanup.
  • Multiple Sessions: Manage multiple independent conversations simultaneously.
  • Managing Local Files: Organize files by metadata using AI-powered grouping strategies.
  • PR Visualization: Generate interactive PR age charts using GitHub MCP Server.
  • Persisting Sessions: Save and resume sessions across restarts.
  • Accessibility Report: Generate WCAG accessibility reports using the Playwright MCP server.

Go

  • Ralph Loop: Build autonomous AI coding loops with fresh context per iteration, planning/building modes, and backpressure.
  • Error Handling: Handle errors gracefully including connection failures, timeouts, and cleanup.
  • Multiple Sessions: Manage multiple independent conversations simultaneously.
  • Managing Local Files: Organize files by metadata using AI-powered grouping strategies.
  • PR Visualization: Generate interactive PR age charts using GitHub MCP Server.
  • Persisting Sessions: Save and resume sessions across restarts.
  • Accessibility Report: Generate WCAG accessibility reports using the Playwright MCP server.

How to Use

  • Browse your language section above and open the recipe links
  • Each recipe includes runnable examples in a recipe/ subfolder with language-specific tooling
  • See existing examples and tests for working references:
    • Node.js examples: nodejs/examples/basic-example.ts
    • E2E tests: go/e2e, python/e2e, nodejs/test/e2e, dotnet/test/Harness

Running Examples

.NET

cd dotnet/cookbook/recipe
dotnet run <filename>.cs

Node.js

cd nodejs/cookbook/recipe
npm install
npx tsx <filename>.ts

Python

cd python/cookbook/recipe
pip install -r requirements.txt
python <filename>.py

Go

cd go/cookbook/recipe
go run <filename>.go

Contributing

  • Propose or add a new recipe by creating a markdown file in your language's cookbook/ folder and a runnable example in recipe/
  • Follow repository guidance in CONTRIBUTING.md

Status

Cookbook structure is complete with 7 recipes across all 4 supported languages. Each recipe includes both markdown documentation and runnable examples.