mirror of
https://github.com/github/awesome-copilot.git
synced 2026-02-23 03:45:13 +00:00
Moving the copilot-sdk cookbook content in here
This commit is contained in:
84
cookbook/copilot-sdk/nodejs/recipe/README.md
Normal file
84
cookbook/copilot-sdk/nodejs/recipe/README.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# Runnable Recipe Examples
|
||||
|
||||
This folder contains standalone, executable TypeScript examples for each cookbook recipe. Each file can be run directly with `tsx` or via npm scripts.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Node.js 18 or later
|
||||
- Install dependencies (this links to the local SDK in the repo):
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
## Running Examples
|
||||
|
||||
Each `.ts` file is a complete, runnable program. You can run them in two ways:
|
||||
|
||||
### Using npm scripts:
|
||||
|
||||
```bash
|
||||
npm run <script-name>
|
||||
```
|
||||
|
||||
### Using tsx directly:
|
||||
|
||||
```bash
|
||||
npx tsx <filename>.ts
|
||||
```
|
||||
|
||||
### Available Recipes
|
||||
|
||||
| Recipe | npm script | Direct command | Description |
|
||||
| -------------------- | ------------------------------ | --------------------------------- | ------------------------------------------ |
|
||||
| Error Handling | `npm run error-handling` | `npx tsx error-handling.ts` | Demonstrates error handling patterns |
|
||||
| Multiple Sessions | `npm run multiple-sessions` | `npx tsx multiple-sessions.ts` | Manages multiple independent conversations |
|
||||
| Managing Local Files | `npm run managing-local-files` | `npx tsx managing-local-files.ts` | Organizes files using AI grouping |
|
||||
| PR Visualization | `npm run pr-visualization` | `npx tsx pr-visualization.ts` | Generates PR age charts |
|
||||
| Persisting Sessions | `npm run persisting-sessions` | `npx tsx persisting-sessions.ts` | Save and resume sessions across restarts |
|
||||
|
||||
### Examples with Arguments
|
||||
|
||||
**PR Visualization with specific repo:**
|
||||
|
||||
```bash
|
||||
npx tsx pr-visualization.ts --repo github/copilot-sdk
|
||||
```
|
||||
|
||||
**Managing Local Files (edit the file to change target folder):**
|
||||
|
||||
```bash
|
||||
# Edit the targetFolder variable in managing-local-files.ts first
|
||||
npx tsx managing-local-files.ts
|
||||
```
|
||||
|
||||
## Local SDK Development
|
||||
|
||||
The `package.json` references the local Copilot SDK using `"file:../../.."`. This means:
|
||||
|
||||
- Changes to the SDK source are immediately available
|
||||
- No need to publish or install from npm
|
||||
- Perfect for testing and development
|
||||
|
||||
If you modify the SDK source, you may need to rebuild:
|
||||
|
||||
```bash
|
||||
cd ../../..
|
||||
npm run build
|
||||
```
|
||||
|
||||
## TypeScript Features
|
||||
|
||||
These examples use modern TypeScript/Node.js features:
|
||||
|
||||
- Top-level await (requires `"type": "module"` in package.json)
|
||||
- ESM imports
|
||||
- Type safety with TypeScript
|
||||
- async/await patterns
|
||||
|
||||
## Learning Resources
|
||||
|
||||
- [TypeScript Documentation](https://www.typescriptlang.org/docs/)
|
||||
- [Node.js Documentation](https://nodejs.org/docs/latest/api/)
|
||||
- [GitHub Copilot SDK for Node.js](https://github.com/github/copilot-sdk/blob/main/nodejs/README.md)
|
||||
- [Parent Cookbook](../README.md)
|
||||
Reference in New Issue
Block a user