This project is a Go application that demonstrates how to use function calling in an agent-based GitHub Copilot Extension.
export PORT=8080
export CLIENT_ID=Iv1.0ae52273ad3193eb // the application id
export CLIENT_SECRET="your_client_secret" // generate a new client secret for your application
export FQDN=https://6de513480979.ngrok.app // use ngrok to expose a url
git clone git@github.com:copilot-extensions/function-calling-extension.git
cd function-calling-extension
ngrok http http://localhost:8080
FDQN
)Copilot
tab of your Application settings (https://github.com/settings/apps/<app_name>/agent
)/agent
(e.g. https://6de513480979.ngrok.app/agent
)/auth/authorization
(e.g. https://6de513480979.ngrok.app/auth/authorization
)General
tab of your application settings (https://github.com/settings/apps/<app_name>
)Callback URL
with the /auth/callback
endpoint (e.g. https://6de513480979.ngrok.app/auth/callback
)Homepage URL
with the base ngrok endpoint (e.g. https://6de513480979.ngrok.app/auth/callback
)Permissions & events
>Repository Permissions
> Issues
> Access: Read and Write
Account Permissions
> Copilot Chat
> Access: Read Only
https://github.com/apps/<app_name>
)https://github.com/copilot
you can @
your agent using the name of your application.Test out the agent with the following commands!
Description Prompt User asking@agent
to create a GitHub issue @agent Create an issue in the repo (org/repo) with title "my first issue" and body "hooray I created an issue"
User asking @agent
to list GitHub issues @agent list all issues in this repo (org/repo)
Copilot Extensions Documentation
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4