mirror of
https://github.com/github/awesome-copilot.git
synced 2026-02-20 02:15:12 +00:00
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
205 lines
6.4 KiB
JSON
205 lines
6.4 KiB
JSON
{
|
|
"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"
|
|
],
|
|
"variants": {
|
|
"nodejs": {
|
|
"doc": "cookbook/copilot-sdk/nodejs/error-handling.md",
|
|
"example": "cookbook/copilot-sdk/nodejs/recipe/error-handling.ts"
|
|
},
|
|
"python": {
|
|
"doc": "cookbook/copilot-sdk/python/error-handling.md",
|
|
"example": null
|
|
},
|
|
"dotnet": {
|
|
"doc": "cookbook/copilot-sdk/dotnet/error-handling.md",
|
|
"example": "cookbook/copilot-sdk/dotnet/recipe/error-handling.cs"
|
|
},
|
|
"go": {
|
|
"doc": "cookbook/copilot-sdk/go/error-handling.md",
|
|
"example": "cookbook/copilot-sdk/go/recipe/error-handling.go"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "multiple-sessions",
|
|
"name": "Multiple Sessions",
|
|
"description": "Manage multiple independent conversations simultaneously",
|
|
"tags": [
|
|
"sessions",
|
|
"advanced",
|
|
"concurrency"
|
|
],
|
|
"variants": {
|
|
"nodejs": {
|
|
"doc": "cookbook/copilot-sdk/nodejs/multiple-sessions.md",
|
|
"example": "cookbook/copilot-sdk/nodejs/recipe/multiple-sessions.ts"
|
|
},
|
|
"python": {
|
|
"doc": "cookbook/copilot-sdk/python/multiple-sessions.md",
|
|
"example": null
|
|
},
|
|
"dotnet": {
|
|
"doc": "cookbook/copilot-sdk/dotnet/multiple-sessions.md",
|
|
"example": "cookbook/copilot-sdk/dotnet/recipe/multiple-sessions.cs"
|
|
},
|
|
"go": {
|
|
"doc": "cookbook/copilot-sdk/go/multiple-sessions.md",
|
|
"example": "cookbook/copilot-sdk/go/recipe/multiple-sessions.go"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "managing-local-files",
|
|
"name": "Managing Local Files",
|
|
"description": "Organize files by metadata using AI-powered grouping strategies",
|
|
"tags": [
|
|
"files",
|
|
"organization",
|
|
"ai-powered"
|
|
],
|
|
"variants": {
|
|
"nodejs": {
|
|
"doc": "cookbook/copilot-sdk/nodejs/managing-local-files.md",
|
|
"example": "cookbook/copilot-sdk/nodejs/recipe/managing-local-files.ts"
|
|
},
|
|
"python": {
|
|
"doc": "cookbook/copilot-sdk/python/managing-local-files.md",
|
|
"example": null
|
|
},
|
|
"dotnet": {
|
|
"doc": "cookbook/copilot-sdk/dotnet/managing-local-files.md",
|
|
"example": "cookbook/copilot-sdk/dotnet/recipe/managing-local-files.cs"
|
|
},
|
|
"go": {
|
|
"doc": "cookbook/copilot-sdk/go/managing-local-files.md",
|
|
"example": "cookbook/copilot-sdk/go/recipe/managing-local-files.go"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "pr-visualization",
|
|
"name": "PR Visualization",
|
|
"description": "Generate interactive PR age charts using GitHub MCP Server",
|
|
"tags": [
|
|
"github",
|
|
"visualization",
|
|
"mcp"
|
|
],
|
|
"variants": {
|
|
"nodejs": {
|
|
"doc": "cookbook/copilot-sdk/nodejs/pr-visualization.md",
|
|
"example": "cookbook/copilot-sdk/nodejs/recipe/pr-visualization.ts"
|
|
},
|
|
"python": {
|
|
"doc": "cookbook/copilot-sdk/python/pr-visualization.md",
|
|
"example": null
|
|
},
|
|
"dotnet": {
|
|
"doc": "cookbook/copilot-sdk/dotnet/pr-visualization.md",
|
|
"example": "cookbook/copilot-sdk/dotnet/recipe/pr-visualization.cs"
|
|
},
|
|
"go": {
|
|
"doc": "cookbook/copilot-sdk/go/pr-visualization.md",
|
|
"example": "cookbook/copilot-sdk/go/recipe/pr-visualization.go"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "persisting-sessions",
|
|
"name": "Persisting Sessions",
|
|
"description": "Save and resume sessions across restarts",
|
|
"tags": [
|
|
"sessions",
|
|
"persistence",
|
|
"state-management"
|
|
],
|
|
"variants": {
|
|
"nodejs": {
|
|
"doc": "cookbook/copilot-sdk/nodejs/persisting-sessions.md",
|
|
"example": "cookbook/copilot-sdk/nodejs/recipe/persisting-sessions.ts"
|
|
},
|
|
"python": {
|
|
"doc": "cookbook/copilot-sdk/python/persisting-sessions.md",
|
|
"example": null
|
|
},
|
|
"dotnet": {
|
|
"doc": "cookbook/copilot-sdk/dotnet/persisting-sessions.md",
|
|
"example": "cookbook/copilot-sdk/dotnet/recipe/persisting-sessions.cs"
|
|
},
|
|
"go": {
|
|
"doc": "cookbook/copilot-sdk/go/persisting-sessions.md",
|
|
"example": "cookbook/copilot-sdk/go/recipe/persisting-sessions.go"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"totalRecipes": 5,
|
|
"totalCookbooks": 1,
|
|
"filters": {
|
|
"languages": [
|
|
"dotnet",
|
|
"go",
|
|
"nodejs",
|
|
"python"
|
|
],
|
|
"tags": [
|
|
"advanced",
|
|
"ai-powered",
|
|
"basics",
|
|
"concurrency",
|
|
"errors",
|
|
"files",
|
|
"github",
|
|
"mcp",
|
|
"organization",
|
|
"persistence",
|
|
"reliability",
|
|
"sessions",
|
|
"state-management",
|
|
"visualization"
|
|
]
|
|
}
|
|
} |