From 45fe37e27e3cfa3e20f86fdbc4397cb39ecc4842 Mon Sep 17 00:00:00 2001 From: Ben Webb <92895514+benwebb-au@users.noreply.github.com> Date: Thu, 24 Jul 2025 15:22:21 +0800 Subject: [PATCH 1/4] Revise YAML examples for runner pod configuration (#56820) --- ...ooting-actions-runner-controller-errors.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/content/actions/tutorials/actions-runner-controller/troubleshooting-actions-runner-controller-errors.md b/content/actions/tutorials/actions-runner-controller/troubleshooting-actions-runner-controller-errors.md index 8a8ecd86aaf9..e0234f14c2f1 100644 --- a/content/actions/tutorials/actions-runner-controller/troubleshooting-actions-runner-controller-errors.md +++ b/content/actions/tutorials/actions-runner-controller/troubleshooting-actions-runner-controller-errors.md @@ -120,31 +120,32 @@ To fix this, you can do one of the following things. * Use a volume type that supports `securityContext.fsGroup`. `hostPath` volumes do not support this property, whereas `local` volumes and other types of volumes do support it. Update the `fsGroup` of your runner pod to match the GID of the runner. You can do this by updating the `gha-runner-scale-set` helm chart values to include the following. Replace `VERSION` with the version of the `actions-runner` container image you want to use. ```yaml copy - spec: + template: + spec: securityContext: - fsGroup: 123 + fsGroup: 123 containers: - - name: runner - image: ghcr.io/actions/actions-runner:latest - command: ["/home/runner/run.sh"] + - name: runner + image: ghcr.io/actions/actions-runner:latest + command: ["/home/runner/run.sh"] ``` * If updating the `securityContext` of your runner pod is not a viable solution, you can work around the issue by using `initContainers` to change the mounted volume's ownership, as follows. ```yaml copy template: - spec: + spec: initContainers: - - name: kube-init - image: ghcr.io/actions/actions-runner:latest - command: ["sudo", "chown", "-R", "1001:123", "/home/runner/_work"] + - name: kube-init + image: ghcr.io/actions/actions-runner:latest + command: ["sudo", "chown", "-R", "1001:123", "/home/runner/_work"] volumeMounts: - - name: work + - name: work mountPath: /home/runner/_work containers: - - name: runner - image: ghcr.io/actions/actions-runner:latest - command: ["/home/runner/run.sh"] + - name: runner + image: ghcr.io/actions/actions-runner:latest + command: ["/home/runner/run.sh"] ``` ## Error: `failed to get access token for {% data variables.product.prodname_github_app %} auth: 401 Unauthorized` From a7097055b6b23cb441ac795938a6651f4346423d Mon Sep 17 00:00:00 2001 From: hubwriter Date: Thu, 24 Jul 2025 08:56:55 +0100 Subject: [PATCH 2/4] [EDI 5500 - Builders] Update Copilot code review docs in light of EDI audit (#56662) --- .../explore-trial-code-scanning.md | 2 +- .../concepts/code-review/code-review.md | 88 ++++++++++++ .../concepts/code-review/coding-guidelines.md | 75 ++++++++++ content/copilot/concepts/code-review/index.md | 14 ++ content/copilot/concepts/index.md | 3 +- ...by-copilot.md => automatic-code-review.md} | 29 ++-- .../configuring-coding-guidelines.md | 66 +-------- .../agents/copilot-code-review/index.md | 4 +- .../using-copilot-code-review.md | 130 +++--------------- .../accelerate-pull-requests.md | 2 +- .../integrating-agentic-ai.md | 2 +- 11 files changed, 215 insertions(+), 200 deletions(-) create mode 100644 content/copilot/concepts/code-review/code-review.md create mode 100644 content/copilot/concepts/code-review/coding-guidelines.md create mode 100644 content/copilot/concepts/code-review/index.md rename content/copilot/how-tos/agents/copilot-code-review/{configuring-automatic-code-review-by-copilot.md => automatic-code-review.md} (60%) diff --git a/content/code-security/trialing-github-advanced-security/explore-trial-code-scanning.md b/content/code-security/trialing-github-advanced-security/explore-trial-code-scanning.md index 90e551d95bc9..010ebf756c57 100644 --- a/content/code-security/trialing-github-advanced-security/explore-trial-code-scanning.md +++ b/content/code-security/trialing-github-advanced-security/explore-trial-code-scanning.md @@ -88,7 +88,7 @@ This allows you to update the configuration in a single location, but use the wo > {% data reusables.copilot.code-review.preview-note %} > * If you get a {% data variables.product.prodname_copilot_short %} subscription from an organization, you will only be able to participate in the {% data variables.release-phases.public_preview %} on the {% data variables.product.github %} website if an owner of your organization {% ifversion ghec %}or enterprise{% endif %} has enabled **Copilot in GitHub.com > Opt in to preview features** in the **{% data variables.product.prodname_copilot %} policies** page of the organization {% ifversion ghec %}or enterprise{% endif %} settings. See [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#enabling-copilot-features-in-your-organization){% ifversion ghec %} and [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise#copilot-in-githubcom){% endif %}. -By default, users request a review from {% data variables.product.prodname_copilot_short %} in the same way as they do from human reviewers. However, you can update or create an organization-level branch ruleset to automatically add {% data variables.product.prodname_copilot_short %} as a reviewer to all pull requests made to selected branches in all or selected repositories. See [AUTOTITLE](/copilot/using-github-copilot/code-review/configuring-automatic-code-review-by-copilot). +By default, users request a review from {% data variables.product.prodname_copilot_short %} in the same way as they do from human reviewers. However, you can update or create an organization-level branch ruleset to automatically add {% data variables.product.prodname_copilot_short %} as a reviewer to all pull requests made to selected branches in all or selected repositories. See [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review/automatic-code-review). {% data variables.product.prodname_copilot_short %} leaves a review comment on each pull request it reviews, without approving the pull request or requesting changes. This ensures that its review is advisory and will not block development work. Similarly, you should not enforce the resolution of suggestions made by {% data variables.product.prodname_copilot_short %} because AI suggestions have known limitations, see [AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-code-review#limitations-of-github-copilot-code-review). diff --git a/content/copilot/concepts/code-review/code-review.md b/content/copilot/concepts/code-review/code-review.md new file mode 100644 index 000000000000..ae51bc8e61cd --- /dev/null +++ b/content/copilot/concepts/code-review/code-review.md @@ -0,0 +1,88 @@ +--- +title: About Copilot code review +shortTitle: About code review +allowTitleToDifferFromFilename: true +intro: 'Find out how {% data variables.product.prodname_copilot_short %} can review pull requests for you.' +versions: + feature: copilot +topics: + - Copilot +redirect_from: + - /copilot/code-review +--- + +## Introduction + +{% data variables.product.prodname_copilot %} can review your code and provide feedback. Where possible, {% data variables.product.prodname_copilot_short %}'s feedback includes suggested changes which you can apply with a couple of clicks. + +{% data variables.product.prodname_copilot_short %} can review code written in any programming language. + +This article provides an overview of {% data variables.copilot.copilot_code-review_short %}. For instructions on how to request a code review from {% data variables.product.prodname_copilot_short %}, see [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review). + +## Availability + +{% data variables.copilot.copilot_code-review_short %} is—with one exception—a premium feature, available with the {% data variables.copilot.copilot_pro_short %}, {% data variables.copilot.copilot_pro_plus_short %}, {% data variables.copilot.copilot_business_short %}, and {% data variables.copilot.copilot_enterprise_short %} plans. + +The exception is the review of a selection of code within a file in {% data variables.product.prodname_vscode %}. This is a standard feature available to all {% data variables.product.prodname_copilot_short %} users in {% data variables.product.prodname_vscode_shortname %}. + +If you receive {% data variables.product.prodname_copilot_short %} from an organization then, to be able to request a pull request review from {% data variables.product.prodname_copilot_short %} on {% data variables.product.prodname_dotcom_the_website %} or in {% data variables.product.prodname_mobile %}, the **{% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_dotcom_the_website %}** option must be enabled in the {% data variables.product.prodname_copilot_short %} policy settings for the organization. See [AUTOTITLE](/copilot/how-tos/administer/organizations/managing-policies-for-copilot-in-your-organization). + +## Code review monthly quota + +When you assign {% data variables.product.prodname_copilot_short %} as a reviewer for a pull request—or when you request {% data variables.product.prodname_copilot_short %} to review all of your uncommitted changes in your IDE—your monthly quota of Copilot premium requests is reduced by one. For information about premium requests, see [AUTOTITLE](/copilot/managing-copilot/monitoring-usage-and-entitlements/about-premium-requests). + +If a repository is configured to automatically request a code review from {% data variables.product.prodname_copilot_short %} for all new pull requests, the premium request usage is applied to the quota of the pull request author. If a pull request is created by {% data variables.product.prodname_actions %} or by a bot, the usage will apply to the user who triggered the workflow (if identifiable), or to a designated billing owner. + +When you reach your monthly quota you will not be able to get a code review from {% data variables.product.prodname_copilot_short %} until your quota resets—unless you upgrade your {% data variables.product.prodname_copilot_short %} plan or enable additional premium requests. + +## {% data variables.copilot.copilot_code-review_short %} in {% data variables.product.prodname_vscode %} + +{% data variables.copilot.copilot_code-review_short %} in {% data variables.product.prodname_vscode %} supports two types of review: + +* **Review selection:** + * Highlight code and ask for an initial review. + * Standard {% data variables.product.prodname_copilot_short %} feature. No premium requests used. + * Does not support custom instructions or custom coding guidelines. +* **Review changes:** + * Request a deeper review of all of your uncommitted changes. + * Premium feature. Uses one premium request from your monthly quota per review. + * Supports custom instructions and custom coding guidelines. + +## Validating {% data variables.product.prodname_copilot_short %} code reviews + +{% data variables.product.prodname_copilot_short %} isn't guaranteed to spot all problems or issues in a pull request, and sometimes it will make mistakes. Always validate {% data variables.product.prodname_copilot_short %}'s feedback carefully, and supplement {% data variables.product.prodname_copilot_short %}'s feedback with a human review. + +For more information, see [AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-code-review). + +## About automatic pull request reviews + +By default, {% data variables.product.prodname_copilot_short %} will only review a pull request if it's assigned to the pull request in the same way you would assign a human reviewer. However: + +* Individual users on the {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %} plan can configure {% data variables.product.prodname_copilot_short %} to automatically review all pull requests they create. +* Repository owners can configure {% data variables.product.prodname_copilot_short %} to automatically review all pull requests in the repository that are created by people with access to {% data variables.product.prodname_copilot_short %}. +* Organization owners can configure {% data variables.product.prodname_copilot_short %} to automatically review all pull requests in some or all of the repositories in the organization where the pull request is created by a {% data variables.product.prodname_copilot_short %} user. + +### Triggering an automatic pull request review + +After you configure automatic code review, {% data variables.product.prodname_copilot_short %} will review pull requests in the following situations: + +* When a pull request is created as an "Open" pull request. + + A review is not triggered if the pull request is created as a "Draft" pull request. + +* The first time a "Draft" pull request is switched to "Open". + +> [!NOTE] +> {% data variables.product.prodname_copilot_short %} only automatically reviews a pull request once. If you make changes to the pull request after it has been automatically reviewed and you want {% data variables.product.prodname_copilot_short %} to re-review the pull request, you must request this manually. To do this, click the {% octicon "sync" aria-label="Re-request review" %} button next to {% data variables.product.prodname_copilot_short %}'s name in the **Reviewers** menu. + +### Limits on automatic pull request reviews + +{% data variables.copilot.copilot_code-review_short %} is a premium feature with a per-person monthly quota. When {% data variables.product.prodname_copilot_short %} carries out an automatic review, it uses one premium request from the quota of the user who created the pull request. For more information, see [AUTOTITLE](/copilot/using-github-copilot/code-review/using-copilot-code-review#code-review-monthly-quota). + +## Configuring automatic pull request reviews + +For details of how to configure {% data variables.product.prodname_copilot_short %} to automatically review new pull requests, see [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review/configuring-automatic-code-review-by-copilot). + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review) diff --git a/content/copilot/concepts/code-review/coding-guidelines.md b/content/copilot/concepts/code-review/coding-guidelines.md new file mode 100644 index 000000000000..9cc9ddda95ab --- /dev/null +++ b/content/copilot/concepts/code-review/coding-guidelines.md @@ -0,0 +1,75 @@ +--- +title: About coding guidelines for GitHub Copilot code review +shortTitle: Coding guidelines +allowTitleToDifferFromFilename: true +intro: "Find out how you can use custom coding guidelines to improve {% data variables.product.prodname_copilot_short %}'s pull request reviews." +versions: + feature: copilot +topics: + - Copilot +--- + +{% data reusables.copilot.code-review.custom-coding-guidelines-prerequisites %} See [AUTOTITLE](/copilot/how-tos/custom-instructions/adding-repository-custom-instructions-for-github-copilot?tool=webui). + +## About coding guidelines + +You can customize {% data variables.copilot.copilot_code-review_short %} with custom coding guidelines written in natural language. For more information on {% data variables.copilot.copilot_code-review_short %}, see [AUTOTITLE](/copilot/concepts/code-review/code-review). + +With coding guidelines, {% data variables.product.prodname_copilot_short %} can give feedback based on your organization's specific coding style and best practices. + +Because {% data variables.copilot.copilot_code-review_short %} is powered by a large language model, it can help with enforcing coding guidelines that are not covered by your linter or static analysis tool. + +Coding guidelines are configured at the repository level. You can create and enable up to 6 coding guidelines per repository. See [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review/configuring-coding-guidelines). + +When you request a review from {% data variables.product.prodname_copilot_short %}, it will automatically use the repository's enabled coding guidelines to review your code. + +Comments generated based on a coding guideline will include a message, highlighting their source. + +> [!NOTE] Coding guidelines only apply to code reviews carried out by Copilot. The guidelines do not affect Copilot code completion suggestions, or code suggested in Copilot Chat responses. + +## Dos and don'ts for coding guidelines + +* **Do** use simple, clear and concise language to describe your coding guideline. +* **Do** be as specific as possible about what Copilot should look for - that is, what you do or don't want to see in your code. +* **Do** take a look at the [Coding guidelines examples](#coding-guidelines-examples) below for some inspiration. +* **Don't** try to use coding guidelines to enforce style guidelines that can be covered by your linter or static analysis tool. +* **Don't** use wording that is ambiguous or could be interpreted in different ways. +* **Don't** try to fit multiple different ideas into a single coding guideline. + +## Coding guidelines examples + +### Example 1: Avoid using magic numbers + +**Title:** Avoid using magic numbers + +**Description:** Don't use magic numbers in code. Numbers should be defined as constants or variables with meaningful names. + +**Path patterns:** `**/*.py` + +### Example 2: Don't use `SELECT *` in SQL queries + +**Title:** Don't use `SELECT \*` in SQL queries + +**Description:** Don't use `SELECT \*` in SQL queries. Always specify the columns you want to select. `COUNT(\*)` is allowed. + +**Path patterns:** None (applies to all file types, as SQL queries may be embedded in code). + +### Example 3: Use `fetch` for HTTP requests + +**Title:** Use `fetch` for HTTP requests + +**Description:** Use `fetch` for HTTP requests, not `axios` or `superagent` or other libraries. + +**Path patterns:** `**/*.ts`, `**/*.js`, `**/*.jsx`, `**/*.tsx` + +### Example 4: Always tag metrics with the current environment + +**Title:** Always tag metrics with the current environment + +**Description:** Always include a `env` tag with the current environment when emitting metrics, for example, `env:prod` or `env:dev`. + +**Path patterns:** `*/*.go`, `*/*.java` + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review/configuring-coding-guidelines) diff --git a/content/copilot/concepts/code-review/index.md b/content/copilot/concepts/code-review/index.md new file mode 100644 index 000000000000..3649643296f2 --- /dev/null +++ b/content/copilot/concepts/code-review/index.md @@ -0,0 +1,14 @@ +--- +title: 'Concepts for GitHub Copilot code review' +shortTitle: Code review +intro: 'Understand how you can use {% data variables.product.prodname_copilot_short %} to review your code.' +versions: + feature: copilot +topics: + - Copilot +children: + - /code-review + - /coding-guidelines +--- + +These articles provide an introduction to {% data variables.copilot.copilot_code-review_short %}. For instructions on configuring and using {% data variables.copilot.copilot_code-review_short %}, see the how-to articles under [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review). diff --git a/content/copilot/concepts/index.md b/content/copilot/concepts/index.md index b3dccdc6826f..6da9edb9b410 100644 --- a/content/copilot/concepts/index.md +++ b/content/copilot/concepts/index.md @@ -12,10 +12,11 @@ children: - /completions - /prompt-engineering-for-copilot-chat - /about-customizing-github-copilot-chat-responses + - /about-copilot-coding-agent + - /code-review - /about-github-copilot-chat - /content-exclusion-for-github-copilot - /indexing-repositories-for-copilot-chat - - /about-copilot-coding-agent - /about-organizing-and-sharing-context-with-copilot-spaces - /policies - /copilot-knowledge-bases diff --git a/content/copilot/how-tos/agents/copilot-code-review/configuring-automatic-code-review-by-copilot.md b/content/copilot/how-tos/agents/copilot-code-review/automatic-code-review.md similarity index 60% rename from content/copilot/how-tos/agents/copilot-code-review/configuring-automatic-code-review-by-copilot.md rename to content/copilot/how-tos/agents/copilot-code-review/automatic-code-review.md index 988d7c871ca3..c2d56d1a3476 100644 --- a/content/copilot/how-tos/agents/copilot-code-review/configuring-automatic-code-review-by-copilot.md +++ b/content/copilot/how-tos/agents/copilot-code-review/automatic-code-review.md @@ -1,6 +1,7 @@ --- title: Configuring automatic code review by Copilot shortTitle: Configure automatic review +allowTitleToDifferFromFilename: true intro: 'Learn how to configure {% data variables.product.prodname_copilot_short %} to automatically review pull requests.' versions: feature: copilot @@ -8,32 +9,18 @@ topics: - Copilot redirect_from: - /copilot/using-github-copilot/code-review/configuring-automatic-code-review-by-copilot + - /copilot/how-tos/agents/copilot-code-review/configuring-automatic-code-review-by-copilot --- -## About automatic code review +## Introduction -By default, {% data variables.product.prodname_copilot_short %} will only review a pull request if it's assigned to the pull request in the same way you would assign a human reviewer. However: +This article tells you how to set up {% data variables.copilot.copilot_code-review_short %} to review pull requests automatically. For an overview of automatic pull request reviews, see [AUTOTITLE](/copilot/concepts/code-review/code-review#about-automatic-pull-request-reviews). -* Individual users on the {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %} plan can configure {% data variables.product.prodname_copilot_short %} to automatically review all pull requests they create. -* Repository owners can configure {% data variables.product.prodname_copilot_short %} to automatically review all pull requests in the repository that are created by people with access to {% data variables.product.prodname_copilot_short %}. -* Organization owners can configure {% data variables.product.prodname_copilot_short %} to automatically review all pull requests in some or all of the repositories in the organization where the pull request is created by a {% data variables.product.prodname_copilot_short %} user. +The three sections in this article tell you how to configure automatic code review for: -### Triggering an automatic pull request review - -After you configure automatic code review, {% data variables.product.prodname_copilot_short %} will review pull requests in the following situations: - -* When a pull request is created as an "Open" pull request. - - A review is not triggered if the pull request is created as a "Draft" pull request. - -* The first time a "Draft" pull request is switched to "Open". - -> [!NOTE] -> {% data variables.product.prodname_copilot_short %} only automatically reviews a pull request once. If you make changes to the pull request after it has been automatically reviewed and you want {% data variables.product.prodname_copilot_short %} to re-review the pull request, you must request this manually. To do this, click the {% octicon "sync" aria-label="Re-request review" %} button next to {% data variables.product.prodname_copilot_short %}'s name in the **Reviewers** menu. - -### Limits on automatic pull request reviews - -{% data variables.copilot.copilot_code-review_short %} is a premium feature with a per-person monthly quota. When {% data variables.product.prodname_copilot_short %} carries out an automatic review, it uses one premium request from the quota of the user who created the pull request. For more information, see [AUTOTITLE](/copilot/using-github-copilot/code-review/using-copilot-code-review#code-review-monthly-quota). +* [Pull requests that you create yourself](#configuring-automatic-code-review-for-all-pull-requests-you-create) +* [All new pull requests in a repository](#configuring-automatic-code-review-for-a-single-repository) +* [Pull requests in multiple repositories owned by an organization](#configuring-automatic-code-review-for-repositories-in-an-organization) ## Configuring automatic code review for all pull requests you create diff --git a/content/copilot/how-tos/agents/copilot-code-review/configuring-coding-guidelines.md b/content/copilot/how-tos/agents/copilot-code-review/configuring-coding-guidelines.md index 11f63bf8bd0a..8d2cc27ffeb1 100644 --- a/content/copilot/how-tos/agents/copilot-code-review/configuring-coding-guidelines.md +++ b/content/copilot/how-tos/agents/copilot-code-review/configuring-coding-guidelines.md @@ -13,31 +13,11 @@ redirect_from: - /copilot/using-github-copilot/code-review/configuring-coding-guidelines --- -{% data reusables.copilot.code-review.custom-coding-guidelines-prerequisites %} See [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review#customizing-copilots-reviews-with-custom-instructions). +{% data reusables.copilot.code-review.custom-coding-guidelines-prerequisites %} See [AUTOTITLE](/copilot/how-tos/custom-instructions/adding-repository-custom-instructions-for-github-copilot?tool=webui). ## About coding guidelines -You can customize {% data variables.copilot.copilot_code-review_short %} with custom coding guidelines written in natural language. For more information on {% data variables.copilot.copilot_code-review_short %}, see [AUTOTITLE](/copilot/using-github-copilot/code-review/using-copilot-code-review). - -With coding guidelines, {% data variables.product.prodname_copilot_short %} can give feedback based on your organization's specific coding style and best practices. - -Because {% data variables.copilot.copilot_code-review_short %} is powered by a large language model, it can help with enforcing coding guidelines that are not covered by your linter or static analysis tool. - -Coding guidelines are configured at the repository level. You can create and enable up to 6 coding guidelines per repository. - -> [!NOTE] -> -> * Coding guidelines only work with languages supported by Copilot code review. For a list of supported languages, see [AUTOTITLE](/copilot/using-github-copilot/code-review/using-copilot-code-review#supported-programming-languages). -> * Coding guidelines only apply to code reviews carried out by Copilot. The guidelines do not affect Copilot code completion suggestions, or code suggested in Copilot Chat responses. - -## Dos and don'ts for coding guidelines - -* **Do** use simple, clear and concise language to describe your coding guideline. -* **Do** be as specific as possible about what Copilot should look for - that is, what you do or don't want to see in your code. -* **Do** take a look at the [Coding guidelines examples](#coding-guidelines-examples) below for some inspiration. -* **Don't** try to use coding guidelines to enforce style guidelines that can be covered by your linter or static analysis tool. -* **Don't** use wording that is ambiguous or could be interpreted in different ways. -* **Don't** try to fit multiple different ideas into a single coding guideline. +You can provide {% data variables.product.prodname_copilot_short %} with a set of coding guidelines, written in natural language, that will help it review your code in a way that aligns with your organization's coding style and best practices. For more information—including examples of coding guidelines—see [AUTOTITLE](/copilot/concepts/code-review/coding-guidelines). ## Creating a coding guideline @@ -49,7 +29,7 @@ Coding guidelines are configured at the repository level. You can create and ena 1. Under "Name," give the coding guideline a name. 1. Under "Description," provide a description of the coding guideline up to 600 characters long. This will be used by {% data variables.product.prodname_copilot_short %} to understand your coding style and to decide when to leave a comment. - How you write your description has a big impact on the quality of comments that {% data variables.product.prodname_copilot_short %} will generate. For help with writing effective coding guidelines, see [Dos and don'ts for coding guidelines](#dos-and-donts-for-coding-guidelines) above, and [Coding guidelines examples](#coding-guidelines-examples) below. + How you write your description has a big impact on the quality of comments that {% data variables.product.prodname_copilot_short %} will generate. For help with writing effective coding guidelines, see [AUTOTITLE](/copilot/concepts/code-review/coding-guidelines). 1. Optionally, limit the coding guideline to specific file types or paths by clicking **Add file path** and adding path patterns. @@ -65,43 +45,3 @@ Coding guidelines are configured at the repository level. You can create and ena 1. Test the coding guideline against your sample by pressing **{% octicon "play" aria-hidden="true" aria-label="play" %} Run**. 1. Save your coding guideline, and turn it on, by clicking **Save guideline**. - -## Running a review with coding guidelines - -When you request a review from {% data variables.product.prodname_copilot_short %}, it will automatically use the repository's enabled coding guidelines to review your code. For more information, see [AUTOTITLE](/copilot/using-github-copilot/code-review/using-copilot-code-review). - -Comments generated based on a coding guideline will include a message, highlighting their source. - -## Coding guidelines examples - -### Example 1: Avoid using magic numbers - -**Title:** Avoid using magic numbers - -**Description:** Don't use magic numbers in code. Numbers should be defined as constants or variables with meaningful names. - -**Path patterns:** `**/*.py` - -### Example 2: Don't use `SELECT *` in SQL queries - -**Title:** Don't use `SELECT \*` in SQL queries - -**Description:** Don't use `SELECT \*` in SQL queries. Always specify the columns you want to select. `COUNT(\*)` is allowed. - -**Path patterns:** None (applies to all file types, as SQL queries may be embedded in code). - -### Example 3: Use `fetch` for HTTP requests - -**Title:** Use `fetch` for HTTP requests - -**Description:** Use `fetch` for HTTP requests, not `axios` or `superagent` or other libraries. - -**Path patterns:** `**/*.ts`, `**/*.js`, `**/*.jsx`, `**/*.tsx` - -### Example 4: Always tag metrics with the current environment - -**Title:** Always tag metrics with the current environment - -**Description:** Always include a `env` tag with the current environment when emitting metrics, for example, `env:prod` or `env:dev`. - -**Path patterns:** `*/*.go`, `*/*.java` diff --git a/content/copilot/how-tos/agents/copilot-code-review/index.md b/content/copilot/how-tos/agents/copilot-code-review/index.md index d29f680c7bc7..642a3e1a8ccd 100644 --- a/content/copilot/how-tos/agents/copilot-code-review/index.md +++ b/content/copilot/how-tos/agents/copilot-code-review/index.md @@ -9,7 +9,9 @@ topics: children: - /using-copilot-code-review - /configuring-coding-guidelines - - /configuring-automatic-code-review-by-copilot + - /automatic-code-review redirect_from: - /copilot/using-github-copilot/code-review --- + +These articles provide instructions on configuring and using {% data variables.copilot.copilot_code-review_short %}. For an introduction to {% data variables.copilot.copilot_code-review_short %}, see [AUTOTITLE](/copilot/concepts/code-review). diff --git a/content/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review.md b/content/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review.md index f85d1eb9ab26..1aa5807e0c64 100644 --- a/content/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review.md +++ b/content/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review.md @@ -12,105 +12,17 @@ redirect_from: - /early-access/copilot/code-reviews/using-copilot-code-review - /early-access/copilot/code-reviews/using-copilot-code-reviews - /copilot/using-github-copilot/code-review/using-copilot-code-review - - /copilot/code-review --- -## About {% data variables.copilot.copilot_code-review_short %} +## Introduction {% data variables.product.prodname_copilot %} can review your code and provide feedback. Where possible, {% data variables.product.prodname_copilot_short %}'s feedback includes suggested changes which you can apply with a couple of clicks. -{% vscode %} - -{% data variables.copilot.copilot_code-review_short %} in {% data variables.product.prodname_vscode %} supports two types of review: - -* **Review selection:** Highlight code and ask for an initial review -* **Review changes:** Request a deeper review of all your changes - -The current functionality and availability of the two types of review is summarized in the following table: - -{% rowheaders %} - -| | Review selection | Review changes | -|----------------------------------|------------------|----------------| -| Available in | {% data variables.product.prodname_vscode %} | {% data variables.product.prodname_vscode %} and the {% data variables.product.github %} website | -| Premium/standard feature | Standard feature available to all {% data variables.product.prodname_copilot_short %} subscribers | Premium feature. Available with the {% data variables.copilot.copilot_pro_short %}, {% data variables.copilot.copilot_pro_plus_short %}, {% data variables.copilot.copilot_business_short %}, and {% data variables.copilot.copilot_enterprise_short %} plans. Per-person monthly quota applies. | -| Description | Initial review of a highlighted section of code with feedback and suggestions | Deeper review of all changes | -| Supported languages | All | All | -| Custom instructions support | No | Yes, see [Customizing {% data variables.product.prodname_copilot_short %}'s reviews with custom instructions](#customizing-copilots-reviews-with-custom-instructions-1) | -| Custom coding guidelines support | No | Yes, see [Customizing {% data variables.product.prodname_copilot_short %}'s reviews with coding guidelines](#customizing-copilots-reviews-with-coding-guidelines-1) | - -{% endrowheaders %} - -### Code review monthly quota - -The **review changes** type of {% data variables.copilot.copilot_code-review_short %} is a premium feature with a per-person monthly quota. - -{% data reusables.copilot.code-review.premium-reqs-monthly-quota %} - -{% endvscode %} +For a full introduction to {% data variables.copilot.copilot_code-review %}, see [AUTOTITLE](/copilot/concepts/code-review/code-review). {% webui %} -Two types of {% data variables.copilot.copilot_code-review_short %} are available: - -* **Review selection:** Highlight code and ask for an initial review _(only available in {% data variables.product.prodname_vscode_shortname %})_ -* **Review changes:** Request a deeper review of all your changes _(available in {% data variables.product.prodname_vscode_shortname %} and the {% data variables.product.github %} website)_ - -This version of the article relates to {% data variables.copilot.copilot_code-review_short %} on the {% data variables.product.github %} website. To see information about the review selection type of {% data variables.copilot.copilot_code-review_short %}, click the "{% data variables.product.prodname_vscode %}" tool switcher at the top of the page. - -### Availability - -{% data reusables.copilot.code-review.availability %} - -{% data reusables.copilot.code-review.enable-for-orgs %} - -### Code review monthly quota - -The **review changes** type of {% data variables.copilot.copilot_code-review_short %} is a premium feature with a per-person monthly quota. - -{% data reusables.copilot.code-review.premium-reqs-monthly-quota %} - -{% endwebui %} - -{% mobile %} - -### Availability - -{% data reusables.copilot.code-review.availability %} - -{% data reusables.copilot.code-review.enable-for-orgs %} - -### Code review monthly quota - -{% data variables.copilot.copilot_code-review_short %} is a premium feature with a per-person monthly quota. - -{% data reusables.copilot.code-review.premium-reqs-monthly-quota %} - -{% endmobile %} - -{% visualstudio %} - -### Availability - -{% data reusables.copilot.code-review.availability %} - -### Code review monthly quota - -{% data variables.copilot.copilot_code-review_short %} is a premium feature with a per-person monthly quota. - -{% data reusables.copilot.code-review.premium-reqs-monthly-quota %} - -{% endvisualstudio %} - -### Validating {% data variables.product.prodname_copilot_short %} code reviews - -> [!WARNING] {% data variables.product.prodname_copilot_short %} isn't guaranteed to spot all problems or issues in a pull request, and sometimes it will make mistakes. Always validate {% data variables.product.prodname_copilot_short %}'s feedback carefully, and supplement {% data variables.product.prodname_copilot_short %}'s feedback with a human review. - -For more information, see [AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-code-review). - -## Requesting a review from {% data variables.product.prodname_copilot_short %} - -{% webui %} +## Using {% data variables.copilot.copilot_code-review_short %} These instructions explain how to use {% data variables.copilot.copilot_code-review_short %} in the {% data variables.product.github %} website. To see instructions for other popular coding environments, use the tool switcher at the top of the page. @@ -159,7 +71,7 @@ To request a re-review from {% data variables.product.prodname_copilot_short %}, ## Enabling automatic reviews -By default, you manually request a review from {% data variables.product.prodname_copilot_short %} on each pull request, in the same way you would request a review from a human. However, you can set up {% data variables.product.prodname_copilot_short %} to automatically review all pull requests. See [AUTOTITLE](/copilot/using-github-copilot/code-review/configuring-automatic-code-review-by-copilot). +By default, you manually request a review from {% data variables.product.prodname_copilot_short %} on each pull request, in the same way you would request a review from a human. However, you can set up {% data variables.product.prodname_copilot_short %} to automatically review all pull requests. See [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review/automatic-code-review). ## Customizing {% data variables.product.prodname_copilot_short %}'s reviews with custom instructions @@ -173,9 +85,11 @@ By default, you manually request a review from {% data variables.product.prodnam {% vscode %} +## Using {% data variables.copilot.copilot_code-review_short %} + These instructions explain how to use {% data variables.copilot.copilot_code-review_short %} in {% data variables.product.prodname_vscode %}. To see instructions for other popular coding environments, use the tool switcher at the top of the page. -> [!NOTE] {% data variables.copilot.copilot_code-review_short %} is only available in {% data variables.product.prodname_vscode %} with version 0.22 or later of the {% data variables.copilot.copilot_chat %} extension. +> [!NOTE] {% data variables.copilot.copilot_code-review_short %} is available in {% data variables.product.prodname_vscode %} with version 0.22 or later of the {% data variables.copilot.copilot_chat %} extension. ### Reviewing a selection of code @@ -192,32 +106,20 @@ You can request an initial review of a highlighted selection of code in {% data ![Screenshot of the command palette in {% data variables.product.prodname_vscode %} with the **{% data variables.product.prodname_copilot %}: Review and Comment** command selected.](/assets/images/help/copilot/vsc-review-and-comment.png) 1. Wait for {% data variables.product.prodname_copilot_short %} to review your changes. This usually takes less than 30 seconds. - - ![Screenshot of the progress indicator when {% data variables.product.prodname_copilot_short %} is performing a review in {% data variables.product.prodname_vscode %}.](/assets/images/help/copilot/code-review/vscode-review-progress@2x.png) - 1. If {% data variables.product.prodname_copilot_short %} has any comments, they will be shown inline in your file, and in the **Problems** tab. - ![Screenshot of a comment from {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode %}.](/assets/images/help/copilot/code-review/vscode-comment@2x.png) - -### Reviewing changes +### Reviewing all uncommitted changes -You can request a review for your staged or unstaged changes in {% data variables.product.prodname_vscode %}. +You can request a review of your uncommitted changes in {% data variables.product.prodname_vscode %}. -1. In {% data variables.product.prodname_vscode_shortname %}, switch to the **Source Control** tab. -1. To request a review on your unstaged changes, hover over **Changes** in the sidebar, and then click the {% data reusables.copilot.code-review.staging-icon-vscode %} **{% data variables.copilot.copilot_code-review_short %} - Changes** button. +1. In {% data variables.product.prodname_vscode_shortname %}, click the **Source Control** button in the Activity Bar. +1. At the top of the **Source Control** view, hover over **CHANGES**, then click the {% data reusables.copilot.code-review.staging-icon-vscode %} **{% data variables.product.prodname_copilot_short %} Code Review - Uncommitted Changes** button. - ![Screenshot of the "{% data variables.copilot.copilot_code-review_short %} - Changes" button in {% data variables.product.prodname_vscode %}. The code review button is outlined in dark orange.](/assets/images/help/copilot/code-review/vscode-review-button.png) - -1. To request a review on your staged changes, hover over **Staged Changes** in the sidebar, and then click the {% data reusables.copilot.code-review.staging-icon-vscode %} **{% data variables.copilot.copilot_code-review_short %} - Staged Changes** button. + ![Screenshot of the "Source Control" view. The code review button is outlined in dark orange.](/assets/images/help/copilot/code-review/vscode-review-button.png) 1. Wait for {% data variables.product.prodname_copilot_short %} to review your changes. This usually takes less than 30 seconds. - - ![Screenshot of the progress indicator when {% data variables.product.prodname_copilot_short %} is performing a review in {% data variables.product.prodname_vscode %}.](/assets/images/help/copilot/code-review/vscode-review-progress@2x.png) - 1. If {% data variables.product.prodname_copilot_short %} has any comments, they will be shown inline in your file(s), and in the **Problems** tab. - ![Screenshot of a comment from {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode %}.](/assets/images/help/copilot/code-review/vscode-comment@2x.png) - ## Working with suggested changes provided by {% data variables.product.prodname_copilot_short %} Where possible, {% data variables.product.prodname_copilot_short %}'s feedback includes suggested changes which you can apply with a single click. @@ -248,10 +150,14 @@ To provide feedback, hover over the comment and click the thumbs up or thumbs do {% visualstudio %} -These instructions explain how to use {% data variables.copilot.copilot_code-review_short %} in {% data variables.product.prodname_vs %}. To see instructions for other popular coding environments, use the tool switcher at the top of the page. +## Prerequisite To use {% data variables.copilot.copilot_code-review_short %}, you must use {% data variables.product.prodname_vs %} version 17.14 or later. See the [{% data variables.product.prodname_vs %} downloads page](https://visualstudio.microsoft.com/downloads/). +## Using {% data variables.copilot.copilot_code-review_short %} + +These instructions explain how to use {% data variables.copilot.copilot_code-review_short %} in {% data variables.product.prodname_vs %}. To see instructions for other popular coding environments, use the tool switcher at the top of the page. + 1. In the Git Changes window, click **Review changes with {% data variables.product.prodname_copilot_short %}**. This button appears as a comment icon with a sparkle. 1. {% data variables.product.prodname_copilot_short %} will begin reviewing your changes. After a few moments, a link showing the number of code review comments appears in the Git Changes window. @@ -270,6 +176,8 @@ For more information on enabling and configuring {% data variables.copilot.copil {% mobile %} +## Using {% data variables.copilot.copilot_code-review_short %} + These instructions explain how to use {% data variables.copilot.copilot_code-review_short %} in {% data variables.product.prodname_mobile %}. To see instructions for other popular coding environments, use the tool switcher at the top of the page. 1. In {% data variables.product.prodname_mobile %}, open a pull request. diff --git a/content/copilot/tutorials/rolling-out-github-copilot-at-scale/driving-downstream-impact/accelerate-pull-requests.md b/content/copilot/tutorials/rolling-out-github-copilot-at-scale/driving-downstream-impact/accelerate-pull-requests.md index 929a1e713d1a..920dfe6bd16a 100644 --- a/content/copilot/tutorials/rolling-out-github-copilot-at-scale/driving-downstream-impact/accelerate-pull-requests.md +++ b/content/copilot/tutorials/rolling-out-github-copilot-at-scale/driving-downstream-impact/accelerate-pull-requests.md @@ -151,7 +151,7 @@ Developers **should not**: * [AUTOTITLE](/copilot/using-github-copilot/using-github-copilot-for-pull-requests/creating-a-pull-request-summary-with-github-copilot) * [AUTOTITLE](/copilot/using-github-copilot/code-review/using-copilot-code-review?tool=vscode#reviewing-changes) * [AUTOTITLE](/copilot/using-github-copilot/code-review/configuring-coding-guidelines) -* [AUTOTITLE](/copilot/using-github-copilot/code-review/configuring-automatic-code-review-by-copilot) +* [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review/automatic-code-review) * [AUTOTITLE](/copilot/customizing-copilot/adding-organization-custom-instructions-for-github-copilot) ## Metrics to watch diff --git a/content/copilot/tutorials/rolling-out-github-copilot-at-scale/enabling-developers/integrating-agentic-ai.md b/content/copilot/tutorials/rolling-out-github-copilot-at-scale/enabling-developers/integrating-agentic-ai.md index 70c09c04a099..231d4a10a256 100644 --- a/content/copilot/tutorials/rolling-out-github-copilot-at-scale/enabling-developers/integrating-agentic-ai.md +++ b/content/copilot/tutorials/rolling-out-github-copilot-at-scale/enabling-developers/integrating-agentic-ai.md @@ -139,7 +139,7 @@ To integrate agentic AI features effectively into your workstreams, you'll need | MCP servers ({% data variables.release-phases.public_preview %}) | [AUTOTITLE](/copilot/customizing-copilot/extending-copilot-chat-with-mcp#configuring-mcp-servers-in-visual-studio-code) | | GitHub Models playground ({% data variables.release-phases.public_preview %}) | [AUTOTITLE](/github-models/prototyping-with-ai-models#experimenting-with-ai-models-in-the-playground) | | Custom instructions | [AUTOTITLE](/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot?tool=vscode) | -| Copilot code review | [AUTOTITLE](/copilot/using-github-copilot/code-review/configuring-automatic-code-review-by-copilot) | +| Copilot code review | [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review/automatic-code-review) | | {% data variables.copilot.copilot_coding_agent %} ({% data variables.release-phases.public_preview %}) | [AUTOTITLE](/copilot/rolling-out-github-copilot-at-scale/enabling-developers/using-copilot-coding-agent-in-org) | | {% data variables.copilot.copilot_autofix_short %} | [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning) | From eb230073ec7c5afd5f0ff274094e87c533517d54 Mon Sep 17 00:00:00 2001 From: hubwriter Date: Thu, 24 Jul 2025 09:40:16 +0100 Subject: [PATCH 3/4] [EDI 5516 - Builders] Update Copilot coding agent docs in light of EDI audit (#56721) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Sarita Iyer <66540150+saritai@users.noreply.github.com> --- .../about-copilot-coding-agent.md | 3 +- .../about-enabling-coding-agent.md} | 10 +-- .../copilot/concepts/coding-agent/index.md | 16 ++++ .../coding-agent/mcp-and-coding-agent.md | 53 ++++++++++++ content/copilot/concepts/index.md | 3 +- ...ng-copilot-coding-agent-to-organization.md | 2 +- ...asking-copilot-to-create-a-pull-request.md | 2 +- ...g-the-firewall-for-copilot-coding-agent.md | 2 - ...nt-environment-for-copilot-coding-agent.md | 2 - ...extending-copilot-coding-agent-with-mcp.md | 83 ++++++------------- .../agents/copilot-coding-agent/index.md | 8 +- ...ewing-a-pull-request-created-by-copilot.md | 4 +- .../tracking-copilots-sessions.md | 4 +- .../troubleshooting-copilot-coding-agent.md | 6 +- .../using-copilot-to-work-on-an-issue.md | 4 +- .../using-github-copilot-to-create-issues.md | 2 +- content/copilot/index.md | 3 +- ...se-of-copilot-coding-agent-on-githubcom.md | 2 +- .../coding-agent/best-practices.md} | 2 + .../copilot/tutorials/coding-agent/index.md | 13 +++ .../pilot-coding-agent.md} | 9 +- content/copilot/tutorials/index.md | 3 +- data/variables/copilot.yml | 3 +- 23 files changed, 142 insertions(+), 97 deletions(-) rename content/copilot/concepts/{ => coding-agent}/about-copilot-coding-agent.md (99%) rename content/copilot/{how-tos/agents/copilot-coding-agent/enabling-copilot-coding-agent.md => concepts/coding-agent/about-enabling-coding-agent.md} (86%) create mode 100644 content/copilot/concepts/coding-agent/index.md create mode 100644 content/copilot/concepts/coding-agent/mcp-and-coding-agent.md rename content/copilot/{how-tos/agents/copilot-coding-agent/best-practices-for-using-copilot-to-work-on-tasks.md => tutorials/coding-agent/best-practices.md} (98%) create mode 100644 content/copilot/tutorials/coding-agent/index.md rename content/copilot/tutorials/{pilot-copilot-coding-agent.md => coding-agent/pilot-coding-agent.md} (96%) diff --git a/content/copilot/concepts/about-copilot-coding-agent.md b/content/copilot/concepts/coding-agent/about-copilot-coding-agent.md similarity index 99% rename from content/copilot/concepts/about-copilot-coding-agent.md rename to content/copilot/concepts/coding-agent/about-copilot-coding-agent.md index 88d179c9639e..8a51815bd6a7 100644 --- a/content/copilot/concepts/about-copilot-coding-agent.md +++ b/content/copilot/concepts/coding-agent/about-copilot-coding-agent.md @@ -13,6 +13,7 @@ redirect_from: - /copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-issues/about-assigning-issues-to-copilot - /copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-issues/about-assigning-tasks-to-copilot - /copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot + - /copilot/concepts/about-copilot-coding-agent --- > [!NOTE] @@ -63,7 +64,7 @@ Having {% data variables.product.prodname_copilot_short %} as an additional codi ### Making {% data variables.copilot.copilot_coding_agent %} available -Before you can assign tasks to {% data variables.product.prodname_copilot_short %}, it must be enabled. See [AUTOTITLE](/copilot/using-github-copilot/coding-agent/enabling-copilot-coding-agent). +Before you can assign tasks to {% data variables.product.prodname_copilot_short %}, it must be enabled. See [AUTOTITLE](/copilot/concepts/coding-agent/about-enabling-coding-agent). ## {% data variables.copilot.copilot_coding_agent %} usage costs diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/enabling-copilot-coding-agent.md b/content/copilot/concepts/coding-agent/about-enabling-coding-agent.md similarity index 86% rename from content/copilot/how-tos/agents/copilot-coding-agent/enabling-copilot-coding-agent.md rename to content/copilot/concepts/coding-agent/about-enabling-coding-agent.md index 788697666815..a3beb731e161 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/enabling-copilot-coding-agent.md +++ b/content/copilot/concepts/coding-agent/about-enabling-coding-agent.md @@ -1,13 +1,13 @@ --- -title: Enabling Copilot coding agent -shortTitle: Enable coding agent -intro: 'You can allow {% data variables.product.prodname_copilot_short %} to work on code and raise pull requests.' +title: 'About enabling {% data variables.copilot.copilot_coding_agent %}' +shortTitle: 'Enabling {% data variables.copilot.copilot_coding_agent_short %}' +allowTitleToDifferFromFilename: true +intro: 'Find out about enabling {% data variables.copilot.copilot_coding_agent %} for {% data variables.copilot.copilot_enterprise %} and {% data variables.copilot.copilot_for_business %}, and about disabling the agent for specific repositories.' product: '{% data reusables.gated-features.copilot-coding-agent %}
Sign up for {% data variables.product.prodname_copilot_short %} {% octicon "link-external" height:16 %}' versions: feature: copilot topics: - Copilot -type: how_to redirect_from: - /copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-tasks/enabling-copilot-coding-agent - /copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-issues/enabling-copilot-coding-agent-for-your-personal-repositories @@ -26,7 +26,7 @@ redirect_from: If you are a {% data variables.copilot.copilot_enterprise %} or {% data variables.copilot.copilot_for_business %} subscriber, {% data variables.copilot.copilot_coding_agent %} is disabled by default and must be enabled by an administrator before it is available for use. -If you are a {% data variables.copilot.copilot_pro_plus %} subscriber, {% data variables.copilot.copilot_coding_agent %} is enabled by default. +If you are a {% data variables.copilot.copilot_pro %} or Pro+ subscriber, {% data variables.copilot.copilot_coding_agent %} is enabled by default. Once enabled, you can use {% data variables.copilot.copilot_coding_agent %} in any repository, provided that an administrator hasn't opted the repository out. diff --git a/content/copilot/concepts/coding-agent/index.md b/content/copilot/concepts/coding-agent/index.md new file mode 100644 index 000000000000..f74d62c2bf07 --- /dev/null +++ b/content/copilot/concepts/coding-agent/index.md @@ -0,0 +1,16 @@ +--- +title: 'Concepts for {% data variables.copilot.copilot_coding_agent %}' +shortTitle: '{% data variables.copilot.copilot_coding_agent_short_cap_c %}' +allowTitleToDifferFromFilename: true +intro: 'Learn how {% data variables.copilot.copilot_coding_agent %} can carry out coding tasks for you, working independently in the same workflow you use yourself.' +versions: + feature: copilot +topics: + - Copilot +children: + - /about-copilot-coding-agent + - /about-enabling-coding-agent + - /mcp-and-coding-agent +--- + +These articles provide an overview of {% data variables.copilot.copilot_coding_agent %}. For instructions on configuring and using {% data variables.copilot.copilot_coding_agent %}, see the how-to articles under [AUTOTITLE](/copilot/how-tos/agents/copilot-coding-agent). diff --git a/content/copilot/concepts/coding-agent/mcp-and-coding-agent.md b/content/copilot/concepts/coding-agent/mcp-and-coding-agent.md new file mode 100644 index 000000000000..9868c629be98 --- /dev/null +++ b/content/copilot/concepts/coding-agent/mcp-and-coding-agent.md @@ -0,0 +1,53 @@ +--- +title: 'Model Context Protocol (MCP) and {% data variables.copilot.copilot_coding_agent %}' +shortTitle: 'MCP and {% data variables.copilot.copilot_coding_agent_short %}' +allowTitleToDifferFromFilename: true +intro: 'Find out about using the Model Context Protocol (MCP) with {% data variables.copilot.copilot_coding_agent %}.' +versions: + feature: copilot +topics: + - Copilot +--- + +> [!NOTE] +> {% data reusables.copilot.coding-agent.preview-note-text %} + +## Overview + +{% data reusables.copilot.coding-agent.mcp-brief-intro %} + +The agent can use tools provided by local and remote MCP servers. Some MCP servers are configured by default to provide the best experience for getting started. + +For more information on MCP, see [the official MCP documentation](https://modelcontextprotocol.io/introduction). For information on some of the currently available MCP servers, see [the MCP servers repository](https://github.com/modelcontextprotocol/servers/tree/main). + +> [!NOTE] +> * {% data variables.copilot.copilot_coding_agent %} only supports tools provided by MCP servers. It does not support resources or prompts. +> * {% data variables.copilot.copilot_coding_agent %} does not currently support remote MCP servers that leverage OAuth for authentication and authorization. + +## Default MCP servers + +The following MCP servers are configured automatically for {% data variables.copilot.copilot_coding_agent %}: + +* **{% data variables.product.github %}**: The {% data variables.product.github %} MCP server gives {% data variables.product.prodname_copilot_short %} access to {% data variables.product.github %} data like issues and pull requests. To learn more, see [AUTOTITLE](/copilot/customizing-copilot/using-model-context-protocol/using-the-github-mcp-server). + * By default, the {% data variables.product.github %} MCP server connects to {% data variables.product.github %} using a specially scoped token that only has read-only access to the current repository. You can customize it to use a different token with broader access. For more details, see [AUTOTITLE](/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp#customizing-the-built-in-github-mcp-server). + +* **Playwright**: The [Playwright MCP server](https://github.com/microsoft/playwright-mcp) gives {% data variables.product.prodname_copilot_short %} access to web pages, including the ability to read, interact and take screenshots. + * By default, the Playwright MCP server is only able to access web resources hosted within {% data variables.product.prodname_copilot_short %}'s own environment, accessible on `localhost` or `127.0.0.1`. + +## Setting up MCP servers in a repository + +Repository administrators can configure MCP servers for use within that repository. This is done via a JSON-formatted configuration that specifies the details of the MCP servers that {% data variables.copilot.copilot_coding_agent %} can use. + +Once MCP servers are configured for use within a repository, the tools specified in the configuration will be available to {% data variables.copilot.copilot_coding_agent %} during each assigned task. + +{% data variables.product.prodname_copilot_short %} will use available tools autonomously, and will not ask for approval before use. + +For details of how to set up MCP servers for {% data variables.copilot.copilot_coding_agent %} in a repository, see [AUTOTITLE](/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp). + +## Best practices + +* Enabling third-party MCP servers for use may impact the performance of the agent and the quality of the outputs. Review the third-party MCP server thoroughly and ensure that it meets your organization’s requirements. + +* By default, {% data variables.copilot.copilot_coding_agent %} does not have access to write MCP server tools. However, some MCP servers do contain such tools. Be sure to review the tools available in the MCP server you want to use. Update the `tools` field in the MCP configuration with only the necessary tooling. + +* Carefully review the configured MCP servers prior to saving the configuration to ensure the correct servers are configured for use. diff --git a/content/copilot/concepts/index.md b/content/copilot/concepts/index.md index 6da9edb9b410..03f6357d8011 100644 --- a/content/copilot/concepts/index.md +++ b/content/copilot/concepts/index.md @@ -10,9 +10,9 @@ children: - /copilot-billing - /choosing-the-right-ai-tool-for-your-task - /completions + - /coding-agent - /prompt-engineering-for-copilot-chat - /about-customizing-github-copilot-chat-responses - - /about-copilot-coding-agent - /code-review - /about-github-copilot-chat - /content-exclusion-for-github-copilot @@ -24,4 +24,3 @@ children: - /rate-limits - /network-settings-for-github-copilot --- - diff --git a/content/copilot/how-tos/administer/organizations/adding-copilot-coding-agent-to-organization.md b/content/copilot/how-tos/administer/organizations/adding-copilot-coding-agent-to-organization.md index af2822b8ca57..49f345d9c8cd 100644 --- a/content/copilot/how-tos/administer/organizations/adding-copilot-coding-agent-to-organization.md +++ b/content/copilot/how-tos/administer/organizations/adding-copilot-coding-agent-to-organization.md @@ -53,6 +53,6 @@ Once {% data variables.copilot.copilot_coding_agent %} is enabled for a reposito * Tell the members of repositories where {% data variables.copilot.copilot_coding_agent %} is available that they can delegate work to the coding agent. * Encourage members to educate themselves about setting up their repository to get the most from {% data variables.copilot.copilot_coding_agent %}. Useful resources: - * [AUTOTITLE](/copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-issues/best-practices-for-using-copilot-to-work-on-tasks) + * [AUTOTITLE](/copilot/tutorials/coding-agent/best-practices) * [AUTOTITLE](/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent) * [Security best practices](/copilot/rolling-out-github-copilot-at-scale/enabling-developers/using-copilot-coding-agent-in-org#security-best-practices) diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/asking-copilot-to-create-a-pull-request.md b/content/copilot/how-tos/agents/copilot-coding-agent/asking-copilot-to-create-a-pull-request.md index 88c97f2f0b77..d03ad184aba8 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/asking-copilot-to-create-a-pull-request.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/asking-copilot-to-create-a-pull-request.md @@ -135,5 +135,5 @@ You can view your current and past {% data variables.product.prodname_copilot_sh ## Further reading * [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent) -* [AUTOTITLE](/copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks) +* [AUTOTITLE](/copilot/tutorials/coding-agent/best-practices) * [AUTOTITLE](/copilot/using-github-copilot/coding-agent/troubleshooting-copilot-coding-agent#copilot-cant-create-a-pull-request-from-copilot-chat) diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/customizing-or-disabling-the-firewall-for-copilot-coding-agent.md b/content/copilot/how-tos/agents/copilot-coding-agent/customizing-or-disabling-the-firewall-for-copilot-coding-agent.md index 00ce5a3858c1..03664b3c92b9 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/customizing-or-disabling-the-firewall-for-copilot-coding-agent.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/customizing-or-disabling-the-firewall-for-copilot-coding-agent.md @@ -14,8 +14,6 @@ redirect_from: > [!NOTE] > {% data reusables.copilot.coding-agent.preview-note-text %} > -> For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). -> > Firewall configuration has moved to the {% data variables.copilot.copilot_coding_agent %} settings page. Previous configurations saved as Actions variables will be maintained on that page. ## Overview diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/customizing-the-development-environment-for-copilot-coding-agent.md b/content/copilot/how-tos/agents/copilot-coding-agent/customizing-the-development-environment-for-copilot-coding-agent.md index 8689894f493d..413e0fdbc35a 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/customizing-the-development-environment-for-copilot-coding-agent.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/customizing-the-development-environment-for-copilot-coding-agent.md @@ -14,8 +14,6 @@ redirect_from: > [!NOTE] > {% data reusables.copilot.coding-agent.preview-note-text %} -> -> For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## About customizing {% data variables.copilot.copilot_coding_agent %}'s development environment diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp.md b/content/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp.md index 773d5e85d76d..7cc8b96befd9 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp.md @@ -17,43 +17,36 @@ redirect_from: > [!NOTE] > {% data reusables.copilot.coding-agent.preview-note-text %} -> -> For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). -## Overview +## Prerequisite -{% data reusables.copilot.coding-agent.mcp-brief-intro %} +Before setting up an MCP server for {% data variables.copilot.copilot_coding_agent %}, read [AUTOTITLE](/copilot/concepts/coding-agent/mcp-and-coding-agent) to make sure you understand the concepts around MCP servers and {% data variables.copilot.copilot_coding_agent %}. -The agent can use tools provided by local and remote MCP servers. Some MCP servers are configured by default to provide the best experience for getting started. +## Introduction -For more information on MCP, see [the official MCP documentation](https://modelcontextprotocol.io/introduction). For information on some of the currently available MCP servers, see [the MCP servers repository](https://github.com/modelcontextprotocol/servers/tree/main). +As a repository administrator, you can configure MCP servers for use within your repository. You do this using a JSON-formatted configuration that specifies the details of the MCP servers you want to use. You enter the JSON configuration directly into the settings for the repository on {% data variables.product.prodname_dotcom_the_website %}. -> [!NOTE] -> * {% data variables.copilot.copilot_coding_agent %} only supports tools provided by MCP servers. It does not support resources or prompts. -> * {% data variables.copilot.copilot_coding_agent %} does not currently support remote MCP servers that leverage OAuth for authentication and authorization. - -## Default MCP servers - -The following MCP servers are configured automatically for {% data variables.copilot.copilot_coding_agent %}: +> [!WARNING] +> Once you've configured an MCP server, {% data variables.product.prodname_copilot_short %} will be able to use the tools provided by the server autonomously, and will not ask for your approval before using them. -* **{% data variables.product.github %}**: The {% data variables.product.github %} MCP server gives {% data variables.product.prodname_copilot_short %} access to {% data variables.product.github %} data like issues and pull requests. To learn more, see [AUTOTITLE](/copilot/customizing-copilot/using-model-context-protocol/using-the-github-mcp-server). - * By default, the {% data variables.product.github %} MCP server connects to {% data variables.product.github %} using a specially scoped token that only has read-only access to the current repository. You can customize it to use a different token with broader access. For more details, see [Customizing the built-in {% data variables.product.github %} MCP server](#customizing-the-built-in-github-mcp-server) below. +## Adding an MCP configuration to your repository -* **Playwright**: The [Playwright MCP server](https://github.com/microsoft/playwright-mcp) gives {% data variables.product.prodname_copilot_short %} access to web pages, including the ability to read, interact and take screenshots. - * By default, the Playwright MCP server is only able to access web resources hosted within {% data variables.product.prodname_copilot_short %}'s own environment, accessible on `localhost` or `127.0.0.1`. +Repository administrators can configure MCP servers by following these steps: -## Setting up MCP servers in a repository +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +1. In the "Code & automation" section of the sidebar, click **{% data variables.product.prodname_copilot_short %}** then **{% data variables.copilot.copilot_coding_agent_short_cap_c %}**. +1. Add your configuration in the **MCP configuration** section. -> [!WARNING] -> Once you've configured an MCP server, {% data variables.product.prodname_copilot_short %} will be able to use the tools provided by the server autonomously, and will not ask for your approval before using them. + The following sections in this article explain how to write the JSON configuration that you need to enter here. -As a repository administrator, you can configure MCP servers for use within your repository. This is done via a JSON-formatted configuration that specifies the details of the MCP servers you want to use. You enter the JSON configuration directly into the settings for the repository on {% data variables.product.prodname_dotcom_the_website %}. +1. Click **Save**. -Once MCP servers are configured for use within a repository, the tools specified in the configuration will be available to {% data variables.copilot.copilot_coding_agent %} during each assigned task. + Your configuration will be validated to ensure proper syntax. -{% data variables.product.prodname_copilot_short %} will use available tools autonomously, and will not ask for approval before use. +1. If your MCP server requires a key or secret, add a secret to your {% data variables.product.prodname_copilot_short %} environment. Only secrets with names prefixed with `COPILOT_MCP_` will be available to your MCP configuration. See [Setting up a {% data variables.product.prodname_copilot_short %} environment for {% data variables.copilot.copilot_coding_agent %}](#setting-up-a-copilot-environment-for-copilot-coding-agent). -### Creating your JSON MCP configuration +## Writing a JSON configuration for MCP servers You configure MCP servers using a special JSON format. The JSON must contain an `mcpServers` object, where the key is the name of the MCP server (for example, `sentry`), and the value is an object with the configuration for that MCP server. @@ -94,9 +87,9 @@ The configuration object can contain the following keys: * The name of a {% data variables.product.prodname_actions %} secret you have configured, beginning with `COPILOT_MCP_` preceded by a `$` * A string value -### Example configurations +## Example configurations -#### Example: Sentry +### Example: Sentry The [Sentry MCP server](https://github.com/getsentry/sentry-mcp) gives {% data variables.product.prodname_copilot_short %} authenticated access to exceptions recorded in [Sentry](https://sentry.io). @@ -123,7 +116,7 @@ The [Sentry MCP server](https://github.com/getsentry/sentry-mcp) gives {% data v } ``` -#### Example: Notion +### Example: Notion The [Notion MCP server](https://github.com/makenotion/notion-mcp-server) gives {% data variables.product.prodname_copilot_short %} authenticated access to notes and other content from [Notion](https://notion.so). @@ -155,7 +148,7 @@ The [Notion MCP server](https://github.com/makenotion/notion-mcp-server) gives { } ``` -#### Example: Azure +### Example: Azure The [Azure MCP server](https://github.com/Azure/azure-mcp) creates a seamless connection between {% data variables.product.prodname_copilot_short %} and key Azure services such as Azure Cosmos DB and the Azure Storage platform. @@ -210,7 +203,7 @@ To use the Azure MCP with {% data variables.copilot.copilot_coding_agent %}, you } ``` -#### Example: Cloudflare +### Example: Cloudflare The [Cloudflare MCP server](https://github.com/cloudflare/mcp-server-cloudflare) creates connections between your Cloudflare services, including processing documentation and data analysis. @@ -226,7 +219,7 @@ The [Cloudflare MCP server](https://github.com/cloudflare/mcp-server-cloudflare) } ``` -### Reusing your MCP configuration from {% data variables.product.prodname_vscode %} +## Reusing your MCP configuration from {% data variables.product.prodname_vscode %} If you have already configured MCP servers in {% data variables.product.prodname_vscode_shortname %}, you can leverage a similar configuration for {% data variables.copilot.copilot_coding_agent %}. @@ -241,21 +234,7 @@ To adapt the configuration for {% data variables.copilot.copilot_coding_agent %} For more information on MCP in {% data variables.product.prodname_vscode_shortname %}, see the [{% data variables.product.prodname_vscode_shortname %} docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers). -### Adding your configuration to your repository - -Repository administrators can configure MCP servers by following these steps: - -{% data reusables.repositories.navigate-to-repo %} -{% data reusables.repositories.sidebar-settings %} -1. In the "Code & automation" section of the sidebar, click **{% data variables.product.prodname_copilot_short %}** then **{% data variables.copilot.copilot_coding_agent_short %}**. -1. Add your configuration in the **MCP configuration** section. -1. Click **Save**. - - Your configuration will be validated to ensure proper syntax. - -1. If your MCP server requires a key or secret, add a secret to your {% data variables.product.prodname_copilot_short %} environment. Only secrets with names prefixed with `COPILOT_MCP_` will be available to your MCP configuration. See [Setting up a {% data variables.product.prodname_copilot_short %} environment for {% data variables.copilot.copilot_coding_agent %}](#setting-up-a-copilot-environment-for-copilot-coding-agent). - -### Setting up a {% data variables.product.prodname_copilot_short %} environment for {% data variables.copilot.copilot_coding_agent %} +## Setting up a {% data variables.product.prodname_copilot_short %} environment for {% data variables.copilot.copilot_coding_agent %} Some MCP servers will require keys or secrets. To leverage those servers in {% data variables.copilot.copilot_coding_agent %}, you can add secrets to an environment for {% data variables.product.prodname_copilot_short %}. This ensures the secrets are properly recognized and passed to the applicable MCP server that you have configured. @@ -269,7 +248,7 @@ You must be a repository administrator to configure a {% data variables.product. 1. Under "Environment secrets", click **Add environment secret**. 1. Give the secret a name beginning `COPILOT_MCP_`, add the secret value, then click **Add secret**. -### Validating your MCP configuration +## Validating your MCP configuration Once you've set up your MCP configuration, you should test it to make sure it is set up correctly. @@ -293,7 +272,7 @@ If you want to allow {% data variables.product.prodname_copilot_short %} to acce 1. Create a {% data variables.product.pat_generic %} with the appropriate permissions. We recommend using a {% data variables.product.pat_v2 %}, where you can limit the token's access to read-only permissions on specific repositories. For more information on {% data variables.product.pat_generic_plural %}, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens). {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} -1. In the "Code & automation" section of the sidebar, click **{% data variables.product.prodname_copilot_short %}** then **{% data variables.copilot.copilot_coding_agent_short %}**. +1. In the "Code & automation" section of the sidebar, click **{% data variables.product.prodname_copilot_short %}** then **{% data variables.copilot.copilot_coding_agent_short_cap_c %}**. 1. Add your configuration in the **MCP configuration** section. 1. Click **Save**. {% data reusables.actions.sidebar-environment %} @@ -303,15 +282,7 @@ If you want to allow {% data variables.product.prodname_copilot_short %} to acce For information on using the {% data variables.product.github %} MCP server in other environments, see [AUTOTITLE](/copilot/customizing-copilot/using-model-context-protocol/using-the-github-mcp-server). -## Best practices - -* Enabling third-party MCP servers for use may impact the performance of the agent and the quality of the outputs. Review the third-party MCP server thoroughly and ensure that it meets your organization’s requirements. - -* By default, {% data variables.copilot.copilot_coding_agent %} does not have access to write MCP server tools. However, some MCP servers do contain such tools. Be sure to review the tools available in the MCP server you want to use. Update the `tools` field in the MCP configuration with only the necessary tooling. - -* Carefully review the configured MCP servers prior to saving the configuration to ensure the correct servers are configured for use. - -## Further reading +## Next steps * [AUTOTITLE](/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent) * [AUTOTITLE](/copilot/customizing-copilot/extending-copilot-chat-with-mcp) diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/index.md b/content/copilot/how-tos/agents/copilot-coding-agent/index.md index c635fa71bfd7..76926b3c694c 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/index.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/index.md @@ -1,14 +1,12 @@ --- -title: Coding agent -shortTitle: Use coding agent +title: '{% data variables.copilot.copilot_coding_agent %}' +shortTitle: '{% data variables.copilot.copilot_coding_agent_short_cap_c %}' intro: 'Find out how {% data variables.product.prodname_copilot_short %} can work on {% data variables.product.github %} issues and raise pull requests for your to review.' versions: feature: copilot topics: - Copilot children: - - /best-practices-for-using-copilot-to-work-on-tasks - - /enabling-copilot-coding-agent - /asking-copilot-to-create-a-pull-request - /using-copilot-to-work-on-an-issue - /tracking-copilots-sessions @@ -24,4 +22,4 @@ redirect_from: - /copilot/using-github-copilot/coding-agent --- -For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). +These articles provide how-to information for using {% data variables.copilot.copilot_coding_agent %}. For an overview of {% data variables.copilot.copilot_coding_agent %}, see the articles under [AUTOTITLE](/copilot/concepts/coding-agent). diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/reviewing-a-pull-request-created-by-copilot.md b/content/copilot/how-tos/agents/copilot-coding-agent/reviewing-a-pull-request-created-by-copilot.md index 5c5c36ede812..e6d55c20d63d 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/reviewing-a-pull-request-created-by-copilot.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/reviewing-a-pull-request-created-by-copilot.md @@ -43,7 +43,7 @@ If {% data variables.product.prodname_copilot_short %} starts a new agent sessio > [!TIP] > If you don't want {% data variables.product.prodname_copilot_short %} to respond to comments on a pull request, you can unassign {% data variables.product.prodname_copilot_short %} from the pull request. If you later reassign {% data variables.product.prodname_copilot_short %} to the same pull request it will respond to new comments and push more changes. It will not respond to comments that were added while it was not assigned. -For more information, see the section "Use comments to iterate on a pull request" in [AUTOTITLE](/copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks#using-comments-to-iterate-on-a-pull-request). +For more information, see the section "Use comments to iterate on a pull request" in [AUTOTITLE](/copilot/tutorials/coding-agent/best-practices#using-comments-to-iterate-on-a-pull-request). ## Managing {% data variables.product.prodname_actions %} workflow runs @@ -64,6 +64,6 @@ You can provide feedback on {% data variables.product.prodname_copilot_short %}' ## Further reading -* [AUTOTITLE](/copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks) +* [AUTOTITLE](/copilot/tutorials/coding-agent/best-practices) * [AUTOTITLE](/copilot/using-github-copilot/coding-agent/using-the-copilot-coding-agent-logs) * [AUTOTITLE](/copilot/using-github-copilot/coding-agent/troubleshooting-copilot-coding-agent) diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/tracking-copilots-sessions.md b/content/copilot/how-tos/agents/copilot-coding-agent/tracking-copilots-sessions.md index 282c68f1e1ab..bcc068bc78ed 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/tracking-copilots-sessions.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/tracking-copilots-sessions.md @@ -16,8 +16,6 @@ redirect_from: > [!NOTE] > {% data reusables.copilot.coding-agent.preview-note-text %} -> -> For an overview of {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## Introduction @@ -78,5 +76,5 @@ Reasons you might want to stop a session include: ## Further reading -* [AUTOTITLE](/copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks) +* [AUTOTITLE](/copilot/tutorials/coding-agent/best-practices) * [AUTOTITLE](/copilot/using-github-copilot/coding-agent/troubleshooting-copilot-coding-agent) diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/troubleshooting-copilot-coding-agent.md b/content/copilot/how-tos/agents/copilot-coding-agent/troubleshooting-copilot-coding-agent.md index c9ba6b54d17e..a5b321878584 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/troubleshooting-copilot-coding-agent.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/troubleshooting-copilot-coding-agent.md @@ -17,8 +17,6 @@ redirect_from: > [!NOTE] > {% data reusables.copilot.coding-agent.preview-note-text %} -> -> For an introduction to {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). ## {% data variables.product.prodname_copilot_short %} is not available in the "Assignees" list on my issue @@ -93,7 +91,7 @@ To allow {% data variables.product.prodname_actions %} workflows to run, click t While working on an issue, {% data variables.product.prodname_copilot_short %} has access to its own ephemeral development environment, powered by {% data variables.product.prodname_actions %}, where it can execute automated tests and linters to validate its work before it pushes. -It is most likely to do this if given clear instructions on what to do. The best way to do this is with a `.github/copilot-instructions.md` file. See [AUTOTITLE](/copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks#adding-custom-instructions-to-your-repository). +It is most likely to do this if given clear instructions on what to do. The best way to do this is with a `.github/copilot-instructions.md` file. See [AUTOTITLE](/copilot/tutorials/coding-agent/best-practices#adding-custom-instructions-to-your-repository). ## There is a warning from {% data variables.product.prodname_copilot %} about the firewall @@ -109,5 +107,5 @@ For more information, see [AUTOTITLE](/copilot/customizing-copilot/customizing-o ## Further reading -* [AUTOTITLE](/copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks) +* [AUTOTITLE](/copilot/tutorials/coding-agent/best-practices) * [AUTOTITLE](/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent) diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/using-copilot-to-work-on-an-issue.md b/content/copilot/how-tos/agents/copilot-coding-agent/using-copilot-to-work-on-an-issue.md index d082f5a23826..b1ca81a1d975 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/using-copilot-to-work-on-an-issue.md +++ b/content/copilot/how-tos/agents/copilot-coding-agent/using-copilot-to-work-on-an-issue.md @@ -24,7 +24,7 @@ redirect_from: You can assign a {% data variables.product.github %} issue to {% data variables.product.prodname_copilot_short %}, just like you would with a human software developer. {% data variables.product.prodname_copilot_short %} will start working on the issue, raise a pull request and when it's finished working, request a review from you. For more information, see [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). -If you haven't used {% data variables.product.prodname_copilot_short %} to work on an issue before, you can find some useful advice for getting good results in [AUTOTITLE](/copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks). +If you haven't used {% data variables.product.prodname_copilot_short %} to work on an issue before, you can find some useful advice for getting good results in [AUTOTITLE](/copilot/tutorials/coding-agent/best-practices). ## Assigning an issue to {% data variables.product.prodname_copilot_short %} @@ -212,5 +212,5 @@ After {% data variables.product.prodname_copilot_short %} has finished working o ## Further reading -* [AUTOTITLE](/copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks) +* [AUTOTITLE](/copilot/tutorials/coding-agent/best-practices) * [AUTOTITLE](/copilot/using-github-copilot/coding-agent/troubleshooting-copilot-coding-agent) diff --git a/content/copilot/how-tos/github-flow/using-github-copilot-to-create-issues.md b/content/copilot/how-tos/github-flow/using-github-copilot-to-create-issues.md index 8a6ed4de4038..562fe3067fc4 100644 --- a/content/copilot/how-tos/github-flow/using-github-copilot-to-create-issues.md +++ b/content/copilot/how-tos/github-flow/using-github-copilot-to-create-issues.md @@ -75,7 +75,7 @@ Each draft appears separately, and you can review and edit them individually. To ## Assigning issues to {% data variables.product.prodname_copilot_short %} -To assign an issue to {% data variables.product.prodname_copilot_short %}, you need to have {% data variables.copilot.copilot_coding_agent %} enabled. See [AUTOTITLE](/copilot/using-github-copilot/coding-agent/enabling-copilot-coding-agent). +To assign an issue to {% data variables.product.prodname_copilot_short %}, you need to have {% data variables.copilot.copilot_coding_agent %} enabled. See [AUTOTITLE](/copilot/concepts/coding-agent/about-enabling-coding-agent). You can assign the issue during creation in one of two ways: diff --git a/content/copilot/index.md b/content/copilot/index.md index 883d14e07a2b..ff42c3a4b409 100644 --- a/content/copilot/index.md +++ b/content/copilot/index.md @@ -15,7 +15,7 @@ featuredLinks: - /copilot/get-started/what-is-github-copilot - /copilot/get-started/quickstart - /copilot/tutorials/quickstart-for-github-copilot-extensions-using-agents - - /copilot/concepts/about-copilot-coding-agent + - /copilot/concepts/coding-agent/about-copilot-coding-agent popular: - /copilot/get-started/github-copilot-features - /copilot/tutorials/copilot-chat-cookbook @@ -35,4 +35,3 @@ children: topics: - Copilot --- - diff --git a/content/copilot/responsible-use-of-github-copilot-features/responsible-use-of-copilot-coding-agent-on-githubcom.md b/content/copilot/responsible-use-of-github-copilot-features/responsible-use-of-copilot-coding-agent-on-githubcom.md index 9712c4f1ddf7..ccd5082cf97a 100644 --- a/content/copilot/responsible-use-of-github-copilot-features/responsible-use-of-copilot-coding-agent-on-githubcom.md +++ b/content/copilot/responsible-use-of-github-copilot-features/responsible-use-of-copilot-coding-agent-on-githubcom.md @@ -73,7 +73,7 @@ For more information about limitations, see [Limitations of {% data variables.co ### Customize your experience with additional context -{% data variables.copilot.copilot_coding_agent %} leverages your prompt, comments and the repository’s code as context when generating suggested changes. To enhance Copilot’s performance, consider implementing custom Copilot instructions to help the agent better understand your project and how to build, test and validate its changes. For more information, see the "Add custom instructions to your repository" in [AUTOTITLE](/copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks#adding-custom-instructions-to-your-repository). +{% data variables.copilot.copilot_coding_agent %} leverages your prompt, comments and the repository’s code as context when generating suggested changes. To enhance Copilot’s performance, consider implementing custom Copilot instructions to help the agent better understand your project and how to build, test and validate its changes. For more information, see "Add custom instructions to your repository" in [AUTOTITLE](/copilot/tutorials/coding-agent/best-practices#adding-custom-instructions-to-your-repository). For information about other customizations for {% data variables.copilot.copilot_coding_agent %}, see: diff --git a/content/copilot/how-tos/agents/copilot-coding-agent/best-practices-for-using-copilot-to-work-on-tasks.md b/content/copilot/tutorials/coding-agent/best-practices.md similarity index 98% rename from content/copilot/how-tos/agents/copilot-coding-agent/best-practices-for-using-copilot-to-work-on-tasks.md rename to content/copilot/tutorials/coding-agent/best-practices.md index db8f161f34a3..38146574ce02 100644 --- a/content/copilot/how-tos/agents/copilot-coding-agent/best-practices-for-using-copilot-to-work-on-tasks.md +++ b/content/copilot/tutorials/coding-agent/best-practices.md @@ -1,6 +1,7 @@ --- title: Best practices for using Copilot to work on tasks shortTitle: Get the best results +allowTitleToDifferFromFilename: true intro: 'Learn how to get the best results from {% data variables.copilot.copilot_coding_agent %}.' product: '{% data reusables.gated-features.copilot-coding-agent %}
Sign up for {% data variables.product.prodname_copilot_short %} {% octicon "link-external" height:16 %}' versions: @@ -14,6 +15,7 @@ redirect_from: - /copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-issues/best-practices-for-using-copilot-to-work-on-tasks - /early-access/copilot/coding-agent/best-practices-for-using-copilot-coding-agent - /copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks + - /copilot/how-tos/agents/copilot-coding-agent/best-practices-for-using-copilot-to-work-on-tasks --- > [!NOTE] diff --git a/content/copilot/tutorials/coding-agent/index.md b/content/copilot/tutorials/coding-agent/index.md new file mode 100644 index 000000000000..2daa81a3d269 --- /dev/null +++ b/content/copilot/tutorials/coding-agent/index.md @@ -0,0 +1,13 @@ +--- +title: '{% data variables.copilot.copilot_coding_agent %}' +shortTitle: Coding agent +allowTitleToDifferFromFilename: true +intro: 'Find out how to get great results from {% data variables.copilot.copilot_coding_agent %}.' +versions: + feature: copilot +topics: + - Copilot +children: + - /best-practices + - /pilot-coding-agent +--- diff --git a/content/copilot/tutorials/pilot-copilot-coding-agent.md b/content/copilot/tutorials/coding-agent/pilot-coding-agent.md similarity index 96% rename from content/copilot/tutorials/pilot-copilot-coding-agent.md rename to content/copilot/tutorials/coding-agent/pilot-coding-agent.md index 37a2ff2ec2b4..aedc512b107c 100644 --- a/content/copilot/tutorials/pilot-copilot-coding-agent.md +++ b/content/copilot/tutorials/coding-agent/pilot-coding-agent.md @@ -1,6 +1,6 @@ --- -title: Piloting Copilot coding agent in your organization -shortTitle: Pilot coding agent +title: 'Piloting {% data variables.copilot.copilot_coding_agent %} in your organization' +shortTitle: 'Pilot {% data variables.copilot.copilot_coding_agent_short %}' intro: 'Follow best practices to enable {% data variables.copilot.copilot_coding_agent %} in your organization.' allowTitleToDifferFromFilename: true versions: @@ -11,6 +11,7 @@ product: '{% data reusables.gated-features.copilot-coding-agent %}' redirect_from: - /copilot/rolling-out-github-copilot-at-scale/enabling-developers/using-copilot-coding-agent-in-org - /copilot/tutorials/rolling-out-github-copilot-at-scale/enabling-developers/using-copilot-coding-agent-in-org + - /copilot/tutorials/pilot-copilot-coding-agent --- @@ -29,7 +30,7 @@ redirect_from: Before enabling {% data variables.copilot.copilot_coding_agent %} for members, understand how {% data variables.copilot.copilot_coding_agent %} will fit into your organization. This will help you evaluate whether {% data variables.copilot.copilot_coding_agent %} is suitable for your needs and plan communications and training sessions for developers. 1. Learn about {% data variables.copilot.copilot_coding_agent %}, including the costs, built-in security features, and how it differs from other AI tools your developers may be used to. See [AUTOTITLE](/copilot/concepts/about-copilot-coding-agent). -1. Learn about the tasks that {% data variables.copilot.copilot_coding_agent %} is best suited for. These are generally well-defined and scoped issues, such as increasing test coverage, fixing bugs or flaky tests, or updating config files or documentation. See [AUTOTITLE](/copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks). +1. Learn about the tasks that {% data variables.copilot.copilot_coding_agent %} is best suited for. These are generally well-defined and scoped issues, such as increasing test coverage, fixing bugs or flaky tests, or updating config files or documentation. See [AUTOTITLE](/copilot/tutorials/coding-agent/best-practices). 1. Consider how {% data variables.copilot.copilot_coding_agent %} fits alongside other tools in your organization's workflows. For an example scenario that walks through how to use {% data variables.copilot.copilot_coding_agent %} alongside other AI features on {% data variables.product.github %}, see [AUTOTITLE](/copilot/rolling-out-github-copilot-at-scale/enabling-developers/integrating-agentic-ai). ## 2. Secure @@ -54,7 +55,7 @@ As with any other change to working practices, it's important to run a trial to 1. Choose an isolated or low-risk repository, for example, one that contains documentation or internal tools. You could create a fresh repository to use as a playground, but {% data variables.product.prodname_copilot_short %} needs context to be successful, so you would need to add a lot of context, including team processes, development environment, and common dependencies. 1. Enable {% data variables.copilot.copilot_coding_agent %} in the repository and optionally enable third-party MCP servers for enhanced context sharing. See [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/adding-copilot-coding-agent-to-organization). 1. Create repository instructions and pre-install any tools required in the development environment {% data variables.product.prodname_copilot_short %} uses. See [AUTOTITLE](/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent). -1. Identify a few compelling use cases for your organization, for example: test coverage or improving accessibility. See [Choose the right type of tasks to give to Copilot](/copilot/using-github-copilot/coding-agent/best-practices-for-using-copilot-to-work-on-tasks#choosing-the-right-type-of-tasks-to-give-to-copilot) in the best practice guide. +1. Identify a few compelling use cases for your organization, for example: test coverage or improving accessibility. See [Choose the right type of tasks to give to Copilot](/copilot/tutorials/coding-agent/best-practices#choosing-the-right-type-of-tasks-to-give-to-copilot) in the best practice guide. 1. Use best practice to create or refine issues for {% data variables.product.prodname_copilot_short %} in your pilot repository. 1. Assign issues to {% data variables.product.prodname_copilot_short %} and prepare team members to review its work. 1. Spend time looking at the codebase or documentation in {% data variables.product.prodname_vscode_shortname %} or {% data variables.product.prodname_dotcom_the_website %}, asking {% data variables.product.prodname_copilot_short %} to create a pull request to fix any bugs or small improvements that you identify. diff --git a/content/copilot/tutorials/index.md b/content/copilot/tutorials/index.md index d502aeadf89e..8f1b3954bc40 100644 --- a/content/copilot/tutorials/index.md +++ b/content/copilot/tutorials/index.md @@ -8,6 +8,7 @@ topics: - Copilot children: - /copilot-chat-cookbook + - /coding-agent - /comparing-ai-models-using-different-tasks - /enhancing-copilot-agent-mode-with-mcp - /quickstart-for-github-copilot-extensions-using-agents @@ -23,9 +24,7 @@ children: - /modernizing-legacy-code-with-github-copilot - /using-copilot-to-migrate-a-project - /upgrading-projects-with-github-copilot - - /pilot-copilot-coding-agent - /rolling-out-github-copilot-at-scale redirect_from: - /copilot/using-github-copilot/guides-on-using-github-copilot --- - diff --git a/data/variables/copilot.yml b/data/variables/copilot.yml index 4d7f2aaf28fb..463c5f9f2be5 100644 --- a/data/variables/copilot.yml +++ b/data/variables/copilot.yml @@ -45,7 +45,8 @@ copilot_code-review_short: 'Copilot code review' ## Copilot coding agent (previously Padawan) -> {% data variables.copilot.copilot_coding_agent %} copilot_coding_agent: 'Copilot coding agent' -copilot_coding_agent_short: 'Coding agent' +copilot_coding_agent_short: 'coding agent' +copilot_coding_agent_short_cap_c: 'Coding agent' ## Short for "Copilot Extensions agent" -> {% data variables.copilot.copilot_agent_short %} ## Note: this is NOT a short form for the Copilot coding agent (previously Padawan): From 53f925fd375aafe290ad8c1b3654501eb7b2793e Mon Sep 17 00:00:00 2001 From: hubwriter Date: Thu, 24 Jul 2025 10:02:00 +0100 Subject: [PATCH 4/4] [EDI 5520 - Builders] Remove Copilot Extensions FAQ in light of EDI audit (#56744) Co-authored-by: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com> --- .../requests-in-github-copilot.md | 2 +- .../about-copilot-extensions.md} | 98 +++++++++++++------ .../agents-for-copilot-extensions.md | 4 +- .../index.md | 7 +- .../openid-connect.md | 7 +- .../skillsets-for-copilot-extensions.md | 11 ++- content/copilot/concepts/index.md | 2 +- .../get-started/github-copilot-features.md | 2 +- .../set-extension-permissions.md | 4 +- .../build-copilot-extensions/set-up-oidc.md | 4 +- ...-of-github-copilot-in-your-organization.md | 2 +- ...github-copilot-in-your-personal-account.md | 2 +- ...egrate-external-tools-with-copilot-chat.md | 8 +- .../copilot-extensions-glossary.md | 27 ++--- .../copilot-extensions-faq.md | 91 ----------------- .../reference/copilot-extensions/index.md | 13 --- .../feature-availability-enterprise.md | 2 +- content/copilot/reference/index.md | 2 +- ...-github-copilot-extensions-using-agents.md | 4 +- .../about-extensions-permissions.md | 7 -- data/variables/copilot.yml | 54 +++++----- 21 files changed, 143 insertions(+), 210 deletions(-) rename content/copilot/concepts/{build-copilot-extensions/about-building-copilot-extensions.md => copilot-extensions/about-copilot-extensions.md} (54%) rename content/copilot/concepts/{build-copilot-extensions => copilot-extensions}/agents-for-copilot-extensions.md (93%) rename content/copilot/concepts/{build-copilot-extensions => copilot-extensions}/index.md (70%) rename content/copilot/concepts/{build-copilot-extensions => copilot-extensions}/openid-connect.md (98%) rename content/copilot/concepts/{build-copilot-extensions => copilot-extensions}/skillsets-for-copilot-extensions.md (95%) rename content/copilot/reference/{copilot-extensions => }/copilot-extensions-glossary.md (83%) delete mode 100644 content/copilot/reference/copilot-extensions/copilot-extensions-faq.md delete mode 100644 content/copilot/reference/copilot-extensions/index.md delete mode 100644 data/reusables/copilot/copilot-extensions/about-extensions-permissions.md diff --git a/content/copilot/concepts/copilot-billing/requests-in-github-copilot.md b/content/copilot/concepts/copilot-billing/requests-in-github-copilot.md index fa0211ce8f68..bfda6a414301 100644 --- a/content/copilot/concepts/copilot-billing/requests-in-github-copilot.md +++ b/content/copilot/concepts/copilot-billing/requests-in-github-copilot.md @@ -37,7 +37,7 @@ The following {% data variables.product.prodname_copilot_short %} features can u | [{% data variables.copilot.copilot_coding_agent %}](/copilot/concepts/about-copilot-coding-agent) | {% data variables.copilot.copilot_coding_agent %} uses **one premium request** per session. A session begins when you ask {% data variables.product.prodname_copilot_short %} to create a pull request or make one or more changes to an existing pull request. | | [Agent mode in {% data variables.copilot.copilot_chat_short %}](/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-your-ide#copilot-edits) | Agent mode uses **one premium request** per user prompt, multiplied by the model's rate. | | [{% data variables.product.prodname_copilot_short %} code review](/copilot/using-github-copilot/code-review/using-copilot-code-review) | When you assign {% data variables.product.prodname_copilot_short %} as a reviewer for a pull request, **one premium request** is used each time {% data variables.product.prodname_copilot_short %} posts comments to the pull request. | -| [{% data variables.copilot.copilot_extensions_short %}](/copilot/building-copilot-extensions/about-building-copilot-extensions) | {% data variables.copilot.copilot_extensions_short %} uses **one premium request** per user prompt, multiplied by the model's rate. | +| [{% data variables.copilot.copilot_extensions_short %}](/copilot/concepts/copilot-extensions/about-copilot-extensions) | {% data variables.copilot.copilot_extensions_short %} uses **one premium request** per user prompt, multiplied by the model's rate. | | [{% data variables.copilot.copilot_spaces %}](/copilot/using-github-copilot/copilot-spaces/about-organizing-and-sharing-context-with-copilot-spaces) | {% data variables.copilot.copilot_spaces %} uses **one premium request** per user prompt, multiplied by the model's rate. | | [{% data variables.product.prodname_spark_short %}](/copilot/tutorials/building-ai-app-prototypes) | Each prompt to {% data variables.product.prodname_spark_short %} uses a fixed rate of **four premium requests**. | diff --git a/content/copilot/concepts/build-copilot-extensions/about-building-copilot-extensions.md b/content/copilot/concepts/copilot-extensions/about-copilot-extensions.md similarity index 54% rename from content/copilot/concepts/build-copilot-extensions/about-building-copilot-extensions.md rename to content/copilot/concepts/copilot-extensions/about-copilot-extensions.md index 79e0bd72f66a..e8ffc1a52138 100644 --- a/content/copilot/concepts/build-copilot-extensions/about-building-copilot-extensions.md +++ b/content/copilot/concepts/copilot-extensions/about-copilot-extensions.md @@ -1,15 +1,19 @@ --- -title: About building Copilot Extensions +title: About Copilot Extensions intro: 'Learn about the development process for {% data variables.copilot.copilot_extensions_short %}.' +allowTitleToDifferFromFilename: true product: '{% data reusables.gated-features.copilot-extensions %}' versions: feature: copilot-extensions topics: - Copilot -shortTitle: About building Extensions -type: overview redirect_from: - /copilot/building-copilot-extensions/about-building-copilot-extensions + - /copilot/concepts/build-copilot-extensions/about-building-copilot-extensions + - /copilot/building-copilot-extensions/copilot-extensions-faq + - /copilot/reference/copilot-extensions/copilot-extensions-faq + - /copilot/reference/copilot-extensions + - /copilot/concepts/copilot-extensions/about-building-copilot-extensions --- ## About {% data variables.copilot.copilot_extensions_short %} @@ -21,15 +25,13 @@ redirect_from: * **Data retrieval:** A {% data variables.copilot.copilot_extension_short %} can allow {% data variables.copilot.copilot_chat_short %} to query a third-party data service to retrieve information about a specific topic. * **Action execution:** A {% data variables.copilot.copilot_extension_short %} can allow {% data variables.copilot.copilot_chat_short %} to execute a specific action, such as posting to a message board or updating a tracking item in an external system. -## About building {% data variables.copilot.copilot_extensions %} +{% data variables.copilot.copilot_extensions %} are built with {% data variables.product.prodname_github_apps %}. They are best suited for developers who want cross-platform compatibility and app management and support from {% data variables.product.github %}. -{% data variables.copilot.copilot_extensions %} are a type of {% data variables.copilot.copilot_extension_short %} built with {% data variables.product.prodname_github_apps %}. {% data variables.copilot.copilot_extensions %} are best suited for developers who want cross-platform compatibility and app management and support from {% data variables.product.github %}. - -### Supported clients and IDEs +## Supported clients and IDEs {% data reusables.copilot.copilot-extensions.supported-clients-and-ides-table %} -### About visibility of {% data variables.copilot.copilot_extensions %} +## Visibility of {% data variables.copilot.copilot_extensions %} {% data variables.copilot.copilot_extensions %} can be private, public and shareable, or public and listed on the {% data variables.product.prodname_marketplace %}. Which visibility option you choose will depend on your use case and the audience you are targeting. @@ -46,25 +48,50 @@ redirect_from: * Integrate their tool into the developer workflow on {% data variables.product.company_short %} and the IDE * Leverage the {% data variables.product.company_short %} ecosystem to raise awareness for their product -### About {% data variables.copilot.copilot_extensions %} permissions +## {% data variables.copilot.copilot_extensions %} permissions + +Permissions vary by extension, depending on the level of authorization that the extension requires in order to respond to your query. You can view the required permissions on the extension’s installation page, located after the billing information step and before the install and authorize step. + +**For extension users**: At a minimum, the **{% data variables.copilot.copilot_chat_short %}** permissions must be set to "Read-only". Additional permissions may include executing write actions on other surfaces and authorizing read access to repository and organization level data in {% data variables.product.github %}. + +**For extension creators**: In addition to the above, you may also request local context from a user’s editor to further tailor responses. To do so, the **{% data variables.product.prodname_copilot_short %} Editor Context** permissions must be set to "Read-only". Users will be notified to provide the required authorization. + +For more information on {% data variables.product.prodname_github_app %} permissions, see [AUTOTITLE](/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app). + +### Granting permissions to access organization resources + +Users with an individual {% data variables.product.prodname_copilot_short %} subscription can install and use {% data variables.copilot.copilot_extensions_short %}. Users with a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} subscription need an organization administrator to enable this feature. + +Only organization administrators can grant permissions for {% data variables.copilot.copilot_extensions_short %} to access organization resources. + +To grant organization members access, the organization administrator must: + +* Install the extension +* Grant the extension permission to access specific repositories +* Authorize access for all, or specific repositories -{% data reusables.copilot.copilot-extensions.about-extensions-permissions %} +### Controlling access at the enterprise level -#### Granting permissions to access organization resources +If you are an enterprise administrator, you can disable {% data variables.copilot.copilot_extensions_short %} across your enterprise by setting the **{% data variables.copilot.copilot_extensions_short %}** policy to "Disabled". The "No Policy" setting allows organization administrators to set their own policy. -Only organization admins can grant permissions for {% data variables.copilot.copilot_extensions_short %} to access organization resources. -To grant organization members access: -* The organization admin must install the extension. -* The organization admin must grant the extension permission to access specific repositories. -* The organization admin must authorize access for all, or specific repositories. +No, there is no allowlist or blocklist at the enterprise level. -### About skillsets and agents +## Sharing data with {% data variables.copilot.copilot_extensions_short %} + +The following data is shared when you interact with {% data variables.copilot.copilot_extensions_short %}: + +* Data attached to your account and {% data variables.copilot.copilot_chat_short %} usage, such as {% data variables.product.github %} user ID, and timestamps of messages. +* Past messages within the chat thread where you are invoking an extension. Only one extension can be used per thread, preventing data sharing across extensions. The data retention period for thread context is 30 days. +* Any additional organization and repository data that is authorized for the extension by your organization administrator. Administrators installing extensions must approve access to the required permissions prior to completing installation. +* For {% data variables.copilot.copilot_chat_dotcom_short %}, if your administrator has approved the extension to access repository or organization metadata, that data will be shared as well. + +## About skillsets and agents {% data reusables.copilot.copilot-extensions.differences-between-agents-and-skillsets-1 %} For more information about skillsets, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/about-copilot-skillsets). {% data reusables.copilot.copilot-extensions.differences-between-agents-and-skillsets-2 %} -### About context passing +## About context passing You can allow your {% data variables.copilot.copilot_extension_short %} to receive context from the editor, such as the currently opened file, by enabling the **Read-only** access level for the "{% data variables.product.prodname_copilot_short %} Editor Context" permission in your {% data variables.product.prodname_github_app %} settings. See step 10 of [Configuring your {% data variables.product.prodname_github_app %}](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-extension#configuring-your-github-app). @@ -81,7 +108,7 @@ Context passing respects content exclusions, which refers to any files listed in For more information about context passing, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/context-passing-for-your-agent). -### Using APIs in {% data variables.copilot.copilot_extensions %} +## Using APIs in {% data variables.copilot.copilot_extensions %} Building {% data variables.copilot.copilot_extensions %} requires using the {% data variables.product.github %} API. Optionally, the {% data variables.product.prodname_copilot_short %} API can be used for additional capabilities. For details on request and response formatting, see the [OpenAI API documentation](https://platform.openai.com/docs/api-reference/chat). @@ -96,24 +123,37 @@ Before creating your own {% data variables.copilot.copilot_extension %} from scr * **Blackbeard:** A simple {% data variables.copilot.copilot_agent_short %} that responds to requests like a pirate, using {% data variables.product.prodname_copilot_short %}'s LLM API and special system prompts. It is a good starting point for learning how to build a {% data variables.copilot.copilot_extension %}. For more information, see the [Blackbeard {% data variables.copilot.copilot_extension_short %}](https://github.com/copilot-extensions/blackbeard-extension). * **{% data variables.product.prodname_github_models %}:** A more complex {% data variables.copilot.copilot_agent_short %} that lets you ask about and interact with various LLMs listed on the {% data variables.product.prodname_marketplace %} from within {% data variables.copilot.copilot_chat_short %}. For more information, see the [{% data variables.product.prodname_github_models %} {% data variables.copilot.copilot_extension_short %}](https://github.com/copilot-extensions/github-models-extension). - > [!NOTE] {% data variables.product.prodname_github_models %} are in {% data variables.release-phases.public_preview %} and subject to change. To request access, join the [waitlist](https://github.com/marketplace/models/waitlist). + > [!NOTE] {% data variables.product.prodname_github_models %} are in {% data variables.release-phases.public_preview %} and subject to change. + * **Function calling:** an example agent written in Go that demonstrates function calling and confirmation dialogues. For more information, see the [Function calling extension](https://github.com/copilot-extensions/function-calling-extension). * **RAG extension:** an example agent written in Go that demonstrates a simple implementation of retrieval augmented generation. For more information, see the [RAG extension](https://github.com/copilot-extensions/rag-extension). * **Preview SDK:** An SDK that simplifies the process of building {% data variables.copilot.copilot_extensions %} by handling request verification, response formatting, and API interactions. It allows builders to focus on their extension's core functionality rather than boilerplate, by streamlining the integration of tools, APIs, and data sources into {% data variables.copilot.copilot_chat_short %}. For more information, see the [Preview SDK](https://github.com/copilot-extensions/preview-sdk.js). -## About building {% data variables.copilot.copilot_extensions_vsc %} +## About building {% data variables.copilot.copilot_vsc_chat_participants %} + +> [!NOTE] The {% data variables.product.github %} documentation focuses on building {% data variables.copilot.copilot_extensions %}, not {% data variables.copilot.copilot_vsc_chat_participants %}. + +You can build a {% data variables.copilot.copilot_extension_short %} that is exclusive and native to {% data variables.product.prodname_vscode %}, called a {% data variables.copilot.copilot_vsc_chat_participant %}. + +{% data variables.copilot.copilot_extensions %} and {% data variables.copilot.copilot_vsc_chat_participants %} use the same backend platform to route requests to extensions. Both provide similar end-user experiences, integrate with {% data variables.copilot.copilot_chat_short %}, and can leverage the {% data variables.product.prodname_copilot_short %} API or other LLMs. + +While they share similarities, below are several key differences: + +* {% data variables.copilot.copilot_extensions %} can be used in any editor where extensions are supported, while {% data variables.copilot.copilot_vsc_chat_participants %} are only available in {% data variables.product.prodname_vscode %}. +* {% data variables.copilot.copilot_extensions %} are server-side extensions, requiring server infrastructure to build. These extensions provide a built-in connection to your {% data variables.product.github %} workspaces, as set by your organization administrator. +* {% data variables.copilot.copilot_vsc_chat_participants %} are client-side extensions that have more access to {% data variables.product.prodname_vscode_shortname %}'s features and APIs, allowing more editor-specific interactions like accessing local workspace data, manipulating {% data variables.product.prodname_vscode %}'s interface, and read/write access to local files. They do not require server infrastructure. +* Because {% data variables.copilot.copilot_vsc_chat_participants %} are local to the user's machine, they cannot be controlled by the {% data variables.product.prodname_copilot_short %} policies of an organization or enterprise on {% data variables.product.prodname_dotcom_the_website %}. +* {% data variables.copilot.copilot_vsc_chat_participants %} are published to the {% data variables.product.prodname_vs_marketplace_shortname %}, not the {% data variables.product.prodname_marketplace %}. + +{% data variables.copilot.copilot_vsc_chat_participants %} are best suited for developers who want to build extensions that use {% data variables.product.prodname_vscode_shortname %}-specific APIs and functionality, or extend existing {% data variables.product.prodname_vscode_shortname %} extensions. -> [!NOTE] The {% data variables.product.github %} documentation focuses on building {% data variables.copilot.copilot_extensions %}, not {% data variables.copilot.copilot_extensions_vsc %}. +For more information on {% data variables.copilot.copilot_vsc_chat_participants %}, see [Chat extensions](https://code.visualstudio.com/api/extension-guides/chat) in the {% data variables.product.prodname_vscode %} documentation. -You can build a {% data variables.copilot.copilot_extension_short %} that is exclusive and native to {% data variables.product.prodname_vscode %}, called a {% data variables.copilot.copilot_extensions_vsc %}. This option is best suited for developers who want to build extensions that use {% data variables.product.prodname_vscode_shortname %}-specific APIs and functionality, or extend existing {% data variables.product.prodname_vscode_shortname %} extensions. +## Indemnity for {% data variables.copilot.copilot_extensions_short %} -Also known as {% data variables.product.prodname_vscode_shortname %} Chat extensions, {% data variables.copilot.copilot_extensions_vsc %} function similarly to {% data variables.copilot.copilot_extensions %} by extending the capabilities of {% data variables.copilot.copilot_chat_short %}, with a few notable differences: -* {% data variables.product.prodname_vscode_shortname %} Chat extensions are only usable in {% data variables.product.prodname_vscode_shortname %}. -* {% data variables.product.prodname_vscode_shortname %} Chat extensions have more access to {% data variables.product.prodname_vscode_shortname %}'s features and APIs, allowing more editor-specific interactions like accessing local workspace data, manipulating {% data variables.product.prodname_vscode %}'s interface, and read/write access to local files. -* {% data variables.product.prodname_vscode_shortname %} Chat extensions are published to the {% data variables.product.prodname_vs_marketplace_shortname %}, not the {% data variables.product.prodname_marketplace %}. -* {% data variables.product.prodname_vscode_shortname %} Chat extensions are local to the user's machine, and cannot be controlled by an organization{% ifversion ghec %} or enterprise's{% else %}'s{% endif %} policies. +{% data variables.copilot.copilot_extensions_short %} are not covered by {% data variables.product.prodname_copilot %}’s indemnity policy. However, this exclusion applies only to issues that arise within extension chat threads. -For more information on {% data variables.copilot.copilot_extensions_vsc %}, see [Chat extensions](https://code.visualstudio.com/api/extension-guides/chat) in the {% data variables.product.prodname_vscode %} documentation. +Installing and using extensions does not affect indemnity coverage for any issues that occur while using other {% data variables.product.prodname_copilot_short %} features such as code completion and chat. ## Further reading diff --git a/content/copilot/concepts/build-copilot-extensions/agents-for-copilot-extensions.md b/content/copilot/concepts/copilot-extensions/agents-for-copilot-extensions.md similarity index 93% rename from content/copilot/concepts/build-copilot-extensions/agents-for-copilot-extensions.md rename to content/copilot/concepts/copilot-extensions/agents-for-copilot-extensions.md index 662f79f7e969..66d1f7cda79d 100644 --- a/content/copilot/concepts/build-copilot-extensions/agents-for-copilot-extensions.md +++ b/content/copilot/concepts/copilot-extensions/agents-for-copilot-extensions.md @@ -7,14 +7,14 @@ versions: feature: copilot-extensions topics: - Copilot -type: overview redirect_from: - /copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents + - /copilot/concepts/build-copilot-extensions/agents-for-copilot-extensions --- {% data variables.copilot.copilot_agents_short %} are custom tools embedded in {% data variables.copilot.copilot_extensions_short %}. They integrate with {% data variables.copilot.copilot_chat_short %} to provide additional functionalities tailored to specific needs. {% data variables.copilot.copilot_agents_short %} can perform various tasks such as querying documentation, retrieving data, executing specific actions, or providing AI-assisted coding suggestions. They enhance the capabilities of {% data variables.product.prodname_copilot %} by allowing developers to build and integrate custom features directly into the {% data variables.copilot.copilot_chat_short %} interface. -To use a {% data variables.copilot.copilot_agent_short %} in {% data variables.copilot.copilot_chat_short %}, it must be associated with a {% data variables.product.prodname_github_app %}. This combination of a {% data variables.product.prodname_github_app %} and a {% data variables.copilot.copilot_agent_short %} is what we refer to as a {% data variables.copilot.copilot_extension %}. For more information on {% data variables.copilot.copilot_extensions_short %}, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions). +To use a {% data variables.copilot.copilot_agent_short %} in {% data variables.copilot.copilot_chat_short %}, it must be associated with a {% data variables.product.prodname_github_app %}. This combination of a {% data variables.product.prodname_github_app %} and a {% data variables.copilot.copilot_agent_short %} is what we refer to as a {% data variables.copilot.copilot_extension %}. For more information on {% data variables.copilot.copilot_extensions_short %}, see [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). Any {% data variables.product.company_short %} user can create a {% data variables.copilot.copilot_extension_short %} by building a {% data variables.copilot.copilot_agent_short %} and associating it with a {% data variables.product.prodname_github_app %}. For more information on creating a {% data variables.copilot.copilot_extension_short %}, see [AUTOTITLE](/copilot/building-copilot-extensions/setting-up-copilot-extensions). diff --git a/content/copilot/concepts/build-copilot-extensions/index.md b/content/copilot/concepts/copilot-extensions/index.md similarity index 70% rename from content/copilot/concepts/build-copilot-extensions/index.md rename to content/copilot/concepts/copilot-extensions/index.md index cb8e82ab6e25..0f464a6129fe 100644 --- a/content/copilot/concepts/build-copilot-extensions/index.md +++ b/content/copilot/concepts/copilot-extensions/index.md @@ -1,15 +1,16 @@ --- title: Concepts for Copilot Extensions -shortTitle: Build Copilot Extensions +shortTitle: Copilot Extensions intro: 'Understand components for building {% data variables.copilot.copilot_extensions_short %}.' versions: feature: copilot topics: - Copilot +redirect_from: + - /copilot/concepts/build-copilot-extensions children: - - /about-building-copilot-extensions + - /about-copilot-extensions - /agents-for-copilot-extensions - /skillsets-for-copilot-extensions - /openid-connect --- - diff --git a/content/copilot/concepts/build-copilot-extensions/openid-connect.md b/content/copilot/concepts/copilot-extensions/openid-connect.md similarity index 98% rename from content/copilot/concepts/build-copilot-extensions/openid-connect.md rename to content/copilot/concepts/copilot-extensions/openid-connect.md index 8a4aea8a8751..f01e11bd6aa1 100644 --- a/content/copilot/concepts/build-copilot-extensions/openid-connect.md +++ b/content/copilot/concepts/copilot-extensions/openid-connect.md @@ -1,13 +1,14 @@ --- title: OpenID Connect (OIDC) for Copilot Extensions +shortTitle: OpenID Connect +allowTitleToDifferFromFilename: true intro: 'Learn how OpenID Connect (OIDC) enables {% data variables.copilot.copilot_extensions_short %} to securely authenticate users and access cloud resources without storing long-lived credentials.' versions: feature: copilot-extensions topics: - Copilot -shortTitle: OpenID Connect -allowTitleToDifferFromFilename: true -type: overview +redirect_from: + - /copilot/concepts/build-copilot-extensions/openid-connect --- ## About OpenID Connect (OIDC) for {% data variables.copilot.copilot_extensions_short %} diff --git a/content/copilot/concepts/build-copilot-extensions/skillsets-for-copilot-extensions.md b/content/copilot/concepts/copilot-extensions/skillsets-for-copilot-extensions.md similarity index 95% rename from content/copilot/concepts/build-copilot-extensions/skillsets-for-copilot-extensions.md rename to content/copilot/concepts/copilot-extensions/skillsets-for-copilot-extensions.md index e63f793b6af3..3cf2ee611a5c 100644 --- a/content/copilot/concepts/build-copilot-extensions/skillsets-for-copilot-extensions.md +++ b/content/copilot/concepts/copilot-extensions/skillsets-for-copilot-extensions.md @@ -10,6 +10,7 @@ allowTitleToDifferFromFilename: true type: overview redirect_from: - /copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/about-copilot-skillsets + - /copilot/concepts/build-copilot-extensions/skillsets-for-copilot-extensions --- A skill within {% data variables.product.prodname_copilot %} is a tool that the model calls to perform a specific task in response to a user query. A skillset is a collection of these skills (up to five per skillset). {% data variables.copilot.copilot_skillsets %} provide a streamlined way to extend {% data variables.product.prodname_copilot_short %}’s functionality, allowing builders to integrate external services or custom API endpoints into their {% data variables.product.prodname_copilot_short %} workflow. With skillsets, builders can enable {% data variables.product.prodname_copilot_short %} to perform tasks—such as retrieving data or executing actions in third-party services—without needing to manage complex workflows or architecture. @@ -29,26 +30,26 @@ Skillsets and agents both operate on the {% data variables.copilot.copilot_exten The extensibility platform follows a structured workflow to process user requests and generate responses: -1. **User request** +1. **User request** A user issues a request in the {% data variables.copilot.copilot_chat_short %} interface, such as asking for data or executing a specific action. -1. **Routing** +1. **Routing** The request is routed to the appropriate extension. For skillsets, this means the platform agent identifies and invokes the corresponding skillset based on the user’s intent. Each skill’s inference description helps the platform determine which skill to call. -1. **Dynamic Prompt Crafting** +1. **Dynamic Prompt Crafting** {% data variables.product.prodname_copilot %} generates a prompt using: * The user’s query. * Relevant thread history. * Available functions within the skillset. * Results from any prior function calls. -1. **LLM Completion** +1. **LLM Completion** The language model (LLM) processes the prompt and determines: * Whether the user’s intent matches a skillset function. * Which function(s) to call and with what arguments. * If required, the LLM may send additional function calls to gather more context. -1. **Function Evaluation** +1. **Function Evaluation** The extension invokes the selected function(s), which may involve: * Gathering relevant context, such as {% data variables.copilot.copilot_skillsets_short %} repository or user metadata. * Making an API call to an external service to retrieve data or execute an action. diff --git a/content/copilot/concepts/index.md b/content/copilot/concepts/index.md index 03f6357d8011..ac8aa34ff67b 100644 --- a/content/copilot/concepts/index.md +++ b/content/copilot/concepts/index.md @@ -20,7 +20,7 @@ children: - /about-organizing-and-sharing-context-with-copilot-spaces - /policies - /copilot-knowledge-bases - - /build-copilot-extensions + - /copilot-extensions - /rate-limits - /network-settings-for-github-copilot --- diff --git a/content/copilot/get-started/github-copilot-features.md b/content/copilot/get-started/github-copilot-features.md index ad2826380a67..1453d37b983b 100644 --- a/content/copilot/get-started/github-copilot-features.md +++ b/content/copilot/get-started/github-copilot-features.md @@ -47,7 +47,7 @@ AI-generated text completion to help you write pull request descriptions quickly ### {% data variables.copilot.copilot_extensions %} -{% data reusables.copilot.copilot-extensions.copilot-extensions-intro %} See [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions). +{% data reusables.copilot.copilot-extensions.copilot-extensions-intro %} See [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). ### {% data variables.copilot.copilot_edits_short %} diff --git a/content/copilot/how-tos/administer/organizations/set-extension-permissions.md b/content/copilot/how-tos/administer/organizations/set-extension-permissions.md index bb5ca0ea483e..6f2a74b11933 100644 --- a/content/copilot/how-tos/administer/organizations/set-extension-permissions.md +++ b/content/copilot/how-tos/administer/organizations/set-extension-permissions.md @@ -14,7 +14,7 @@ topics: shortTitle: Set extension permissions --- -{% data variables.copilot.copilot_extensions %} integrate external tools with {% data variables.copilot.copilot_chat %}. See [AUTOTITLE](/copilot/concepts/build-copilot-extensions/about-building-copilot-extensions). +{% data variables.copilot.copilot_extensions %} integrate external tools with {% data variables.copilot.copilot_chat %}. See [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). ## Prerequisites @@ -38,4 +38,4 @@ After you have installed a {% data variables.copilot.copilot_extension_short %} * [{% data variables.product.prodname_copilot %} Trust Center](https://copilot.github.trust.page) * [AUTOTITLE](/copilot/how-tos/context/install-copilot-extensions/using-extensions-to-integrate-external-tools-with-copilot-chat) -* [AUTOTITLE](/copilot/concepts/build-copilot-extensions/about-building-copilot-extensions) +* [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions) diff --git a/content/copilot/how-tos/build-copilot-extensions/set-up-oidc.md b/content/copilot/how-tos/build-copilot-extensions/set-up-oidc.md index 0441435f0930..eb9e05e016b1 100644 --- a/content/copilot/how-tos/build-copilot-extensions/set-up-oidc.md +++ b/content/copilot/how-tos/build-copilot-extensions/set-up-oidc.md @@ -16,7 +16,7 @@ redirect_from: ## Introduction -You can set up OIDC so that {% data variables.product.prodname_copilot_short %} agents and skillsets can more securely authenticate users and access cloud resources. For more information on OIDC, see [AUTOTITLE](/copilot/concepts/build-copilot-extensions/openid-connect). +You can set up OIDC so that {% data variables.product.prodname_copilot_short %} agents and skillsets can more securely authenticate users and access cloud resources. For more information on OIDC, see [AUTOTITLE](/copilot/concepts/copilot-extensions/openid-connect). There are three steps to setting up OIDC for your extension. * [Configure your token exchange endpoint](#configure-your-token-exchange-endpoint). @@ -105,4 +105,4 @@ The following sections outline common problems and best practices for implementi ## Further reading -* [AUTOTITLE](/copilot/concepts/build-copilot-extensions/openid-connect) +* [AUTOTITLE](/copilot/concepts/copilot-extensions/openid-connect) diff --git a/content/copilot/how-tos/context/install-copilot-extensions/extending-the-capabilities-of-github-copilot-in-your-organization.md b/content/copilot/how-tos/context/install-copilot-extensions/extending-the-capabilities-of-github-copilot-in-your-organization.md index 0d3258623797..014435e5f009 100644 --- a/content/copilot/how-tos/context/install-copilot-extensions/extending-the-capabilities-of-github-copilot-in-your-organization.md +++ b/content/copilot/how-tos/context/install-copilot-extensions/extending-the-capabilities-of-github-copilot-in-your-organization.md @@ -25,7 +25,7 @@ Any organization owner can install {% data variables.copilot.copilot_extensions_ > [!NOTE] Anyone can install a {% data variables.copilot.copilot_extension_short %} on their personal account. However, if they get access to {% data variables.product.prodname_copilot_short %} through a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan, they will only be able to use the extension if it is installed at the organization level. -You can also create your own custom {% data variables.copilot.copilot_extensions_short %} for your organization. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions). +You can also create your own custom {% data variables.copilot.copilot_extensions_short %} for your organization. For more information, see [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). ## Prerequisites diff --git a/content/copilot/how-tos/context/install-copilot-extensions/extending-the-capabilities-of-github-copilot-in-your-personal-account.md b/content/copilot/how-tos/context/install-copilot-extensions/extending-the-capabilities-of-github-copilot-in-your-personal-account.md index db3301d0db52..d1ff8ff0f03a 100644 --- a/content/copilot/how-tos/context/install-copilot-extensions/extending-the-capabilities-of-github-copilot-in-your-personal-account.md +++ b/content/copilot/how-tos/context/install-copilot-extensions/extending-the-capabilities-of-github-copilot-in-your-personal-account.md @@ -22,7 +22,7 @@ Anyone can install {% data variables.copilot.copilot_extensions_short %} for the > [!NOTE] If you have access to {% data variables.product.prodname_copilot_short %} through a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan, {% data variables.copilot.copilot_extensions_short %} are installed by organization owners at the organization level, and you do not need to install the extension on your personal account. To start using {% data variables.copilot.copilot_extensions_short %} installed in your organization, see [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/using-github-copilot-extensions). -You can also create your own custom {% data variables.copilot.copilot_extensions_short %} for your personal account. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions). +You can also create your own custom {% data variables.copilot.copilot_extensions_short %} for your personal account. For more information, see [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). ## Installing {% data variables.copilot.copilot_extensions %} for your personal account diff --git a/content/copilot/how-tos/context/install-copilot-extensions/using-extensions-to-integrate-external-tools-with-copilot-chat.md b/content/copilot/how-tos/context/install-copilot-extensions/using-extensions-to-integrate-external-tools-with-copilot-chat.md index 97883847989c..39723e58961a 100644 --- a/content/copilot/how-tos/context/install-copilot-extensions/using-extensions-to-integrate-external-tools-with-copilot-chat.md +++ b/content/copilot/how-tos/context/install-copilot-extensions/using-extensions-to-integrate-external-tools-with-copilot-chat.md @@ -22,7 +22,7 @@ redirect_from: > [!NOTE] {% data variables.copilot.copilot_extensions %} are not the same as _the {% data variables.product.prodname_copilot %} extension_, which you install in your IDE to use default {% data variables.product.prodname_copilot_short %} functionality like code completion and {% data variables.copilot.copilot_chat %}. For more information on _the {% data variables.product.prodname_copilot %} extension_, see [AUTOTITLE](/copilot/managing-copilot/configure-personal-settings/installing-the-github-copilot-extension-in-your-environment). You can get started with {% data variables.copilot.copilot_extensions_short %} in one of two ways: -* Build your own {% data variables.copilot.copilot_extension_short %}. See [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions). +* Build your own {% data variables.copilot.copilot_extension_short %}. See [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). * Install a {% data variables.copilot.copilot_extension_short %} from {% data variables.product.prodname_marketplace %}. You can interact with your custom-built or installed extension in a {% data variables.copilot.copilot_chat_short %} conversation, asking questions and performing actions that combine the capabilities of the external tool and {% data variables.product.prodname_dotcom %}. For example, if you install the Sentry extension for {% data variables.product.prodname_copilot %}, you can use the extension to get information about Sentry issues, then create and assign related tracking issues on {% data variables.product.prodname_dotcom %}. @@ -79,10 +79,10 @@ For questions and issues related to {% data variables.copilot.copilot_extensions * **Requests or feedback for {% data variables.product.github %}:** Use the [{% data variables.product.github %} Community Discussion Thread](https://gh.io/community-feedback). * **Requests or feedback for third-party extension publishers:** File an issue in the [User Feedback Repo](https://github.com/copilot-extensions/user-feedback) and add a label with the extension's slug name. * **{% data variables.product.github %} Technology Partners:** Email the partnerships team directly for assistance. -* **{% data variables.copilot.copilot_extensions_vsc %}:** For more information on this type of {% data variables.copilot.copilot_extension_short %}, see [Chat extensions](https://code.visualstudio.com/api/extension-guides/chat) in the {% data variables.product.prodname_vscode %} documentation. +* **{% data variables.copilot.copilot_vsc_chat_participants %}:** For more information on this type of {% data variables.copilot.copilot_extension_short %}, see [Chat extensions](https://code.visualstudio.com/api/extension-guides/chat) in the {% data variables.product.prodname_vscode %} documentation. -> [!NOTE] {% data variables.contact.github_support %} is not able to answer questions regarding {% data variables.copilot.copilot_extensions_vsc %}, as this implementation path is owned and maintained by the {% data variables.product.prodname_vscode_shortname %} team. +> [!NOTE] {% data variables.contact.github_support %} is not able to answer questions regarding {% data variables.copilot.copilot_vsc_chat_participants %}, as this implementation path is owned and maintained by the {% data variables.product.prodname_vscode_shortname %} team. ## Further reading -* [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions) +* [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions) diff --git a/content/copilot/reference/copilot-extensions/copilot-extensions-glossary.md b/content/copilot/reference/copilot-extensions-glossary.md similarity index 83% rename from content/copilot/reference/copilot-extensions/copilot-extensions-glossary.md rename to content/copilot/reference/copilot-extensions-glossary.md index 509ee822a0ca..ff48163cc4d3 100644 --- a/content/copilot/reference/copilot-extensions/copilot-extensions-glossary.md +++ b/content/copilot/reference/copilot-extensions-glossary.md @@ -1,14 +1,15 @@ --- -title: Copilot Extensions Glossary +title: Copilot Extensions glossary +shortTitle: Extensions glossary +allowTitleToDifferFromFilename: true intro: 'Understand the terminology used in {% data variables.copilot.copilot_extensions_short %}.' versions: feature: copilot-extensions topics: - Copilot -shortTitle: Extensions Glossary -type: reference redirect_from: - /copilot/building-copilot-extensions/copilot-extensions-glossary + - /copilot/reference/copilot-extensions/copilot-extensions-glossary --- The following terms are used in the context of {% data variables.copilot.copilot_extensions_short %}, and are defined here for clarity. @@ -17,7 +18,7 @@ The following terms are used in the context of {% data variables.copilot.copilot A type of {% data variables.copilot.copilot_extension_short %} implementation that gives developers full control over handling user queries and response generation. This approach is ideal for builders who want complete customization and management of AI interactions. -#### Context Passing +#### Context passing A capability in {% data variables.copilot.copilot_extensions_short %} that enables user context from editors to be sent to agents, allowing for more tailored responses. @@ -29,13 +30,13 @@ The conversational interface within {% data variables.product.prodname_copilot % A {% data variables.product.prodname_github_app %} with additional access to the {% data variables.copilot.copilot_chat_short %} window and Copilot API, allowing for extended functionality in {% data variables.product.company_short %}'s {% data variables.copilot.copilot_chat_short %}. This is how we will refer to extensions from the perspective of an extension user. -#### {% data variables.product.prodname_copilot_short %} Extensibility Platform +#### {% data variables.product.prodname_copilot_short %} extensibility platform The system that handles authentication and proxies requests between clients and agent plugins. -#### {% data variables.copilot.copilot_extension_vsc %} +#### {% data variables.copilot.copilot_vsc_chat_participant %} -Also known as {% data variables.product.prodname_vscode %} Chat extensions, {% data variables.copilot.copilot_extensions_vsc %} are built as a {% data variables.product.prodname_vscode %} extension rather than a {% data variables.product.prodname_github_app %}. These extensions are exclusive to {% data variables.product.prodname_vscode_shortname %} and can be downloaded from the {% data variables.product.prodname_vscode_shortname %} Marketplace. +Also known as {% data variables.product.prodname_vscode %} Chat extensions, {% data variables.copilot.copilot_vsc_chat_participants %} are built as a {% data variables.product.prodname_vscode %} extension rather than a {% data variables.product.prodname_github_app %}. These extensions are exclusive to {% data variables.product.prodname_vscode_shortname %} and can be downloaded from the {% data variables.product.prodname_vscode_shortname %} Marketplace. #### {% data variables.product.prodname_github_app %} @@ -45,15 +46,15 @@ The foundation for a {% data variables.copilot.copilot_extension_short %} that p The platform where {% data variables.product.company_short %} approved {% data variables.copilot.copilot_extensions %} can be listed publicly and discovered by users. -#### Listed/Published Extension +#### Listed/published extension An extension that appears on the {% data variables.product.prodname_marketplace %}. These extensions must be reviewed and approved by {% data variables.product.company_short %}. -#### Private Extension +#### Private extension An extension that is only visible and usable by the enterprise, organization, or individual user that created it. Enterprise-created extensions can be installed by organizations that are within the enterprise. -#### Public Extension +#### Public extension An extension that is visible and installable by any {% data variables.product.company_short %} user or organization. @@ -65,14 +66,14 @@ A piece of code that retrieves context or executes an action in response to a us A type of {% data variables.copilot.copilot_extension_short %} implementation that gives developers the ability to connect external services and custom API endpoints to {% data variables.product.prodname_copilot_short %} with minimal complexity. The {% data variables.copilot.copilot_extensibility_platform_short %} handles prompt crafting, function evaluation, and response generation. The builder only needs to handle API skill definitions. This approach is ideal for builders who want minimal complexity. -#### Tool/Function Calling +#### Tool/function calling A capability of {% data variables.product.prodname_copilot_short %}'s LLM (as well as Open AI’s) that allows them to invoke specific tools or functions. Extension builders can define available tools with parameters, enabling the LLM to select and call appropriate tools to fulfill a user’s request. “Functions” are a subset of “tools” and the “function calling” term will be {% data variables.release-phases.closing_down %}. -#### Unlisted Extension +#### Unlisted extension An extension that is not published on the {% data variables.product.prodname_marketplace %}. Builders may develop and distribute public unlisted extensions without requiring review or approval from {% data variables.product.company_short %}. {% data variables.product.company_short %} does not guarantee the security or quality of unlisted extensions. -#### Verified Creator +#### Verified creator A status required for organizations to publish extensions on the {% data variables.product.prodname_marketplace %}. diff --git a/content/copilot/reference/copilot-extensions/copilot-extensions-faq.md b/content/copilot/reference/copilot-extensions/copilot-extensions-faq.md deleted file mode 100644 index fc51f7523297..000000000000 --- a/content/copilot/reference/copilot-extensions/copilot-extensions-faq.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: Copilot Extensions FAQ -intro: 'Find answers to common questions about {% data variables.copilot.copilot_extensions %}.' -versions: - feature: copilot-extensions -topics: - - Copilot -shortTitle: Extensions FAQ -type: reference -redirect_from: - - /copilot/building-copilot-extensions/copilot-extensions-faq ---- - -## General - -This section answers common questions about {% data variables.copilot.copilot_extensions %}. - -* [What is the difference between a {% data variables.copilot.copilot_extension %} and a {% data variables.product.prodname_vscode %} chat participant?](#what-is-the-difference-between-a-github-copilot-extension-and-a-visual-studio-code-chat-participant) -* [Is indemnity provided for {% data variables.copilot.copilot_extensions_short %}?](#is-indemnity-provided-for-copilot-extensions) - -### What is the difference between a {% data variables.copilot.copilot_extension %} and a {% data variables.product.prodname_vscode %} chat participant? - -{% data variables.copilot.copilot_extensions %} and {% data variables.product.prodname_vscode %} chat participants use the same backend platform to route requests to extensions. Both provide similar end-user experiences, integrate with {% data variables.copilot.copilot_chat_short %}, and can leverage the {% data variables.product.prodname_copilot_short %} API or other LLMs. - -While they share similarities, below are several key differences: -* {% data variables.copilot.copilot_extensions %} and {% data variables.product.prodname_vscode %} chat participants are accessed through different marketplaces. -* {% data variables.copilot.copilot_extensions %} are server-side extensions, requiring server infrastructure to build. These extensions provide a built-in connection to your {% data variables.product.github %} workspaces, as set by your organization admin. -* {% data variables.product.prodname_vscode %} chat participants are client-side extensions that have read and write access to your local files. They do not require server infrastructure. -* {% data variables.copilot.copilot_extensions %} can be used in any editor where extensions are supported, while {% data variables.product.prodname_vscode %} Chat Participants are only available in {% data variables.product.prodname_vscode %}. - -For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions). - -### Is indemnity provided for {% data variables.copilot.copilot_extensions_short %}? - -No, {% data variables.copilot.copilot_extensions_short %} are not covered by {% data variables.product.prodname_copilot %}’s indemnity policy. However, this exclusion applies only to issues that arise within extension chat threads. - -Installing and using extensions does not affect indemnity coverage for any issues that occur while using other {% data variables.product.prodname_copilot_short %} features such as code completion and chat. - -## Data and Permissions - -This section explains what data is collected and shared when using {% data variables.copilot.copilot_extensions_short %}. - -* [What data is being collected and shared with {% data variables.copilot.copilot_extensions_short %}?](#what-data-is-being-collected-and-shared-with-copilot-extensions) -* [What permissions are required for {% data variables.copilot.copilot_extensions_short %}?](#what-permissions-are-required-for-copilot-extensions) -* [Who can provide permissions for {% data variables.copilot.copilot_extensions_short %} to access organization resources?](#who-can-provide-permissions-for-copilot-extensions-to-access-organization-resources) -* [Can a user use {% data variables.copilot.copilot_extensions_short %} that the organization has not provided permissions for?](#can-a-user-use-copilot-extensions-that-the-organization-has-not-provided-permissions-for) - -### What data is being collected and shared with {% data variables.copilot.copilot_extensions_short %}? - -The following data is shared when interacting with {% data variables.copilot.copilot_extensions_short %}: -* Data attached to your account and {% data variables.copilot.copilot_chat_short %} usage, such as {% data variables.product.github %} user ID, and timestamps of messages. -* Past messages within the chat thread where you are invoking an extension. Only one extension can be used per thread, preventing data sharing across extensions. The data retention period for thread context is 30 days. -* Any additional organization and repository data that is authorized for the extension by your organization admin. Admins installing extensions must approve access to the required permissions prior to completing installation. -* For {% data variables.copilot.copilot_chat_dotcom_short %}, if your admin has approved the extension to access repository or organization metadata , that data will be shared as well. - -### What permissions are required for {% data variables.copilot.copilot_extensions_short %}? - -{% data reusables.copilot.copilot-extensions.about-extensions-permissions %} - -### Who can provide permissions for {% data variables.copilot.copilot_extensions_short %} to access organization resources? - -Only organization admins can grant permissions for {% data variables.copilot.copilot_extensions_short %} to access organization resources. -Organization members may encounter cases where an extension cannot access a repository or query context. This typically happens because the organization admin has not yet provided permissions or authorized the extension. See [Granting permissions to access organization resources](/copilot/building-copilot-extensions/about-building-copilot-extensions#granting-permissions-to-access-organization-resources). - -### Can a user use {% data variables.copilot.copilot_extensions_short %} that the organization has not provided permissions for? - -Yes, any user can install and use {% data variables.copilot.copilot_extensions_short %}. However, to query organization resources and repositories, an extension must be installed and authorized by an organization admin. See [Granting permissions to access organization resources](/copilot/building-copilot-extensions/about-building-copilot-extensions#granting-permissions-to-access-organization-resources). - -Users should contact their organization admin to request installation and authorization. Company context cannot be accessed without admin permissions. - -## Policies - -This section covers administrative policies for {% data variables.copilot.copilot_extensions_short %} - -* [How do I control which {% data variables.copilot.copilot_extensions_short %} can be used in my enterprise?](#how-do-i-control-which-copilot-extensions-can-be-used-in-my-enterprise) -* [Is there an allowlist/blocklist at the enterprise level?](#is-there-an-allowlistblocklist-at-the-enterprise-level) -* [As a member of an organization, how can I get access to {% data variables.copilot.copilot_extensions_short %}?](#as-a-member-of-an-organization-how-can-i-get-access-to-copilot-extensions) - -### How do I control which {% data variables.copilot.copilot_extensions_short %} can be used in my enterprise? - -Enterprise admins can disable {% data variables.copilot.copilot_extensions_short %} across their enterprise by setting the **{% data variables.copilot.copilot_extensions_short %}** policy to "Disabled" or "No Policy". - -### Is there an allowlist/blocklist at the enterprise level? - -No, there is no allowlist or blocklist at the enterprise level. - -### As a member of an organization, how can I get access to {% data variables.copilot.copilot_extensions_short %}? - -To access {% data variables.copilot.copilot_extensions_short %} as a member of an organization, the organization that assigned you a {% data variables.product.github %} seat must enable the {% data variables.copilot.copilot_extensions_short %} policy. Additionally, the same organization must install and authorize the extension to access any organization owned repositories. - -For example, if you are a member of multiple organizations and Organization A has assigned you a {% data variables.product.github %} seat, you will only have access to extensions if Organization A has enabled the policy. If Organization B has enabled extensions but you do not have access, it is because Organization A has disabled the {% data variables.copilot.copilot_extensions_short %} policy. diff --git a/content/copilot/reference/copilot-extensions/index.md b/content/copilot/reference/copilot-extensions/index.md deleted file mode 100644 index b1c03654903f..000000000000 --- a/content/copilot/reference/copilot-extensions/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Copilot Extensions -shortTitle: Copilot Extensions -intro: 'Find information about building {% data variables.copilot.copilot_extensions %}.' -versions: - feature: copilot -topics: - - Copilot -children: - - /copilot-extensions-faq - - /copilot-extensions-glossary ---- - diff --git a/content/copilot/reference/feature-availability-enterprise.md b/content/copilot/reference/feature-availability-enterprise.md index ef9b30488de7..539698871a85 100644 --- a/content/copilot/reference/feature-availability-enterprise.md +++ b/content/copilot/reference/feature-availability-enterprise.md @@ -42,7 +42,7 @@ Feature, model, and privacy settings for users are set according to the **least | {% data variables.copilot.copilot_mobile_short %} | Least restrictive organization | [AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-chat-in-github-mobile) | | {% data variables.copilot.copilot_chat_short %} in the IDE | Least restrictive organization | [AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-chat-in-your-ide) | | {% data variables.copilot.copilot_coding_agent %} | Least restrictive organization | [AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-copilot-coding-agent-on-githubcom) | -| {% data variables.copilot.copilot_extensions_short %} | Least restrictive organization | [AUTOTITLE](/copilot/concepts/build-copilot-extensions/about-building-copilot-extensions) | +| {% data variables.copilot.copilot_extensions_short %} | Least restrictive organization | [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions) | | {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_dotcom_the_website %} | Least restrictive organization | [AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-chat-in-github) | | {% data variables.copilot.copilot_desktop_short %} | Least restrictive organization | [AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-in-github-desktop) | | {% data variables.copilot.copilot_cli_short %} | Least restrictive organization | [AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-in-the-cli) | diff --git a/content/copilot/reference/index.md b/content/copilot/reference/index.md index e1842122a9bb..1ee768d84ed5 100644 --- a/content/copilot/reference/index.md +++ b/content/copilot/reference/index.md @@ -12,6 +12,6 @@ children: - /feature-availability-enterprise - /ai-models - /proxy-server-and-firewall-settings-for-copilot - - /copilot-extensions + - /copilot-extensions-glossary - /metrics-data --- diff --git a/content/copilot/tutorials/quickstart-for-github-copilot-extensions-using-agents.md b/content/copilot/tutorials/quickstart-for-github-copilot-extensions-using-agents.md index 250c5a022866..beffa2be8b72 100644 --- a/content/copilot/tutorials/quickstart-for-github-copilot-extensions-using-agents.md +++ b/content/copilot/tutorials/quickstart-for-github-copilot-extensions-using-agents.md @@ -16,7 +16,7 @@ shortTitle: Try Extensions The [Blackbeard extension](https://github.com/copilot-extensions/blackbeard-extension) is a {% data variables.copilot.copilot_extension %} that comprises a {% data variables.product.prodname_github_app %} and a {% data variables.product.prodname_copilot_short %} agent. The agent responds to chat requests in the style of a pirate, using {% data variables.product.prodname_copilot_short %}'s large language model (LLM) API and special system prompts. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents). -This guide uses a simple agent implementation, but the process is similar for skillsets. For information about the difference between agents and skillsets, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions#about-skillsets-and-agents). +This guide uses a simple agent implementation, but the process is similar for skillsets. For information about the difference between agents and skillsets, see [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). This quickstart is designed to help you build and chat with the Blackbeard extension as quickly as possible, so you can develop and test your extension without deploying infrastructure. For production, you'll need to host the application for your agent or skillset's endpoints on a publicly accessible server. To instead learn how to create a new {% data variables.copilot.copilot_extension %}, see [AUTOTITLE](/copilot/building-copilot-extensions/setting-up-copilot-extensions). @@ -74,7 +74,7 @@ After you set up your {% data variables.product.prodname_github_app %} and Black * In the "Permissions & events" settings, grant read-only permissions to {% data variables.copilot.copilot_chat_short %}. * In the "{% data variables.product.prodname_copilot_short %}" settings, set your app type to "Agent," then fill out the remaining fields. -After you update your {% data variables.product.prodname_github_app %} settings, you can start chatting with your extension by typing `@YOUR-EXTENSION-NAME` in the {% data variables.copilot.copilot_chat_short %} window of a supported client or IDE, then sending a prompt as normal. For a list of supported clients and IDEs, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions#supported-clients-and-ides). +After you update your {% data variables.product.prodname_github_app %} settings, you can start chatting with your extension by typing `@YOUR-EXTENSION-NAME` in the {% data variables.copilot.copilot_chat_short %} window of a supported client or IDE, then sending a prompt as normal. For a list of supported clients and IDEs, see [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions#supported-clients-and-ides). > [!NOTE] Chatting with {% data variables.copilot.copilot_extensions %} in {% data variables.product.prodname_github_codespaces %} is not supported. diff --git a/data/reusables/copilot/copilot-extensions/about-extensions-permissions.md b/data/reusables/copilot/copilot-extensions/about-extensions-permissions.md deleted file mode 100644 index e508f11a3df7..000000000000 --- a/data/reusables/copilot/copilot-extensions/about-extensions-permissions.md +++ /dev/null @@ -1,7 +0,0 @@ -Permissions vary by extension, depending on the level of authorization that the extension requires in order to respond to your query. You can view the required permissions on the extension’s installation page, located after the billing information step and before the install and authorize step. - -**For developers**: At a minimum, the **{% data variables.copilot.copilot_chat_short %}** permissions must be set to "Read-only". Additional permissions may include executing write actions on other surfaces and authorizing read access to repository and organization level data in {% data variables.product.github %}. - -**For builders**: In addition to the above, you may also request local context from a user’s editor to further tailor responses. To do so, the **{% data variables.product.prodname_copilot_short %} Editor Context** permissions must be set to "Read-only". Users will be notified to provide the required authorization. - -For more information on {% data variables.product.prodname_github_app %} permissions, see [AUTOTITLE](/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app) diff --git a/data/variables/copilot.yml b/data/variables/copilot.yml index 463c5f9f2be5..cb74cfeebc1c 100644 --- a/data/variables/copilot.yml +++ b/data/variables/copilot.yml @@ -53,40 +53,40 @@ copilot_coding_agent_short_cap_c: 'Coding agent' copilot_agent_short: 'Copilot agent' ## Copilot feature variables (moved from product.yml) -copilot_chat: 'GitHub Copilot Chat' -copilot_chat_short: 'Copilot Chat' -copilot_chat_dotcom: 'GitHub Copilot Chat in GitHub' +copilot_agents_short: 'Copilot agents' +copilot_agents: 'GitHub Copilot agents' +copilot_autocomplete_pr: 'Copilot text completion' copilot_chat_dotcom_short: 'Copilot Chat in GitHub' -copilot_mobile: 'GitHub Copilot Chat in GitHub Mobile' -copilot_mobile_short: 'Copilot Chat in GitHub Mobile' -copilot_extensions: 'GitHub Copilot Extensions' +copilot_chat_dotcom: 'GitHub Copilot Chat in GitHub' +copilot_chat_short: 'Copilot Chat' +copilot_chat: 'GitHub Copilot Chat' +copilot_cli_short: 'Copilot in the CLI' +copilot_cli: 'GitHub Copilot in the CLI' +copilot_customization: 'Copilot Customization' +copilot_desktop_short: 'Copilot in GitHub Desktop' +copilot_desktop: 'GitHub Copilot in GitHub Desktop' +copilot_edits_short: 'Copilot Edits' +copilot_edits: 'GitHub Copilot Edits' +copilot_extensibility_platform_short: 'Copilot Extensibility Platform' +copilot_extensibility_platform: 'GitHub Copilot Extensibility Platform' +copilot_extension_short: 'Copilot Extension' copilot_extension: 'GitHub Copilot Extension' copilot_extensions_short: 'Copilot Extensions' -copilot_extension_short: 'Copilot Extension' -copilot_extensions_vsc: 'Copilot-enabled Visual Studio Code extensions' -copilot_extension_vsc: 'Copilot-enabled Visual Studio Code extension' -copilot_extensibility_platform: 'GitHub Copilot Extensibility Platform' -copilot_extensibility_platform_short: 'Copilot Extensibility Platform' -copilot_agents: 'GitHub Copilot agents' -copilot_agents_short: 'Copilot agents' -copilot_skillset: 'Github Copilot skillset' -copilot_skillset_short: 'Copilot skillset' -copilot_skillsets: 'Github Copilot skillsets' -copilot_skillsets_short: 'Copilot skillsets' -copilot_cli: 'GitHub Copilot in the CLI' -copilot_cli_short: 'Copilot in the CLI' +copilot_extensions: 'GitHub Copilot Extensions' copilot_for_prs: 'Copilot pull request summaries' -copilot_prs_short: 'pull request summaries' -copilot_customization: 'Copilot Customization' copilot_in_support: 'Copilot in GitHub Support' +copilot_mobile_short: 'Copilot Chat in GitHub Mobile' +copilot_mobile: 'GitHub Copilot Chat in GitHub Mobile' +copilot_prs_short: 'pull request summaries' +copilot_skillset_short: 'Copilot skillset' +copilot_skillset: 'GitHub Copilot skillset' +copilot_skillsets_short: 'Copilot skillsets' +copilot_skillsets: 'GitHub Copilot skillsets' copilot_sku_isolation: 'Copilot subscription-based network routing' -copilot_autocomplete_pr: 'Copilot text completion' -copilot_desktop: 'GitHub Copilot in GitHub Desktop' -copilot_desktop_short: 'Copilot in GitHub Desktop' -copilot_edits: 'GitHub Copilot Edits' -copilot_edits_short: 'Copilot Edits' -copilot_spaces: 'Copilot Spaces' copilot_spaces_short: 'Spaces' +copilot_spaces: 'Copilot Spaces' +copilot_vsc_chat_participant: 'Copilot-enabled VS Code chat participant' +copilot_vsc_chat_participants: 'Copilot-enabled VS Code chat participants' # Note: Copilot Autofix is branded as a Copilot feature but is billed using a Code security or GHAS license copilot_autofix: 'GitHub Copilot Autofix'