Files
awesome-copilot/cookbook/cookbook.yml
Aaron Powell b8d93a0344 feat(website): add samples/cookbook page with recipe browser
Integrates the cookbook/ folder into the website's Samples page:

Data Structure:
- Add cookbook/cookbook.yml manifest defining cookbooks and recipes
- Add .schemas/cookbook.schema.json for validation
- Add COOKBOOK_DIR constant to eng/constants.mjs

Build Integration:
- Add generateSamplesData() to generate samples.json from cookbook.yml
- Include recipe variants with file paths for each language
- Add samples count to manifest.json

Website UI:
- Create samples.ts with FuzzySearch, language/tag filtering
- Replace placeholder samples.astro with functional recipe browser
- Recipe cards with language indicators and action buttons
- Language tabs for switching between implementations
- View Recipe/View Example buttons open modal
- GitHub link for each recipe

Features:
- Search recipes by name/description
- Filter by programming language (Node.js, Python, .NET, Go)
- Filter by tags (multi-select with Choices.js)
- 5 recipes across 4 languages = 20 recipe variants
2026-02-02 15:11:12 +11:00

64 lines
1.9 KiB
YAML

# yaml-language-server: $schema=../.schemas/cookbook.schema.json
# Cookbook manifest for the Awesome GitHub Copilot website
# This file defines the structure of cookbooks and recipes for the Samples page
cookbooks:
- id: copilot-sdk
name: GitHub Copilot SDK
description: Ready-to-use recipes for building with the GitHub Copilot SDK across multiple languages
path: cookbook/copilot-sdk
featured: true
languages:
- id: nodejs
name: Node.js / TypeScript
icon: 🟢
extension: .ts
- id: python
name: Python
icon: 🐍
extension: .py
- id: dotnet
name: .NET (C#)
icon: 🟣
extension: .cs
- id: go
name: Go
icon: 🔵
extension: .go
recipes:
- id: error-handling
name: Error Handling
description: Handle errors gracefully including connection failures, timeouts, and cleanup
tags:
- errors
- basics
- reliability
- id: multiple-sessions
name: Multiple Sessions
description: Manage multiple independent conversations simultaneously
tags:
- sessions
- advanced
- concurrency
- id: managing-local-files
name: Managing Local Files
description: Organize files by metadata using AI-powered grouping strategies
tags:
- files
- organization
- ai-powered
- id: pr-visualization
name: PR Visualization
description: Generate interactive PR age charts using GitHub MCP Server
tags:
- github
- visualization
- mcp
- id: persisting-sessions
name: Persisting Sessions
description: Save and resume sessions across restarts
tags:
- sessions
- persistence
- state-management