1
0
mirror of synced 2025-12-19 18:10:59 -05:00

[DO NOT MERGE] 🔥 Ignite 2025 megabranch (#58448)

Co-authored-by: Jenni C <97056108+dihydroJenoxide@users.noreply.github.com>
Co-authored-by: Anne-Marie <102995847+am-stead@users.noreply.github.com>
Co-authored-by: Steve Ward <steveward@github.com>
Co-authored-by: hubwriter <hubwriter@github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Tina Heidinger <tinaheidinger@github.com>
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
Co-authored-by: Melanie Yarbrough <11952755+myarb@users.noreply.github.com>
Co-authored-by: Nhu Do <nhu-do@github.com>
Co-authored-by: Sarita Iyer <66540150+saritai@users.noreply.github.com>
Co-authored-by: Vanessa <vgrl@github.com>
Co-authored-by: Siara <108543037+SiaraMist@users.noreply.github.com>
This commit is contained in:
Felicity Chapman
2025-11-18 17:20:04 +00:00
committed by GitHub
parent 73da9cf934
commit 2bd736cd06
37 changed files with 573 additions and 165 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

View File

@@ -72,6 +72,14 @@ If your organization uses private registries, providing {% data variables.produc
{% endif %} {% endif %}
{% ifversion fpt or ghec %}
## About integrating production context
If your organization uses {% data variables.product.prodname_microsoft_defender %}, JFrog Artifactory, or CI/CD to promote artifacts to production, you can integrate this data into {% data variables.product.github %}. This production context helps you prioritize {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_dependabot %} alerts. For more information, see [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code).
{% endif %}
## Next steps ## Next steps
{% ifversion security-configurations-cloud %} {% ifversion security-configurations-cloud %}

View File

@@ -1,11 +1,12 @@
--- ---
title: About your exposure to vulnerable dependencies title: About exposure to vulnerabilities in your code and in dependencies
shortTitle: Dependency vulnerability exposure shortTitle: Vulnerability exposure
intro: 'Understanding your organizations exposure to vulnerable dependencies is essential for identifying and prioritizing security risks. Leveraging {% data variables.product.prodname_dependabot %} metrics on {% data variables.product.github %} enables you to efficiently assess, prioritize, and remediate vulnerabilities, reducing the likelihood of security breaches.' intro: 'Understanding your organizations exposure to vulnerabilities in first-party code and in all dependencies is essential for enabling you to efficiently assess, prioritize, and remediate vulnerabilities, reducing the likelihood of security breaches.'
allowTitleToDifferFromFilename: true allowTitleToDifferFromFilename: true
product: '{% data reusables.gated-features.ghas-billing %}' product: '{% data reusables.gated-features.ghas-billing %}'
versions: versions:
feature: dependabot-metrics feature: dependabot-metrics
contentType: concepts
topics: topics:
- Code Security - Code Security
- Secret Protection - Secret Protection
@@ -15,29 +16,33 @@ redirect_from:
- /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilites/about-your-exposure-to-vulnerable-dependencies - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilites/about-your-exposure-to-vulnerable-dependencies
--- ---
## About exposure to vulnerable dependencies ## About exposure to vulnerable code
Assessing your exposure to vulnerable dependencies is crucial if you want to prevent: Your organization has exposure to vulnerabilities in both the code you write and maintain, and in the open-source or third-party dependencies your code uses. Assessing your exposure to vulnerable dependencies is crucial if you want to prevent:
* **Unplanned downtime and operational disruption**. Exploitation of vulnerabilities can result in application outages, degraded service quality, or cascading failures in critical systems, disrupting your business operations.
* **Increased remediation costs**. The longer vulnerable code remains unaddressed, the more difficult and expensive it becomes to fix, especially if the code is deeply integrated or if incidents occur. Early detection and remediation reduce the risk of costly incident response, emergency patching, and reputational harm.
* **Widespread propagation of risk**. Vulnerable modules and dependencies are often reused across multiple applications and services, meaning a single flaw can propagate throughout your organization, compounding the risk and impact of exploitation.
* **Supply chain compromise**. Attackers can exploit vulnerabilities in open source or third-party dependencies to inject malicious code, elevate privileges, or gain unauthorized access to your systems. Compromised dependencies can serve as indirect entry points for malicious actors, leading to wide-reaching security incidents. * **Supply chain compromise**. Attackers can exploit vulnerabilities in open source or third-party dependencies to inject malicious code, elevate privileges, or gain unauthorized access to your systems. Compromised dependencies can serve as indirect entry points for malicious actors, leading to wide-reaching security incidents.
* **Widespread propagation of risk**. Vulnerable dependencies are often reused across multiple applications and services, meaning a single flaw can propagate throughout your organization, compounding the risk and impact of exploitation.
* **Unplanned downtime and operational disruption**. Exploitation of dependency vulnerabilities can result in application outages, degraded service quality, or cascading failures in critical systems, disrupting your business operations.
* **Regulatory and licensing issues**. Many regulations and industry standards require organizations to proactively address known vulnerabilities in their software supply chain. Failing to remediate vulnerable dependencies can result in non-compliance, audits, legal penalties, or breaches of open source license obligations. * **Regulatory and licensing issues**. Many regulations and industry standards require organizations to proactively address known vulnerabilities in their software supply chain. Failing to remediate vulnerable dependencies can result in non-compliance, audits, legal penalties, or breaches of open source license obligations.
* **Increased remediation costs**. The longer vulnerable dependencies remain unaddressed, the more difficult and expensive they become to fix, especially if they are deeply integrated or if incidents occur. Early detection and remediation reduce the risk of costly incident response, emergency patching, and reputational harm. Regularly assessing your exposure to vulnerabilities is good practice to help identify risks early, implement effective remediation strategies, and maintain resilient, trustworthy software.
Regularly assessing your exposure to dependency vulnerabilities is good practice to help identify risks early, implement effective remediation strategies, and maintain resilient, trustworthy software. ## Ways to monitor your repositories for vulnerable code
{% data variables.product.prodname_dependabot %} automatically monitors your projects dependencies for vulnerabilities and outdated packages. When it detects a security issue or a new version, it creates pull requests to update the affected dependencies, helping you quickly address security risks and keep your software up to date. This reduces manual effort and helps ensure your project remains secure. See [AUTOTITLE](/code-security/getting-started/dependabot-quickstart-guide). * **{% data variables.product.prodname_code_scanning_caps %}** automatically monitors your project's code for vulnerabilities. When it detects a security issue in a pull request, it creates an alert with an autofix suggestion to resolve the vulnerability. This lowers the barrier to resolution and helps ensure your project remains secure. See [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning).
* **{% data variables.product.prodname_dependabot %}** automatically monitors your projects dependencies for vulnerabilities and outdated packages. When it detects a security issue or a new version, it creates pull requests to update the affected dependencies, helping you quickly address security risks and keep your software up to date. This reduces manual effort and helps ensure your project remains secure. See [AUTOTITLE](/code-security/getting-started/dependabot-quickstart-guide).
{% data variables.product.github %} provides a comprehensive set of {% data variables.product.prodname_dependabot %} metrics to help you monitor, prioritize, and remediate these risks across all repositories in your organization. See [AUTOTITLE](/code-security/security-overview/viewing-metrics-for-dependabot-alerts). {% data variables.product.github %} provides a comprehensive set of {% data variables.product.prodname_dependabot %} metrics to help you monitor, prioritize, and remediate these risks across all repositories in your organization. See [AUTOTITLE](/code-security/security-overview/viewing-metrics-for-dependabot-alerts).
## Key tasks for AppSec managers ## Key tasks for AppSec managers
### 1. Monitor vulnerability metrics ### 1. Monitor vulnerability metrics for dependencies
Use the metrics overview for {% data variables.product.prodname_dependabot %} to gain visibility into the current state of your organization's dependency vulnerabilities. See [AUTOTITLE](/code-security/security-overview/viewing-metrics-for-dependabot-alerts). Use the metrics overview for {% data variables.product.prodname_dependabot %} to gain visibility into the current state of your organization's dependency vulnerabilities. See [AUTOTITLE](/code-security/security-overview/viewing-metrics-for-dependabot-alerts).
@@ -45,27 +50,38 @@ Use the metrics overview for {% data variables.product.prodname_dependabot %} to
* **Repository-level breakdown:** Identify which repositories have the highest number of critical or exploitable vulnerabilities. * **Repository-level breakdown:** Identify which repositories have the highest number of critical or exploitable vulnerabilities.
* **Remediation tracking:** Track the number and percentage of alerts fixed over time to measure the effectiveness of your vulnerability management program. * **Remediation tracking:** Track the number and percentage of alerts fixed over time to measure the effectiveness of your vulnerability management program.
### 2. Prioritize remediation efforts ### 2. Monitor introduction of new {% data variables.product.prodname_code_scanning %} alerts
Use the alert view for {% data variables.product.prodname_code_scanning %} to gain visibility into remediation activity in your organization's pull requests. See [AUTOTITLE](/code-security/security-overview/viewing-metrics-for-pull-request-alerts).
* **Alerts in pull requests:** Review how many alerts were detected and merged into the default branch without resolution.
* **Most prevalent rules:** Identify rules that are frequently triggered where developer education is needed.
* **Repository-level breakdown:** Identify which repositories have the highest number of alerts detected in pull requests but still merged into the default branch.
* **Remediation tracking:** Track the number and percentage of alerts fixed over time to measure the effectiveness of your vulnerability management program.
### 3. Prioritize remediation efforts
Focus on vulnerabilities that present the highest risk to your organization. Focus on vulnerabilities that present the highest risk to your organization.
* Prioritize alerts with high or critical severity, high EPSS scores, and available patches. * Prioritize alerts with high or critical severity. For {% data variables.product.prodname_dependabot_alerts %}, also prioritize high EPSS scores, and available patches.
* Use the repository breakdown to direct remediation efforts to the most at-risk projects. * Use the repository breakdown information to direct remediation efforts to the most at-risk projects.{% ifversion fpt or ghec %}
* Encourage development teams to address vulnerabilities that are actually used in deployed artifacts through repository custom properties. * Encourage development teams to address vulnerabilities that are actually used in deployed artifacts through repository custom properties and using production context. See [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code).{% endif %}
* Create security campaigns to encourage and track the remediation of high priority {% data variables.product.prodname_code_scanning %} alerts. See [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-managing-security-campaigns).
### 3. Communicate risk and progress ### 4. Communicate risk and progress
* Use the {% data variables.product.prodname_dependabot %} metrics page to communicate key risk factors and remediation progress to stakeholders. * Use the metrics pages to communicate key risk factors and remediation progress to stakeholders.
* Provide regular updates on trends, such as the reduction in open critical vulnerabilities or improvements in remediation rates. * Provide regular updates on trends, such as the reduction in open critical vulnerabilities or improvements in remediation rates.
* Highlight repositories or teams that require additional support or attention. * Highlight repositories or teams that require additional support or attention.
### 4. Establish and enforce policies ### 5. Establish and enforce policies
* Set organization-wide policies to require dependency review and {% data variables.product.prodname_dependabot_alerts %} on all repositories. See [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review) and [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts). * Set an organization-wide security configuration that enables {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} on all existing and new repositories. See [AUTOTITLE](/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale).
* Ensure that new repositories are automatically enrolled in dependency monitoring. * Enable dependency review to comment on pull requests in all repositories.
* Create an organization-wide ruleset to protect the default branch and require critical {% data variables.product.prodname_code_scanning %} alerts to be fixed before a pull request can be merged. See [AUTOTITLE](/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization).
* Work with repository administrators to enable automated security updates where possible. See [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates). * Work with repository administrators to enable automated security updates where possible. See [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates).
### 5. Assess the impact of {% data variables.product.prodname_dependabot_alerts %} ### 6. Assess the impact of alerts
* Regularly review how {% data variables.product.prodname_dependabot_alerts %} are helping to block security vulnerabilities from entering your codebase. * Regularly review how {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} alerts are helping to block security vulnerabilities from entering your codebase.
* Use historical data to demonstrate the value of proactive dependency management. * Use historical data to demonstrate the value of proactive dependency management.

View File

@@ -0,0 +1,101 @@
---
title: Prioritizing Dependabot and code scanning alerts using production context
shortTitle: Alerts in production code
intro: 'Focus remediation on real risk by targeting {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} alerts in artifacts deployed to production, using metadata from external registries like JFrog Artifactory, your own CI/CD workflows, or from {% data variables.product.prodname_microsoft_defender %}.'
versions:
fpt: '*'
ghec: '*'
contentType: tutorials
topics:
- Code Security
- Dependabot
- Code scanning
- Organizations
- Security
redirect_from:
- /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context
---
{% data reusables.security.production-context-mdc-preview %}
## Prioritizing alerts using production context
Application Security (AppSec) managers are often overwhelmed by a high volume of alerts, many of which may not represent real risk because the affected code never makes it to production. By associating production context with your alerts, you can filter and prioritize vulnerabilities that impact artifacts actually approved for production environments. This enables your team to focus remediation efforts on the vulnerabilities that matter most, reducing noise and improving your security posture.
## Associating production context with alerts
{% data variables.product.github %} enables you to provide production context for {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} alerts using the REST API:
* [Storage Record](/rest/orgs/artifact-metadata#create-artifact-metadata-storage-record)
* [Deployment Record](/rest/orgs/artifact-metadata#create-an-artifact-deployment-record)
### Storage Record API
This API allows package registries or GitOps workflows to send artifact lifecycle data to {% data variables.product.github %}. You should configure your system to call the endpoint whenever an artifact is promoted to a production-approved package repository.
{% data variables.product.github %} processes this metadata and uses it to power new alert filters, such as `artifact-registry-url` and `artifact-registry`. For more information, see [Create artifact metadata storage record](/rest/orgs/artifact-metadata#create-artifact-metadata-storage-record) in the REST API documentation.
> [!TIP]
> If you use JFrog Artifactory, you do not need to perform any custom integration. Artifactory natively integrates with the Storage Record API. You only need to enable the integration in your Artifactory settings, and Artifactory will automatically emit production promotion events to {% data variables.product.github %}. For setup instructions, see [JFrog and GitHub Integration: JFrog for {% data variables.product.github %} {% data variables.product.prodname_dependabot %}](https://jfrog.com/help/r/jfrog-and-github-integration-guide/jfrog-for-github-dependabot) in the JFrog documentation.
### Deployment Record API
This API allows systems to send deployment data for a specific artifact to {% data variables.product.github %}, such as its name, digest, environments, cluster, and deployment.
{% data variables.product.github %} processes this metadata and uses it to power new alert filters, such as `has:deployment` and `runtime-risk`. For more information, see [Create an artifact deployment record](/rest/orgs/artifact-metadata#create-an-artifact-deployment-record) in the REST API documentation.
> [!TIP]
> If you use {% data variables.product.prodname_mdc_definition %} and connect your instance to a {% data variables.product.github %} organization, {% data variables.product.prodname_mdc %} will automatically send deployment and runtime data to {% data variables.product.github %}. For more information, see [Quick Start: Connect your {% data variables.product.github %} Environment to {% data variables.product.prodname_microsoft_defender %}](https://learn.microsoft.com/en-us/azure/defender-for-cloud/quickstart-onboard-github) in the documentation for {% data variables.product.prodname_mdc %}.
## Enable and use production context for alert prioritization
### 1. Detect and report production artifact promotions and deployments
In your CI/CD or GitOps workflow, whenever an artifact is promoted to a production-approved package repository, call the Storage Record API to send the artifact's metadata to {% data variables.product.github %}. Whenever an artifact is deployed to production, call the Deployment Record API to send additional metadata for the artifact to {% data variables.product.github %}.
### 2. Use production context filters
Production context filters are made available in alert views and security campaign views under the **Security** tab.
* **{% data variables.product.prodname_dependabot_alerts %} view**: See [Viewing {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#viewing-dependabot-alerts).
* **{% data variables.product.prodname_code_scanning_caps %} alerts view**: See [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository).
* **Security campaign view**: See [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-managing-security-campaigns).
Once the alert list is displayed, use the `artifact-registry-url` or `artifact-registry` filters in organization views to focus on vulnerabilities affecting artifacts present in production.
* For your own artifact repository that is hosted at `my-registry.example.com`, you would use:
```text copy
artifact-registry-url:my-registry.example.com
```
* If you use JFrog Artifactory, you can use `artifact-registry` with no further setup in {% data variables.product.github %}:
```text copy
artifact-registry:jfrog-artifactory
```
You can also use the `has:deployment` and `runtime-risk` filters to focus on vulnerabilites that deployment metadata shows as in deployment or at risk of runtime vulnerabilities. This data is populated automatically if you have connected {% data variables.product.prodname_mdc %}. For example:
* To focus on alerts in deployed code that is exposed to the internet, you would use:
```text copy
has:deployment AND runtime-risk:internet-exposed
```
You can also combine these production context filters with other filters, such as EPSS:
```text copy
epss > 0.5 AND artifact-registry-url:my-registry.example.com
```
### 3. Remediate alerts in production code
Now you have identified the alerts that put your production code at risk of exploitation, you need to remediate them as a matter of urgency. Where possible use automation to lower the barrier to remediation.
* **{% data variables.product.prodname_dependabot_alerts %}:** Use automated pull requests for security fixes. See [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates).
* **{% data variables.product.prodname_code_scanning_caps %} alerts:** Create targeted campaigns with {% data variables.copilot.copilot_autofix_short %}. See [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-managing-security-campaigns).
## Further reading
* [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics)

View File

@@ -1,18 +1,19 @@
--- ---
title: 'Understanding your organization''s exposure to vulnerabilities' title: 'Understanding your organization''s exposure to vulnerabilities'
shortTitle: Exposure to vulnerabilities shortTitle: Exposure to vulnerabilities
intro: 'Understanding your organization''s exposure to vulnerable dependencies is crucial for identifying and prioritizing security risks. This awareness allows you to prioritize remediation efforts, reduce the likelihood of security breaches, protect sensitive data, and maintain the overall integrity and reputation of the organization.' intro: 'Understanding your organization''s exposure to vulnerable code and dependencies is crucial for identifying and prioritizing security risks. This awareness allows you to prioritize remediation efforts, reduce the likelihood of security breaches, protect sensitive data, and maintain the overall integrity and reputation of the organization.'
versions: versions:
feature: dependabot-metrics feature: dependabot-metrics
topics: topics:
- Code Security - Code Security
- Dependabot - Dependabot
- Code scanning
- Organizations - Organizations
- Security - Security
children: children:
- /about-your-exposure-to-vulnerable-dependencies - /about-your-exposure-to-vulnerable-dependencies
- /prioritizing-dependabot-alerts-using-metrics - /prioritizing-dependabot-alerts-using-metrics
- /prioritizing-dependabot-alerts-using-production-context - /alerts-in-production-code
redirect_from: redirect_from:
- /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilites - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilites
--- ---

View File

@@ -7,9 +7,11 @@ product: '{% data reusables.gated-features.security-overview-fpt-cs-only %}'
permissions: '{% data reusables.permissions.security-org-enable %}' permissions: '{% data reusables.permissions.security-org-enable %}'
versions: versions:
feature: dependabot-metrics feature: dependabot-metrics
contentType: tutorials
topics: topics:
- Code Security - Code Security
- Dependabot - Dependabot
- Code scanning
- Organizations - Organizations
- Security - Security
redirect_from: redirect_from:

View File

@@ -1,60 +0,0 @@
---
title: Prioritizing Dependabot alerts using production context
shortTitle: Dependabot production context
intro: 'You can focus remediation on real risk by prioritizing {% data variables.product.prodname_dependabot_alerts %} for artifacts actually present in production, using metadata from external registries like JFrog Artifactory or your own CI/CD workflows.'
product: '{% data reusables.gated-features.dependabot-alerts %}'
versions:
fpt: '*'
ghec: '*'
type: how_to
topics:
- Code Security
- Dependabot
- Organizations
- Security
---
> [!NOTE] Production context is in {% data variables.release-phases.public_preview %} and subject to change.
## Prioritizing {% data variables.product.prodname_dependabot_alerts %} using production context
Application Security (AppSec) managers are often overwhelmed by a high volume of {% data variables.product.prodname_dependabot_alerts %}, many of which may not represent real risk because the affected code never makes it to production. By associating production context with your alerts, you can filter and prioritize vulnerabilities that impact artifacts actually approved for production environments. This enables your team to focus remediation efforts on the vulnerabilities that matter most, reducing noise and improving your security posture.
## Associating production context with {% data variables.product.prodname_dependabot_alerts %}
{% data variables.product.github %} enables production context for your {% data variables.product.prodname_dependabot_alerts %} by providing a Storage Record API. This API allows package registries or GitOps workflows to send artifact lifecycle data to {% data variables.product.github %}. The API should be called whenever an artifact is promoted to a production-approved package repository.
{% data variables.product.github %} processes this metadata and uses it to power new alert filters, such as `artifact-registry-url` and `artifact-registry`. For more information, see [Create artifact metadata storage record](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-metadata-storage-record) in the REST API documentation.
## Steps to prioritize alerts
Follow these steps to enable and use production context for alert prioritization:
### Step 1: Detect and report production artifact promotions
In your CI/CD or GitOps workflow, whenever an artifact is promoted to a production-approved package repository, call the Storage Record API to to send the artifact's metadata to {% data variables.product.github %}. This includes information such as the artifact's registry, repository, and version. See [AUTOTITLE](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-metadata-storage-record).
If you use JFrog Artifactory, you do not need to perform any custom integration. Artifactory natively integrates with the Storage Record API. You only need to enable the integration in your Artifactory settings, and Artifactory will automatically emit production promotion events to {% data variables.product.github %}.
The `artifact-registry:jfrog-artifactory` filter will work out of the box with no further setup in {% data variables.product.github %}. For setup instructions, see [JFrog and GitHub Integration: JFrog for [{% data variables.product.github %} {% data variables.product.prodname_dependabot %}]](https://jfrog.com/help/r/jfrog-and-github-integration-guide/jfrog-for-github-dependabot) in the JFrog documentation.
### Step 2: Use production context filters
{% data reusables.dependabot.where-to-view-dependabot-alerts %}. For information about accessing this tab, see [Viewing {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#viewing-dependabot-alerts).
Once the alert list is displayed, use the `artifact-registry-url` or `artifact-registry` filters to focus on vulnerabilities affecting artifacts present in production. For example:
```text
artifact-registry-url:my-registry.example.com
artifact-registry:jfrog-artifactory
```
You can also combine these with other filters, such as EPSS.
```text
epss > 0.5 AND artifact-registry-url:my-registry.example.com
```
## Further reading
* [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics)

View File

@@ -158,6 +158,22 @@ You can also filter the "Overview" view by properties of alerts.
|`severity`| Display data only for alerts of a specific severity (`critical`, `high`, `medium`, or `low`).| |`severity`| Display data only for alerts of a specific severity (`critical`, `high`, `medium`, or `low`).|
|`third-party.rule`| Display data only for {% data variables.product.prodname_code_scanning %} identified by a specific rule for a tool developed by a third party. For example, `third-party.rule:CVE-2021-26291-maven-artifact` shows only results for the `CVE-2021-26291-maven-artifact` rule of a third-party {% data variables.product.prodname_code_scanning %} tool.| |`third-party.rule`| Display data only for {% data variables.product.prodname_code_scanning %} identified by a specific rule for a tool developed by a third party. For example, `third-party.rule:CVE-2021-26291-maven-artifact` shows only results for the `CVE-2021-26291-maven-artifact` rule of a third-party {% data variables.product.prodname_code_scanning %} tool.|
{% ifversion fpt or ghec %}
## Production context filters
{% data reusables.security.production-context-mdc-preview %}
You can filter views of {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} alerts by production context. See [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code).
| Qualifier | Description |
| -------- | -------- |
| `artifact-registry` or `artifact-registry-url` | Defines the name or location of the artifact registry used by the repository. For example: `artifact-registry:jfrog-artifactory` or `artifact-registry-url:my-registry.example.com`.<br><br>Uses metadata from the [Storage Record API](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-metadata-storage-record). |
| `has: deployment` | Limits alerts to those reported as in deployment.<br><br>Uses metadata from the [Deployment Record API](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-deployment-record). |
| `runtime-risk` | Limits alerts to those reported as presenting a specific type of runtime risk. For example: `runtime-risk:internet-exposed`<br><br>Uses metadata from the [Deployment Record API](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-deployment-record). |
{% endif %}
## {% data variables.product.prodname_dependabot %} alert view filters ## {% data variables.product.prodname_dependabot %} alert view filters
You can filter the view to show {% data variables.product.prodname_dependabot_alerts %} that are ready to fix or where additional information about exposure is available. You can click any result to see full details of the alert. You can filter the view to show {% data variables.product.prodname_dependabot_alerts %} that are ready to fix or where additional information about exposure is available. You can click any result to see full details of the alert.

View File

@@ -13,7 +13,7 @@ topics:
{% data variables.copilot.custom_agents_caps_short %} are specialized versions of {% data variables.copilot.copilot_coding_agent %} that you can tailor to your unique workflows, coding conventions, and use cases. Instead of repeatedly providing the same instructions and context, {% data variables.copilot.custom_agents_short %} allow you to define specialized agents that act like tailored teammates—following standards, using the right tools, and implementing team-specific practices. {% data variables.copilot.custom_agents_caps_short %} are specialized versions of {% data variables.copilot.copilot_coding_agent %} that you can tailor to your unique workflows, coding conventions, and use cases. Instead of repeatedly providing the same instructions and context, {% data variables.copilot.custom_agents_short %} allow you to define specialized agents that act like tailored teammates—following standards, using the right tools, and implementing team-specific practices.
{% data variables.copilot.custom_agents_caps_short %} are defined using Markdown files, called {% data variables.copilot.agent_profiles %}, that specify prompts, tools, and MCP servers. This allows individuals and teams to encode their conventions, frameworks, and desired outcomes directly into {% data variables.product.prodname_copilot_short %}. The {% data variables.copilot.agent_profile %} serves as the artifact that defines the custom agent's behavior, and assigning the agent to a task or issue instantiates the {% data variables.copilot.copilot_custom_agent_short %}. {% data variables.copilot.custom_agents_caps_short %} are defined using Markdown files, called {% data variables.copilot.agent_profiles %}, that specify prompts, tools, and MCP servers. This allows individuals and teams to encode their conventions, frameworks, and desired outcomes directly into {% data variables.product.prodname_copilot_short %}. The {% data variables.copilot.agent_profile %} serves as the artifact that defines the {% data variables.copilot.copilot_custom_agent_short %}'s behavior, and assigning the agent to a task or issue instantiates the {% data variables.copilot.copilot_custom_agent_short %}.
## {% data variables.copilot.agent_profile_caps %} format ## {% data variables.copilot.agent_profile_caps %} format
@@ -53,9 +53,13 @@ You can define {% data variables.copilot.agent_profiles %} at the repository lev
## Where you can use {% data variables.copilot.custom_agents_short %} ## Where you can use {% data variables.copilot.custom_agents_short %}
Once created, your {% data variables.copilot.custom_agents_short %} are available wherever you can use {% data variables.copilot.copilot_coding_agent %}, including {% data variables.product.prodname_dotcom_the_website %} (the agents tab and panel, issue assignment, pull requests), the {% data variables.copilot.copilot_cli %}, and {% data variables.product.prodname_vscode %}. Each interaction maintains consistency based on the agent's defined profile, ensuring targeted support tailored to your specific needs. {% data reusables.copilot.custom-agents-ide-preview %}
{% data variables.copilot.agent_profiles_caps %} can be used directly in {% data variables.product.prodname_vscode %}, though some properties may function differently or be ignored between the {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_vscode_shortname %} environments. See [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents?utm_source=docs-signup-custom-agents&utm_medium=docs&utm_campaign=universe25post) in the {% data variables.product.prodname_vscode_shortname %} documentation. Once created, your {% data variables.copilot.custom_agents_short %} are available wherever you can use {% data variables.copilot.copilot_coding_agent %}, including {% data variables.product.prodname_dotcom_the_website %} (the agents tab and panel, issue assignment, pull requests), the {% data variables.copilot.copilot_cli %}, and in {% data variables.product.prodname_vscode %}, JetBrains IDEs, Eclipse, and Xcode.
{% data variables.copilot.agent_profiles_caps %} can be used directly in {% data variables.product.prodname_vscode %}, JetBrains IDEs, Eclipse, and Xcode, though some properties may function differently, or be ignored, between environments.
For more information on using {% data variables.copilot.custom_agents_short %} in {% data variables.product.prodname_vscode %} specifically, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents?utm_source=docs-signup-custom-agents&utm_medium=docs&utm_campaign=universe25post) in the {% data variables.product.prodname_vscode_shortname %} documentation.
## Next steps ## Next steps

View File

@@ -2,8 +2,8 @@
title: 'About {% data variables.product.prodname_copilot_short %} auto model selection' title: 'About {% data variables.product.prodname_copilot_short %} auto model selection'
allowTitleToDifferFromFilename: true allowTitleToDifferFromFilename: true
shortTitle: 'Auto model selection' shortTitle: 'Auto model selection'
intro: 'Optimize {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %} without needing to select a model' intro: 'Automatically select models for {% data variables.copilot.copilot_chat_short %}.'
product: '{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is in {% data variables.release-phases.public_preview %} in {% data variables.product.prodname_vscode_shortname %} and in {% data variables.product.prodname_vs %} with all {% data variables.product.prodname_copilot %} plans.' product: '{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is in {% data variables.release-phases.public_preview %} for supported IDEs with all {% data variables.product.prodname_copilot %} plans.'
topics: topics:
- Copilot - Copilot
versions: versions:
@@ -17,15 +17,22 @@ category:
Experience less rate limiting and reduce the mental load of choosing a model by letting {% data variables.copilot.copilot_auto_model_selection %} automatically choose the best available model. Experience less rate limiting and reduce the mental load of choosing a model by letting {% data variables.copilot.copilot_auto_model_selection %} automatically choose the best available model.
In {% data variables.product.prodname_vscode_shortname %} and {% data variables.product.prodname_vs %}, {% data variables.copilot.copilot_auto_model_selection %} chooses from {% data variables.copilot.copilot_gpt_41 %}, {% data variables.copilot.copilot_gpt_5_mini %}, {% data variables.copilot.copilot_gpt_5 %}, {% data variables.copilot.copilot_claude_haiku_45 %}, and {% data variables.copilot.copilot_claude_sonnet_45 %}, based on availability and to help reduce rate limiting. Included models may change over time. {% data variables.copilot.copilot_auto_model_selection %} chooses from {% data variables.copilot.copilot_gpt_41 %}, {% data variables.copilot.copilot_gpt_5_mini %}, {% data variables.copilot.copilot_gpt_5 %}, {% data variables.copilot.copilot_claude_haiku_45 %}, and {% data variables.copilot.copilot_claude_sonnet_45 %}, based on availability and to help reduce rate limiting. Included models may change over time.
> [!NOTE] To see which model was used for each response, hover over the response in {% data variables.copilot.copilot_chat_short %}.
{% data variables.copilot.copilot_auto_model_selection %} is available in the following IDEs:
* {% data variables.product.prodname_vscode_shortname %}
* {% data variables.product.prodname_vs %}
* Eclipse
* JetBrains IDEs
* Xcode
Automatically selected models **won't** include these models: Automatically selected models **won't** include these models:
* Models with premium request multipliers greater than one. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#model-multipliers). * Models with premium request multipliers greater than one. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#model-multipliers).
* Models excluded by individual or administrator policies. See [AUTOTITLE](/copilot/how-tos/use-ai-models/configure-access-to-ai-models). * Models excluded by individual or administrator policies. See [AUTOTITLE](/copilot/how-tos/use-ai-models/configure-access-to-ai-models).
* Models not available in your plan. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#supported-ai-models-per-copilot-plan). * Models not available in your plan. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#supported-ai-models-per-copilot-plan).
To see which model was used for each response, hover over the response in {% data variables.copilot.copilot_chat_short %}.
## AI models for {% data variables.copilot.copilot_chat_short %} ## AI models for {% data variables.copilot.copilot_chat_short %}
While {% data variables.copilot.copilot_auto_model_selection_short %} is an option for {% data variables.copilot.copilot_chat_short %}, you can manually choose a different model to override this selection. {% data reusables.copilot.change-the-ai-model %} While {% data variables.copilot.copilot_auto_model_selection_short %} is an option for {% data variables.copilot.copilot_chat_short %}, you can manually choose a different model to override this selection. {% data reusables.copilot.change-the-ai-model %}

View File

@@ -9,7 +9,7 @@ defaultTool: vscode
topics: topics:
- Copilot - Copilot
contentType: concepts contentType: concepts
category: category:
- Learn about Copilot - Learn about Copilot
--- ---
@@ -73,7 +73,12 @@ category:
## About code suggestions in Xcode ## About code suggestions in Xcode
{% data variables.product.prodname_copilot %} offers inline suggestions as you type. {% data variables.product.prodname_copilot %} in Xcode provides two kinds of code suggestions:
* **Ghost text suggestions**
* {% data variables.product.prodname_copilot_short %} offers coding suggestions as you type. You can also describe something you want to do using natural language within a comment, and {% data variables.product.prodname_copilot_short %} will suggest the code to accomplish your goal.
* **{% data variables.copilot.next_edit_suggestions_caps %} ({% data variables.release-phases.public_preview %})**
* Based on the edits you are making, {% data variables.product.prodname_copilot_short %} will predict the location of the next edit you are likely to make and suggest a completion for it. Suggestions may span an entire line, or multiple lines, depending on the scope of the potential change. {% data variables.copilot.next_edit_suggestions_caps %} are enabled by default. To disable, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide?tool=xcode#enabling-next-edit-suggestions-2).
{% endxcode %} {% endxcode %}
@@ -81,7 +86,14 @@ category:
## About code suggestions in Eclipse ## About code suggestions in Eclipse
{% data variables.product.prodname_copilot %} offers inline suggestions as you type. {% data variables.product.prodname_copilot %} in Eclipse provides two kinds of code suggestions:
* **Ghost text suggestions**
* {% data variables.product.prodname_copilot_short %} offers coding suggestions as you type. You can also describe something you want to do using natural language within a comment, and {% data variables.product.prodname_copilot_short %} will suggest the code to accomplish your goal.
* **{% data variables.copilot.next_edit_suggestions_caps %} ({% data variables.release-phases.public_preview %})**
* Based on the edits you are making, {% data variables.product.prodname_copilot_short %} will predict the location of the next edit you are likely to make and suggest a completion for it. Suggestions may span a single symbol, an entire line, or multiple lines, depending on the scope of the potential change. To enable {% data variables.copilot.next_edit_suggestions %}, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide?tool=eclipse#enabling-next-edit-suggestions-3).
{% data reusables.copilot.supported-languages %}
{% endeclipse %} {% endeclipse %}

View File

@@ -23,7 +23,7 @@ category:
Autocomplete-style suggestions from {% data variables.product.prodname_copilot_short %} in supported IDEs _({% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, JetBrains IDEs, Azure Data Studio, Xcode, Vim/Neovim, and Eclipse)_. See [AUTOTITLE](/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot). Autocomplete-style suggestions from {% data variables.product.prodname_copilot_short %} in supported IDEs _({% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, JetBrains IDEs, Azure Data Studio, Xcode, Vim/Neovim, and Eclipse)_. See [AUTOTITLE](/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot).
If you use {% data variables.product.prodname_vscode_shortname %}, you can also use {% data variables.copilot.next_edit_suggestions %}, which will predict the location of the next edit you are likely to make and suggest a completion for it. If you use {% data variables.product.prodname_vscode_shortname %}, Xcode, and Eclipse, you can also use {% data variables.copilot.next_edit_suggestions %} ({% data variables.release-phases.public_preview %}), which will predict the location of the next edit you are likely to make and suggest a completion for it.
### {% data variables.copilot.copilot_chat_short %} ### {% data variables.copilot.copilot_chat_short %}

View File

@@ -20,7 +20,7 @@ shortTitle: Quickstart
topics: topics:
- Copilot - Copilot
contentType: get-started contentType: get-started
category: category:
- Configure Copilot - Configure Copilot
--- ---
@@ -195,7 +195,7 @@ The following example uses JavaScript, however other languages will work similar
{% data reusables.copilot.quickstart-nextsteps1 %} {% data reusables.copilot.quickstart-nextsteps1 %}
* **Use {% data variables.product.prodname_copilot_short %} like a pro** - Learn how to write effective prompts for {% data variables.product.prodname_copilot %}. For more information, see [Best practices for using {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/prompt-crafting) in the {% data variables.product.prodname_vscode %} documentation. * **Use {% data variables.product.prodname_copilot_short %} like a pro** - Learn how to write effective prompts for {% data variables.product.prodname_copilot %}. For more information, see [Best practices for using {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/prompt-crafting) in the {% data variables.product.prodname_vscode %} documentation.
* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [About {% data variables.copilot.next_edit_suggestions %}](/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot#about-next-edit-suggestions). * **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [Navigating and accepting {% data variables.copilot.next_edit_suggestions %}](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions#navigating-and-accepting-next-edit-suggestions-1).
{% data reusables.copilot.quickstart-nextsteps2 %} {% data reusables.copilot.quickstart-nextsteps2 %}
{% endvscode %} {% endvscode %}
@@ -368,6 +368,7 @@ The following example uses Swift, however other languages will work similarly.
## Next steps ## Next steps
{% data reusables.copilot.quickstart-nextsteps1 %} {% data reusables.copilot.quickstart-nextsteps1 %}
* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [Navigating and accepting {% data variables.copilot.next_edit_suggestions %}](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions?tool=xcode#navigating-and-accepting-next-edit-suggestions-2).
{% data reusables.copilot.quickstart-nextsteps2 %} {% data reusables.copilot.quickstart-nextsteps2 %}
{% endxcode %} {% endxcode %}
@@ -424,6 +425,7 @@ The following example uses Java, however other languages will work similarly.
## Next steps ## Next steps
{% data reusables.copilot.quickstart-nextsteps1 %} {% data reusables.copilot.quickstart-nextsteps1 %}
* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [Navigating and accepting {% data variables.copilot.next_edit_suggestions %}](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions?tool=eclipse#navigating-and-accepting-next-edit-suggestions-3).
{% data reusables.copilot.quickstart-nextsteps2 %} {% data reusables.copilot.quickstart-nextsteps2 %}
{% endeclipse %} {% endeclipse %}

View File

@@ -27,6 +27,10 @@ category:
This guide describes how to use {% data variables.copilot.copilot_chat_short %} to ask questions about software development in your IDE. You can ask general questions about software development, or specific questions about the code in your project. For more information, see [AUTOTITLE](/copilot/concepts/about-github-copilot-chat). This guide describes how to use {% data variables.copilot.copilot_chat_short %} to ask questions about software development in your IDE. You can ask general questions about software development, or specific questions about the code in your project. For more information, see [AUTOTITLE](/copilot/concepts/about-github-copilot-chat).
<!-- --------------------- -->
<!-- VS Code -->
<!-- --------------------- -->
{% vscode %} {% vscode %}
## Prerequisites ## Prerequisites
@@ -174,32 +178,42 @@ For more information, see [{% data variables.copilot.copilot_edits_short %}](htt
{% data reusables.copilot.copilot-edits.agent-mode-requests %} {% data reusables.copilot.copilot-edits.agent-mode-requests %}
### Using {% data variables.copilot.subagents_short %}
{% data reusables.copilot.subagent-intro %}
#### Enabling {% data variables.copilot.subagents_short %}
1. In the {% data variables.copilot.copilot_chat_short %} window, click the tools icon.
1. Enable the `runSubagent` tool.
If you use custom prompt files or {% data variables.copilot.custom_agents_short %}, ensure you specify the `runSubagent` tool in the `tools` frontmatter property.
#### Invoking {% data variables.copilot.subagents_short %}
{% data reusables.copilot.using-subagents %}
* **Calling the #runSubagent tool.**.
```text
Evaluate the #file:databaseSchema using #runSubagent and generate an optimized data-migration plan.
```
When the {% data variables.copilot.subagent_short %} completes its task, its results appear back in the main chat session, ready for follow-up questions or next steps.
### Plan mode ### Plan mode
> [!NOTE] {% data reusables.copilot.plan-agent-intro %}
> Plan mode in {% data variables.product.prodname_vscode_shortname %} is currently in {% data variables.release-phases.public_preview %} and subject to change.
Plan mode helps you to create detailed implementation plans before executing them. This ensures that all requirements are considered and addressed before any code changes are made. The plan agent does not make any code changes until the plan is reviewed and approved by you. Once approved, you can hand off the plan to the default agent or save it for further refinement, review, or team discussions.
The plan agent is designed to:
* Research the task comprehensively using read-only tools and codebase analysis to identify requirements and constraints.
* Break down the task into manageable, actionable steps and include open questions about ambiguous requirements.
* Present a concise plan draft, based on a standardized plan format, for user review and iteration.
#### Using plan mode #### Using plan mode
1. If the chat view is not already displayed, select **Open Chat** from the {% data variables.copilot.copilot_chat_short %} menu. 1. If the chat view is not already displayed, select **Open Chat** from the {% data variables.copilot.copilot_chat_short %} menu.
1. At the bottom of the chat view, select **Plan** from the agents dropdown. 1. At the bottom of the chat view, select **Plan** from the agents dropdown.
1. Enter a task for which you want to create a plan, then press <kbd>Enter</kbd>. 1. Type a prompt that describes a task, such as adding a feature to an existing application, refactoring code, fixing a bug, or creating an initial version of a new application.
The plan agent provides a high-level summary and a breakdown of steps, including any open questions for clarification. For example: `Create a simple to-do web app with HTML, CSS, and JS files.`
1. Review the plan and answer any questions the agent has asked. After a few moments, the plan agent outputs a plan in the chat view. The plan provides a high-level summary and a breakdown of steps, including any open questions for clarification.
You can iterate multiple times to clarify requirements, adjust scope, or answer questions. {% data reusables.copilot.plan-agent-steps %}
1. Once the plan is finalized, choose to save it or hand it off to an implementation agent to start coding, by using the corresponding controls.
For more information, see [Planning in VS Code chat](https://code.visualstudio.com/docs/copilot/chat/chat-planning) in the {% data variables.product.prodname_vscode %} documentation. For more information, see [Planning in VS Code chat](https://code.visualstudio.com/docs/copilot/chat/chat-planning) in the {% data variables.product.prodname_vscode %} documentation.
@@ -239,6 +253,10 @@ To leave feedback about the {% data variables.copilot.copilot_chat %} extension,
{% endvscode %} {% endvscode %}
<!-- --------------------- -->
<!-- Visual Studio -->
<!-- --------------------- -->
{% visualstudio %} {% visualstudio %}
## Prerequisites ## Prerequisites
@@ -386,6 +404,10 @@ To share feedback about {% data variables.copilot.copilot_chat_short %}, you can
{% endvisualstudio %} {% endvisualstudio %}
<!-- --------------------- -->
<!-- JetBrains -->
<!-- --------------------- -->
{% jetbrains %} {% jetbrains %}
## Prerequisites ## Prerequisites
@@ -414,19 +436,9 @@ You can ask {% data variables.copilot.copilot_chat_short %} to give you code sug
To see the files that {% data variables.copilot.copilot_chat_short %} used to generate the response, click the **References** link below the response. The references may include a link to a custom instructions file for your repository. This file contains additional information that is automatically added to all of your chat questions to improve the quality of the responses. For more information, see [AUTOTITLE](/copilot/how-tos/custom-instructions/adding-repository-custom-instructions-for-github-copilot). To see the files that {% data variables.copilot.copilot_chat_short %} used to generate the response, click the **References** link below the response. The references may include a link to a custom instructions file for your repository. This file contains additional information that is automatically added to all of your chat questions to improve the quality of the responses. For more information, see [AUTOTITLE](/copilot/how-tos/custom-instructions/adding-repository-custom-instructions-for-github-copilot).
## Using keywords in your prompt ## Supplementing your prompt
You can use special keywords to help {% data variables.product.prodname_copilot_short %} understand your prompt. You can use slash commands and file references to help {% data variables.product.prodname_copilot_short %} understand your what you are asking it to do.
### Chat participants
Chat participants are like domain experts who have a specialty that they can help you with. You can use a chat participant to scope your prompt to a specific domain. To do this, type `@` in the chat prompt box, followed by a chat participant name.
For a list of available chat participants, type `@` in the chat prompt box. See also [AUTOTITLE](/copilot/using-github-copilot/github-copilot-chat-cheat-sheet?tool=jetbrains#chat-participants-1).
### Extending {% data variables.copilot.copilot_chat_short %}
{% data reusables.copilot.copilot-extensions.extending-copilot-chat %}
### Slash commands ### Slash commands
@@ -488,6 +500,43 @@ Use {% data variables.copilot.copilot_edits_short %} to make changes across mult
{% data reusables.copilot.copilot-edits.agent-mode-requests %} {% data reusables.copilot.copilot-edits.agent-mode-requests %}
### Using {% data variables.copilot.subagents_short %}
{% data reusables.copilot.subagent-intro %}
To use {% data variables.copilot.subagents_short %}, you **must have {% data variables.copilot.custom_agents_short %} configured in your environment**. See [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents).
#### Enabling {% data variables.copilot.subagents_short %}
To enable {% data variables.copilot.subagents_short %}:
1. Click **Tools** in the menu bar, then click **{% data variables.product.prodname_copilot %}**, then **Edit Settings**.
1. In the popup menu, click **Chat**, then click the **Enable {% data variables.copilot.subagent_caps_short %}** checkbox.
#### Invoking {% data variables.copilot.subagents_short %}
{% data reusables.copilot.using-subagents %}
When the {% data variables.copilot.subagent_short %} completes its task, its results appear back in the main chat session, ready for follow-up questions or next steps.
## Using plan mode
{% data reusables.copilot.plan-agent-intro %}
To use plan mode:
1. If it is not already displayed, open the {% data variables.copilot.copilot_chat_short %} panel by clicking the **{% data variables.copilot.copilot_chat %}** icon at the right side of the JetBrains IDE window.
1. At the bottom of the {% data variables.copilot.copilot_chat_short %} panel, select **Plan** from the agents dropdown.
1. Type a prompt that describes a task, such as adding a feature to an existing application, refactoring code, fixing a bug, or creating an initial version of a new application.
For example: `Create a simple to-do web app with HTML, CSS, and JS files.`
1. Submit the prompt.
After a few moments, the plan agent outputs a plan in the chat panel. The plan provides a high-level summary and a breakdown of steps, including any open questions for clarification.
{% data reusables.copilot.plan-agent-steps %}
## Sharing feedback ## Sharing feedback
To share feedback about {% data variables.copilot.copilot_chat_short %}, you can use the **share feedback** link in JetBrains. To share feedback about {% data variables.copilot.copilot_chat_short %}, you can use the **share feedback** link in JetBrains.
@@ -512,6 +561,10 @@ To share feedback about {% data variables.copilot.copilot_chat_short %}, you can
{% endjetbrains %} {% endjetbrains %}
<!-- --------------------- -->
<!-- XCode -->
<!-- --------------------- -->
{% xcode %} {% xcode %}
## Prerequisites ## Prerequisites
@@ -526,7 +579,7 @@ To share feedback about {% data variables.copilot.copilot_chat_short %}, you can
You can ask {% data variables.copilot.copilot_chat_short %} to give you code suggestions, explain code, generate unit tests, and suggest code fixes. You can ask {% data variables.copilot.copilot_chat_short %} to give you code suggestions, explain code, generate unit tests, and suggest code fixes.
1. To open the chat view, click **Editor** in the menu bar, then click **{% data variables.product.prodname_copilot %}** then **Open Chat**. {% data variables.copilot.copilot_chat_short %} opens in a new window. 1. To open the chat window, click **Editor** in the menu bar, then click **{% data variables.product.prodname_copilot %}** then **Open Chat**. {% data variables.copilot.copilot_chat_short %} opens in a new window.
1. Enter a prompt in the prompt box. For example prompts, see [AUTOTITLE](/copilot/get-started/getting-started-with-prompts-for-copilot-chat). 1. Enter a prompt in the prompt box. For example prompts, see [AUTOTITLE](/copilot/get-started/getting-started-with-prompts-for-copilot-chat).
@@ -554,13 +607,31 @@ Use slash commands to avoid writing complex prompts for common scenarios. To use
To see all available slash commands, type `/` in the chat prompt box. For more information, see [AUTOTITLE](/copilot/using-github-copilot/github-copilot-chat-cheat-sheet?tool=xcode#slash-commands). To see all available slash commands, type `/` in the chat prompt box. For more information, see [AUTOTITLE](/copilot/using-github-copilot/github-copilot-chat-cheat-sheet?tool=xcode#slash-commands).
## {% data variables.product.prodname_copilot_short %} agent mode ## Using plan mode
{% data reusables.copilot.plan-agent-intro %}
To use plan mode:
1. If it is not already displayed, open the {% data variables.copilot.copilot_chat_short %} window by clicking **Editor** in the menu bar, then clicking **{% data variables.product.prodname_copilot %}** then **Open Chat**.
1. At the bottom of the {% data variables.copilot.copilot_chat_short %} window, select **Plan** from the agents dropdown.
1. Type a prompt that describes a task, such as adding a feature to an existing application, refactoring code, fixing a bug, or creating an initial version of a new application.
For example: `Create a simple to-do app with Swift files.`
1. Submit the prompt.
After a few moments, the plan agent outputs a plan in the chat panel. The plan provides a high-level summary and a breakdown of steps, including any open questions for clarification.
{% data reusables.copilot.plan-agent-steps %}
## Using {% data variables.product.prodname_copilot_short %} agent mode
{% data reusables.copilot.copilot-edits.agent-mode-description %} {% data reusables.copilot.copilot-edits.agent-mode-description %}
### Using agent mode ### Using agent mode
1. To open the chat view, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}** in the menu bar, then click **Open Chat**. 1. If it is not already displayed, open the {% data variables.copilot.copilot_chat_short %} window by clicking **Editor** in the menu bar, then clicking **{% data variables.product.prodname_copilot %}** then **Open Chat**.
1. At the bottom of the chat panel, select **Agent** from the agents dropdown. 1. At the bottom of the chat panel, select **Agent** from the agents dropdown.
1. Optionally, add relevant files to the _working set_ view to indicate to {% data variables.product.prodname_copilot_short %} which files you want to work on. 1. Optionally, add relevant files to the _working set_ view to indicate to {% data variables.product.prodname_copilot_short %} which files you want to work on.
1. Submit a prompt. In response to your prompt, {% data variables.product.prodname_copilot_short %} streams the edits in the editor, updates the working set, and if necessary, suggests terminal commands to run. 1. Submit a prompt. In response to your prompt, {% data variables.product.prodname_copilot_short %} streams the edits in the editor, updates the working set, and if necessary, suggests terminal commands to run.
@@ -568,6 +639,23 @@ To see all available slash commands, type `/` in the chat prompt box. For more i
{% data reusables.copilot.copilot-edits.agent-mode-requests %} {% data reusables.copilot.copilot-edits.agent-mode-requests %}
### Using {% data variables.copilot.subagents_short %}
{% data reusables.copilot.subagent-intro %}
To use {% data variables.copilot.subagents_short %}, you **must have {% data variables.copilot.custom_agents_short %} configured in your environment**. See [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents).
#### Enabling {% data variables.copilot.subagents_short %}
1. Click **Editor** in the menu bar, then click **{% data variables.product.prodname_copilot %}** then **Open GitHub Copilot for Xcode Settings**.
1. Click **Advanced** in the chat panel, then under **Chat Settings** click the **Enable {% data variables.copilot.subagents_caps_short %}** toggle.
#### Invoking {% data variables.copilot.subagents_short %}
{% data reusables.copilot.using-subagents %}
When the {% data variables.copilot.subagent_short %} completes its task, its results appear back in the main chat session, ready for follow-up questions or next steps.
## File references ## File references
By default, {% data variables.copilot.copilot_chat_short %} will reference the file that you have open or the code that you have selected. To attach a specific file as reference, click {% octicon "paperclip" aria-label="Add attachments" %} in the chat prompt box. By default, {% data variables.copilot.copilot_chat_short %} will reference the file that you have open or the code that you have selected. To attach a specific file as reference, click {% octicon "paperclip" aria-label="Add attachments" %} in the chat prompt box.
@@ -592,6 +680,10 @@ To indicate whether a response was helpful, use {% octicon "thumbsup" aria-label
{% endxcode %} {% endxcode %}
<!-- --------------------- -->
<!-- Eclipse -->
<!-- --------------------- -->
{% eclipse %} {% eclipse %}
## Prerequisites ## Prerequisites
@@ -632,19 +724,55 @@ To see all available slash commands, type `/` in the chat prompt box.
{% data reusables.copilot.change-the-ai-model %} {% data reusables.copilot.change-the-ai-model %}
## {% data variables.product.prodname_copilot_short %} agent mode ## Using plan mode
{% data reusables.copilot.plan-agent-intro %}
To use plan mode:
1. If it is not already displayed, open the {% data variables.copilot.copilot_chat_short %} panel by clicking the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse, then clicking **Open Chat**.
1. At the bottom of the chat panel, select **Plan** from the agents dropdown.
1. Type a prompt that describes a task, such as adding a feature to an existing application, refactoring code, fixing a bug, or creating an initial version of a new application.
For example: `Create a simple to-do app using JavaFX.`
1. Submit the prompt.
After a few moments, the plan agent outputs a plan in the chat panel. The plan provides a high-level summary and a breakdown of steps, including any open questions for clarification.
{% data reusables.copilot.plan-agent-steps %}
## Using {% data variables.product.prodname_copilot_short %} agent mode
{% data reusables.copilot.copilot-edits.agent-mode-description %} {% data reusables.copilot.copilot-edits.agent-mode-description %}
### Using agent mode To use agent mode:
1. To open the {% data variables.copilot.copilot_chat_short %} panel, click the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse, then click **Open Chat**. 1. Open the {% data variables.copilot.copilot_chat_short %} panel by clicking the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse, then clicking **Open Chat**.
1. At the bottom of the chat panel, select **Agent** from the agents dropdown. 1. At the bottom of the chat panel, select **Agent** from the agents dropdown.
1. Submit a prompt. In response to your prompt, {% data variables.product.prodname_copilot_short %} streams the edits in the editor, updates the working set, and if necessary, suggests terminal commands to run. 1. Submit a prompt. In response to your prompt, {% data variables.product.prodname_copilot_short %} streams the edits in the editor, updates the working set, and if necessary, suggests terminal commands to run.
1. Review the changes. If {% data variables.product.prodname_copilot_short %} suggested terminal commands, confirm whether or not {% data variables.product.prodname_copilot_short %} can run them. In response, {% data variables.product.prodname_copilot_short %} iterates and performs additional actions to complete the task in your original prompt. 1. Review the changes. If {% data variables.product.prodname_copilot_short %} suggested terminal commands, confirm whether or not {% data variables.product.prodname_copilot_short %} can run them. In response, {% data variables.product.prodname_copilot_short %} iterates and performs additional actions to complete the task in your original prompt.
{% data reusables.copilot.copilot-edits.agent-mode-requests %} {% data reusables.copilot.copilot-edits.agent-mode-requests %}
### Using {% data variables.copilot.subagents_short %}
{% data reusables.copilot.subagent-intro %}
To use {% data variables.copilot.subagents_short %}, you **must have {% data variables.copilot.custom_agents_short %} configured in your environment**. See [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents).
#### Enabling {% data variables.copilot.subagents_short %}
1. Click the **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %}** icon in the status bar.
1. In the popup menu, click **Edit Preferences**.
1. Under **Chat**, click the **Enable sub-agent** check box
#### Invoking {% data variables.copilot.subagents_short %}
{% data reusables.copilot.using-subagents %}
When the {% data variables.copilot.subagent_short %} completes its task, its results appear back in the main chat session, ready for follow-up questions or next steps.
## Further reading ## Further reading
* [AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot) * [AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot)

View File

@@ -17,7 +17,7 @@ topics:
versions: versions:
feature: copilot feature: copilot
contentType: how-tos contentType: how-tos
category: category:
- Configure Copilot - Configure Copilot
--- ---
@@ -360,6 +360,12 @@ You can configure the {% data variables.product.prodname_copilot %} extension to
After updating the extension, Xcode must be restarted for the changes to take effect. After updating the extension, Xcode must be restarted for the changes to take effect.
## Disabling {% data variables.copilot.next_edit_suggestions %}
{% data variables.copilot.next_edit_suggestions_caps %} are enabled by default. To disable {% data variables.copilot.next_edit_suggestions %}, go to the "Advanced" tab in the {% data variables.product.prodname_copilot %} for Xcode extension settings. You can also choose to disable the option to "Accept suggestions with Tab".
{% data reusables.copilot.editor-preview-settings %}
{% data reusables.copilot.dotcom-settings %} {% data reusables.copilot.dotcom-settings %}
{% endxcode %} {% endxcode %}
@@ -387,6 +393,12 @@ If you don't want to use the default keyboard shortcuts for {% data variables.pr
For advanced settings, you can set auto-completion behavior, configure proxy, and assign a {% data variables.product.prodname_enterprise %} authentication endpoint. For advanced settings, you can set auto-completion behavior, configure proxy, and assign a {% data variables.product.prodname_enterprise %} authentication endpoint.
## Enabling {% data variables.copilot.next_edit_suggestions %}
You can enable {% data variables.copilot.next_edit_suggestions %} under "Completions" in the {% data variables.product.prodname_copilot %} extension settings in Eclipse.
{% data reusables.copilot.editor-preview-settings %}
{% data reusables.copilot.dotcom-settings %} {% data reusables.copilot.dotcom-settings %}
{% endeclipse %} {% endeclipse %}

View File

@@ -13,7 +13,7 @@ defaultTool: vscode
topics: topics:
- Copilot - Copilot
contentType: how-tos contentType: how-tos
category: category:
- Author and optimize with Copilot - Author and optimize with Copilot
--- ---
@@ -25,7 +25,7 @@ category:
</style> </style>
<div class="button-container"> <div class="button-container">
<a href="https://github.com/copilot?ref_product=copilot&ref_type=engagement&ref_style=button&ref_plan=free" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"> <a href="https://github.com/copilot?ref_product=copilot&ref_type=trial&ref_style=button&ref_plan=free&utm_source=docs-web-copilot-ide-code-suggestions&utm_medium=docs&utm_campaign=ghignite25" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline">
<span>Get started for free</span> {% octicon "link-external" height:16 aria-label="link-external" %} <span>Get started for free</span> {% octicon "link-external" height:16 aria-label="link-external" %}
</a> </a>
{% vscode %} {% vscode %}
@@ -523,6 +523,16 @@ If you encounter issues with code suggestions, such as conflicting or missing su
You can also open an issue in the [{% data variables.product.prodname_copilot_short %} for Xcode repository](https://github.com/github/CopilotForXcode). You can also open an issue in the [{% data variables.product.prodname_copilot_short %} for Xcode repository](https://github.com/github/CopilotForXcode).
## Navigating and accepting {% data variables.copilot.next_edit_suggestions %}
{% data variables.copilot.next_edit_suggestions_caps %} predicts where and what edits may be needed based on ongoing changes.
You can navigate suggested code changes using <kbd>Tab</kbd>, making it easier to find the next relevant edit without manually searching through files or references. Press <kbd>Tab</kbd> again to accept a suggestion (unless you have disabled the "Accept suggestions with Tab" setting for the {% data variables.product.prodname_copilot %} for Xcode extension).
An arrow in the gutter indicates an available edit suggestion. Hover over the arrow to access the edit suggestion menu, which provides keyboard shortcuts and settings options.
![Screenshot of the gutter menu in Xcode. The arrow is outlined in dark orange.](/assets/images/help/copilot/xcode-advanced-code-completion-menu.png)
{% endxcode %} {% endxcode %}
{% eclipse %} {% eclipse %}
@@ -579,6 +589,16 @@ If you don't want to accept an entire suggestion from {% data variables.product.
| macOS | <kbd>Command</kbd>+<kbd>&rarr;</kbd> | | macOS | <kbd>Command</kbd>+<kbd>&rarr;</kbd> |
| Windows or Linux | <kbd>Ctrl</kbd>+<kbd>&rarr;</kbd> | | Windows or Linux | <kbd>Ctrl</kbd>+<kbd>&rarr;</kbd> |
## Navigating and accepting {% data variables.copilot.next_edit_suggestions %}
{% data variables.copilot.next_edit_suggestions_caps %} predicts where and what edits may be needed based on ongoing changes.
You can navigate suggested code changes using <kbd>Tab</kbd>, making it easier to find the next relevant edit without manually searching through files or references. Press <kbd>Tab</kbd> again to accept a suggestion.
An arrow in the gutter indicates an available edit suggestion. Hover over the arrow to access the edit suggestion menu, which provides keyboard shortcuts and settings options.
![Screenshot of the gutter menu in Eclipse. The arrow is outlined in dark orange.](/assets/images/help/copilot/eclipse-advanced-code-completion-menu.png)
{% endeclipse %} {% endeclipse %}
## Next steps ## Next steps

View File

@@ -140,6 +140,8 @@ These instructions are for the JetBrains IDEs. For instructions on different cli
1. In the popup menu, click **Open {% data variables.copilot.copilot_chat %}**. 1. In the popup menu, click **Open {% data variables.copilot.copilot_chat %}**.
1. In the bottom right of the chat view, select an AI model of your choice from the **CURRENT-MODEL** {% octicon "chevron-down" aria-hidden="true" aria-label="chevron-down" %} dropdown menu, then click the AI model of your choice. 1. In the bottom right of the chat view, select an AI model of your choice from the **CURRENT-MODEL** {% octicon "chevron-down" aria-hidden="true" aria-label="chevron-down" %} dropdown menu, then click the AI model of your choice.
{% data reusables.copilot.auto-model-option %}
{% endjetbrains %} {% endjetbrains %}
{% eclipse %} {% eclipse %}
@@ -154,6 +156,8 @@ These instructions are for the Eclipse IDE. For instructions on different client
1. In the popup menu, click **Open Chat**. 1. In the popup menu, click **Open Chat**.
1. In the bottom right of the chat panel, click the currently selected AI model, then select an alternative model from the popup menu. 1. In the bottom right of the chat panel, click the currently selected AI model, then select an alternative model from the popup menu.
{% data reusables.copilot.auto-model-option %}
{% endeclipse %} {% endeclipse %}
{% xcode %} {% xcode %}
@@ -169,6 +173,8 @@ To use multi-model {% data variables.copilot.copilot_chat_short %}, you must ins
1. To open the chat view, click **Editor** in the menu bar, then click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}** then **Open Chat**. {% data variables.copilot.copilot_chat_short %} opens in a new window. 1. To open the chat view, click **Editor** in the menu bar, then click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}** then **Open Chat**. {% data variables.copilot.copilot_chat_short %} opens in a new window.
1. In the bottom right of the chat view, select the **CURRENT-MODEL** {% octicon "triangle-down" aria-hidden="true" aria-label="triangle-down" %} dropdown menu, then click the AI model of your choice. 1. In the bottom right of the chat view, select the **CURRENT-MODEL** {% octicon "triangle-down" aria-hidden="true" aria-label="triangle-down" %} dropdown menu, then click the AI model of your choice.
{% data reusables.copilot.auto-model-option %}
{% endxcode %} {% endxcode %}
## Further reading ## Further reading

View File

@@ -2,7 +2,7 @@
title: Asking GitHub Copilot to create a pull request title: Asking GitHub Copilot to create a pull request
shortTitle: Create a PR shortTitle: Create a PR
intro: 'You can ask {% data variables.product.prodname_copilot_short %} to create a pull request from many places, including {% data variables.product.prodname_github_issues %}, the agents panel, {% data variables.copilot.copilot_chat_short %}, the {% data variables.product.prodname_cli %}, and agentic coding tools and IDEs with Model Context Protocol (MCP) support.' intro: 'You can ask {% data variables.product.prodname_copilot_short %} to create a pull request from many places, including {% data variables.product.prodname_github_issues %}, the agents panel, {% data variables.copilot.copilot_chat_short %}, the {% data variables.product.prodname_cli %}, and agentic coding tools and IDEs with Model Context Protocol (MCP) support.'
product: '{% data reusables.gated-features.copilot-coding-agent %}<br><a href="https://github.com/features/copilot/plans?ref_product=copilot&ref_type=engagement&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"><span>Sign up for {% data variables.product.prodname_copilot_short %}</span> {% octicon "link-external" height:16 %}</a>' product: '{% data reusables.gated-features.copilot-coding-agent %}<br><a href="https://github.com/features/copilot/plans?ref_product=copilot&ref_type=purchase&ref_style=button&utm_source=docs-web-copilot-agents-create-pr&utm_medium=docs&utm_campaign=ghignite25" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"><span>Sign up for {% data variables.product.prodname_copilot_short %}</span> {% octicon "link-external" height:16 %}</a>'
versions: versions:
feature: copilot feature: copilot
topics: topics:
@@ -37,7 +37,7 @@ You can ask {% data variables.product.prodname_copilot_short %} to create a new
* {% data variables.product.prodname_github_issues %}, by [assigning an issue to {% data variables.product.prodname_copilot_short %}](#assigning-an-issue-to-copilot) * {% data variables.product.prodname_github_issues %}, by [assigning an issue to {% data variables.product.prodname_copilot_short %}](#assigning-an-issue-to-copilot)
* The [agents tab or panel](#asking-copilot-to-create-a-pull-request-from-the-agents-tab-or-panel) on {% data variables.product.github %} * The [agents tab or panel](#asking-copilot-to-create-a-pull-request-from-the-agents-tab-or-panel) on {% data variables.product.github %}
* The [dashboard](#asking-copilot-to-create-a-pull-request-from-the-dashboard) on {% data variables.product.github %} * The [dashboard](#asking-copilot-to-create-a-pull-request-from-the-dashboard) on {% data variables.product.github %}
* {% data variables.copilot.copilot_chat_short %} in [{% data variables.product.prodname_vscode %}](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-visual-studio-code), [JetBrains IDEs](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-jetbrains-ides), and [{% data variables.product.prodname_vs %}](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-visual-studio) * {% data variables.copilot.copilot_chat_short %} in [{% data variables.product.prodname_vscode %}](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-visual-studio-code), [JetBrains IDEs](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-jetbrains-ides), [Eclipse](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-eclipse) and [{% data variables.product.prodname_vs %}](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-visual-studio)
* {% data variables.copilot.copilot_chat_short %} on [{% data variables.product.prodname_dotcom_the_website %}](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-githubcom) * {% data variables.copilot.copilot_chat_short %} on [{% data variables.product.prodname_dotcom_the_website %}](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-githubcom)
* The [{% data variables.product.prodname_cli %}](#asking-copilot-to-create-a-pull-request-from-the-github-cli) * The [{% data variables.product.prodname_cli %}](#asking-copilot-to-create-a-pull-request-from-the-github-cli)
* On [{% data variables.product.prodname_mobile %}](#asking-copilot-to-create-a-pull-request-from-github-mobile) * On [{% data variables.product.prodname_mobile %}](#asking-copilot-to-create-a-pull-request-from-github-mobile)
@@ -299,6 +299,21 @@ You can ask {% data variables.product.prodname_copilot_short %} to open a pull r
{% data variables.product.prodname_copilot_short %} will start a new session and respond with a link to the pull request it creates. It will work on the task and push changes to the pull request, and then add you as a reviewer when it has finished, triggering a notification from {% data variables.product.github %} and in the IDE. {% data variables.product.prodname_copilot_short %} will start a new session and respond with a link to the pull request it creates. It will work on the task and push changes to the pull request, and then add you as a reviewer when it has finished, triggering a notification from {% data variables.product.github %} and in the IDE.
## Asking {% data variables.product.prodname_copilot_short %} to create a pull request from {% data variables.copilot.copilot_chat_short %} in Eclipse
> [!NOTE]
> {% data variables.copilot.copilot_coding_agent %} in Eclipse is in {% data variables.release-phases.public_preview %}, and subject to change.
1. Open {% data variables.copilot.copilot_chat %} in Eclipse.
1. Type a prompt explaining what you want {% data variables.product.prodname_copilot_short %} to do.
For example, `Put backticks around file names and variables in output`
1. Click **{% octicon "agent" aria-label="The Agents icon" %}** next to the **Send** button.
1. In the dialog box that opens, select the repository you want {% data variables.product.prodname_copilot_short %} to work in, then click **Continue**.
{% data variables.product.prodname_copilot_short %} will start a new session and respond with a link to the pull request it creates. It will work on the task and push changes to the pull request, and then add you as a reviewer when it has finished, triggering a notification from {% data variables.product.github %} and in the IDE.
## Asking {% data variables.product.prodname_copilot_short %} to create a pull request from {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vs %} ## Asking {% data variables.product.prodname_copilot_short %} to create a pull request from {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vs %}
1. Open {% data variables.copilot.copilot_chat %} in {% data variables.product.prodname_vs %}. 1. Open {% data variables.copilot.copilot_chat %} in {% data variables.product.prodname_vs %}.

View File

@@ -9,10 +9,11 @@ topics:
- Copilot - Copilot
--- ---
> [!NOTE] {% data variables.copilot.custom_agents_caps_short %} allow you to create specialized agents with tailored expertise for specific tasks. For a conceptual overview of {% data variables.copilot.custom_agents_short %}, see [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-custom-agents).
> For a conceptual overview of {% data variables.copilot.custom_agents_short %}, see [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-custom-agents).
## Creating a {% data variables.copilot.copilot_custom_agent_short %} profile for a repository {% data reusables.copilot.custom-agents-ide-preview %}
## Creating a {% data variables.copilot.copilot_custom_agent_short %} profile in a repository on {% data variables.product.github %}
1. Navigate to the agents tab at [https://github.com/copilot/agents](https://github.com/copilot/agents?ref_product=copilot&ref_type=engagement&ref_style=text&utm_source=docs-signup-custom-agents&utm_medium=docs&utm_campaign=universe25post). 1. Navigate to the agents tab at [https://github.com/copilot/agents](https://github.com/copilot/agents?ref_product=copilot&ref_type=engagement&ref_style=text&utm_source=docs-signup-custom-agents&utm_medium=docs&utm_campaign=universe25post).
@@ -23,10 +24,56 @@ topics:
1. Optionally, select the branch you want to create the {% data variables.copilot.agent_profile %} in. The default is the main branch. 1. Optionally, select the branch you want to create the {% data variables.copilot.agent_profile %} in. The default is the main branch.
1. Click {% octicon "copilot" aria-label="Select a custom agent" %}, then click **{% octicon "plus" aria-label="Plus button" %} Create an agent**. This will open a template agent profile called `my-agent.agent.md` in the `.github/agents` directory of your target repository. 1. Click {% octicon "copilot" aria-label="Select a custom agent" %}, then click **{% octicon "plus" aria-label="Plus button" %} Create an agent**. This will open a template agent profile called `my-agent.agent.md` in the `.github/agents` directory of your target repository.
1. If you are creating an organization or enterprise-level custom agent, delete the `.github/` portion of the file path to move your template to the root `agents` directory. 1. If you are creating an organization or enterprise-level {% data variables.copilot.copilot_custom_agent_short %}, delete the `.github/` portion of the file path to move your template to the root `agents` directory.
1. Edit the filename (the text before `.agent.md`), selecting a unique, descriptive name that identifies the agent's purpose. Note that the filename may only contain the following characters: `.`, `-`, `_`, `a-z`, `A-Z`, `0-9`. 1. Edit the filename (the text before `.agent.md`), selecting a unique, descriptive name that identifies the agent's purpose. Note that the filename may only contain the following characters: `.`, `-`, `_`, `a-z`, `A-Z`, `0-9`.
1. Configure the {% data variables.copilot.agent_profile %}, including the name, description, tools, and prompts. For more information on what the {% data variables.copilot.agent_profile %} can include, see the section below. 1. Configure the {% data variables.copilot.agent_profile %}, including the name, description, tools, and prompts. For more information on what the {% data variables.copilot.agent_profile %} can include, see [Configuring an {% data variables.copilot.agent_profile %}](#configuring-an-agent-profile).
1. Commit the file to the repository and merge it into the default branch. Go back to the agents tab and refresh the page if needed. Your custom agent will now appear in the dropdown when you click {% octicon "copilot" aria-hidden="true" aria-label="copilot" %} in the prompt box. 1. Commit the file to the repository and merge it into the default branch. Go back to the agents tab and refresh the page if needed. Your {% data variables.copilot.copilot_custom_agent_short %} will now appear in the dropdown when you click {% octicon "copilot" aria-hidden="true" aria-label="copilot" %} in the prompt box.
## Creating a {% data variables.copilot.copilot_custom_agent_short %} profile in {% data variables.product.prodname_vscode %}
1. Open {% data variables.copilot.copilot_chat %} in {% data variables.product.prodname_vscode %}.
1. From the agents dropdown at the bottom of the chat view, click **Configure Custom Agents...**, then click **{% octicon "plus" aria-label="Plus button" %} Create new custom agent**.
1. Choose the location where the {% data variables.copilot.agent_profile %} should be created:
* **Workspace**: Create the {% data variables.copilot.copilot_custom_agent_short %} profile in the `.github/agents` folder of your workspace to only use it within that workspace.
* **User profile**: Create the {% data variables.copilot.copilot_custom_agent_short %} profile in the current user profile folder to use it across all your workspaces.
1. Enter a file name for the {% data variables.copilot.copilot_custom_agent_short %}. This is the default name that appears in the agents dropdown.
1. Configure the {% data variables.copilot.agent_profile %} in the newly created `.agent.md` file, including the description, tools, and prompts. For more information on what the {% data variables.copilot.agent_profile %} can include, see [Configuring an {% data variables.copilot.agent_profile %}](#configuring-an-agent-profile).
* You can use the **Configure Tools...** button within the editor to open the "Configure Tools" dialog, where you can view and select available tools, including built-in tools and tools from MCP servers. Click **OK** to add selected tools to the {% data variables.copilot.agent_profile %}.
* To set which AI model the agent uses, add a `model:` property and select your preferred model from the autocomplete dropdown.
To update an {% data variables.copilot.agent_profile %}, select **Configure Custom Agents** from the agents dropdown, and then click on an agent from the list to modify it. For more information on {% data variables.copilot.custom_agents_short %} in {% data variables.product.prodname_vscode_shortname %}, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents).
## Creating a {% data variables.copilot.copilot_custom_agent_short %} profile in JetBrains IDEs
1. Open the {% data variables.copilot.copilot_chat %} window in your JetBrains IDE.
2. From the agents dropdown at the bottom of the chat view, click **Configure Agents...**, then in the settings window, under "Chat Agents", click **Workspace**.
1. Enter a file name for the {% data variables.copilot.copilot_custom_agent_short %}. This is the default name that appears in the agents dropdown.
1. Configure the {% data variables.copilot.agent_profile %} in the newly created `.agent.md` file in the `.github/agents` directory, including the description, tools, and prompts. For more information on what the {% data variables.copilot.agent_profile %} can include, see [Configuring an {% data variables.copilot.agent_profile %}](#configuring-an-agent-profile).
* You can use the **Configure Tools...** button within the editor to open the tools dialog, where you can view and select available tools, including built-in tools and tools from MCP servers. Click **Apply** to add selected tools to the {% data variables.copilot.agent_profile %}.
* To set which AI model the agent uses, add a `model:` property and select your preferred model from the autocomplete dropdown.
To update an {% data variables.copilot.agent_profile %}, select **Configure Custom Agents** from the agents dropdown, and then click {% octicon "pencil" aria-label="The pencil icon" %} next to the agent you want to modify.
## Creating a {% data variables.copilot.copilot_custom_agent_short %} profile in Eclipse
1. Open the {% data variables.copilot.copilot_chat %} window in Eclipse.
1. From the agents dropdown at the bottom of the chat view, click **Configure Agents...**, then click **Add...**.
1. Enter a file name for the {% data variables.copilot.copilot_custom_agent_short %}. This is the default name that appears in the agents dropdown.
1. Configure the {% data variables.copilot.agent_profile %} in the newly created `.agent.md` file in the `.github/agents` directory, including the description, tools, and prompts. For more information on what the {% data variables.copilot.agent_profile %} can include, see [Configuring an {% data variables.copilot.agent_profile %}](#configuring-an-agent-profile).
* You can use the **Configure Tools...** button within the editor to open the "Configure Tools" dialog, where you can view and select available tools, including built-in tools and tools from MCP servers. Click **Apply** to add selected tools to the {% data variables.copilot.agent_profile %}.
* To set which AI model the agent uses, add a `model:` property and select your preferred model from the autocomplete dropdown.
To update an {% data variables.copilot.agent_profile %}, select **Configure Agents...** from the agents dropdown, and then select the agent you want to modify and click **Edit**.
## Creating a {% data variables.copilot.copilot_custom_agent_short %} profile in Xcode
1. Open the {% data variables.copilot.copilot_chat %} window in Xcode.
1. From the agents dropdown at the bottom of the chat view, click **{% octicon "plus" aria-label="Plus button" %} Create an agent**.
1. Enter a file name for the {% data variables.copilot.copilot_custom_agent_short %}. This is the default name that appears in the agents dropdown.
1. Configure the {% data variables.copilot.agent_profile %} in the newly created `.agent.md` file in the `.github/agents` directory, including the description, tools, and prompts. For more information on what the {% data variables.copilot.agent_profile %} can include, see [Configuring an {% data variables.copilot.agent_profile %}](#configuring-an-agent-profile).
* You can use the **Customize Agent** button within the file editor to open a dialog, where you can select the AI model for the agent to use, select available tools (including built-in and MCP server tools), and configure the `handoffs` property for transitioning between custom agents. Click **Apply** to add selected options to the {% data variables.copilot.agent_profile %}.
To update an {% data variables.copilot.agent_profile %}, from the agents dropdown, click the pencil icon next to the agent you want to modify.
## Configuring an {% data variables.copilot.agent_profile %} ## Configuring an {% data variables.copilot.agent_profile %}
@@ -39,8 +86,9 @@ To configure your {% data variables.copilot.agent_profile %}:
1. Optionally, write a `name` for your {% data variables.copilot.copilot_custom_agent_short %}. If unset, the name will default to the filename (without the `.md` or `.agent.md` suffix). 1. Optionally, write a `name` for your {% data variables.copilot.copilot_custom_agent_short %}. If unset, the name will default to the filename (without the `.md` or `.agent.md` suffix).
1. Write a brief `description` (required) explaining what your agent does and its specific capabilities or domain expertise. 1. Write a brief `description` (required) explaining what your agent does and its specific capabilities or domain expertise.
1. In the `tools` property, define which tools the agent can use. This is a list of tool names or aliases, including tools from MCP servers configured in the repository settings or the {% data variables.copilot.agent_profile %} (for example, `tools: ["read", "edit", "search", "some-mcp-server/tool-1"]`). If you omit this property, the agent will have access to all available tools. 1. In the `tools` property, define which tools the agent can use. This is a list of tool names or aliases, including tools from MCP servers configured in the repository settings or the {% data variables.copilot.agent_profile %} (for example, `tools: ["read", "edit", "search", "some-mcp-server/tool-1"]`). If you omit this property, the agent will have access to all available tools.
1. If creating an organization or enterprise level agent, you can use the `mcp-servers` property to optionally configure MCP servers that will be available only to this agent to extend its capabilities. 1. If creating an organization or enterprise level agent on {% data variables.product.github %}, you can use the `mcp-servers` property to optionally configure MCP servers that will be available only to this agent to extend its capabilities.
1. Optionally, set the `target` property to `vscode` or `github-copilot` if you want to only use the agent in a specific environment. The agent will be available in both environments if you omit the property. 1. If you are creating and using the {% data variables.copilot.agent_profile %} in {% data variables.product.prodname_vscode_shortname %}, JetBrains IDEs, Eclipse, or Xcode, you can also use the `model` property to control which AI model the agent should use.
1. Optionally, set the `target` property to either `vscode` or `github-copilot` if you want to only use the agent in a specific environment. The agent will be available in both environments if you omit the property.
1. Write the agent's prompt. Define the agent's behavior, expertise, and instructions in the Markdown content below the YAML frontmatter. 1. Write the agent's prompt. Define the agent's behavior, expertise, and instructions in the Markdown content below the YAML frontmatter.
## Example {% data variables.copilot.agent_profiles %} ## Example {% data variables.copilot.agent_profiles %}
@@ -53,17 +101,19 @@ Once you've created a {% data variables.copilot.copilot_custom_agent_short %}, y
* When prompting {% data variables.copilot.copilot_coding_agent %} with a task on {% data variables.product.prodname_dotcom_the_website %}, use the dropdown menu in the agents panel or agents tab to select your {% data variables.copilot.copilot_custom_agent_short %} instead of the default coding agent. * When prompting {% data variables.copilot.copilot_coding_agent %} with a task on {% data variables.product.prodname_dotcom_the_website %}, use the dropdown menu in the agents panel or agents tab to select your {% data variables.copilot.copilot_custom_agent_short %} instead of the default coding agent.
* When assigning {% data variables.copilot.copilot_coding_agent %} to an issue, you can select your {% data variables.copilot.copilot_custom_agent_short %} from the dropdown menu to handle the issue with your specialized configuration. * When assigning {% data variables.copilot.copilot_coding_agent %} to an issue, you can select your {% data variables.copilot.copilot_custom_agent_short %} from the dropdown menu to handle the issue with your specialized configuration.
* When using the {% data variables.copilot.copilot_cli %}, you can choose to use a particular custom agent by using the `/agent` slash command or referencing the agent in a prompt or via a command-line argument. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#use-custom-agents). * When using the {% data variables.copilot.copilot_cli %}, you can choose to use a particular {% data variables.copilot.copilot_custom_agent_short %} by using the `/agent` slash command or referencing the agent in a prompt or via a command-line argument. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#use-custom-agents).
When {% data variables.product.prodname_copilot_short %} opens pull requests, it will note which {% data variables.copilot.copilot_custom_agent_short %} was used to complete the work in the pull request description. When {% data variables.product.prodname_copilot_short %} opens pull requests, it will note which {% data variables.copilot.copilot_custom_agent_short %} was used to complete the work in the pull request description.
For more information on using {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-a-pr). For more information on using {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-a-pr).
### Using {% data variables.copilot.custom_agents_short %} in {% data variables.product.prodname_vscode_shortname %} ### Using {% data variables.copilot.custom_agents_short %} in your IDE
You can also use your custom {% data variables.copilot.agent_profiles %} directly in {% data variables.product.prodname_vscode %}. In {% data variables.product.prodname_vscode_shortname %}, you switch between {% data variables.copilot.custom_agents_short %} using the mode dropdown in the Chat view, allowing you to access specialized configurations for different tasks like planning, code editing, or research. For more information, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents). You can also use your custom {% data variables.copilot.agent_profiles %} directly in supported IDEs, including {% data variables.product.prodname_vscode %}, JetBrains IDEs, Eclipse, and Xcode. You can switch between {% data variables.copilot.custom_agents_short %} using the agent dropdown in the Chat window, allowing you to access specialized configurations for different tasks like planning, code editing, or research.
Note that some properties may function differently, or be ignored, between the {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_vscode_shortname %} environments. For more information on supported properties, see [AUTOTITLE](/copilot/reference/custom-agents-configuration#yaml-frontmatter-properties). Note that some properties may function differently, or be ignored, between the {% data variables.product.prodname_dotcom_the_website %} and IDE environments. For more information on supported properties, see [AUTOTITLE](/copilot/reference/custom-agents-configuration#yaml-frontmatter-properties).
For more information on {% data variables.copilot.custom_agents_short %} in {% data variables.product.prodname_vscode_shortname %} specifically, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents) in the {% data variables.product.prodname_vscode_shortname %} documentation.
## Next steps ## Next steps

View File

@@ -1,8 +1,8 @@
--- ---
title: Tracking GitHub Copilot's sessions title: Tracking GitHub Copilot's sessions
shortTitle: Track Copilot sessions shortTitle: Track Copilot sessions
intro: 'You can use the agents panel or page, {% data variables.product.prodname_vscode %}, JetBrains IDEs, the {% data variables.product.prodname_cli %}, Raycast and session logs to track {% data variables.product.prodname_copilot_short %}''s progress and understand its approach.' intro: 'You can use the agents panel or page, {% data variables.product.prodname_vscode %}, JetBrains IDEs, Eclipse, the {% data variables.product.prodname_cli %}, Raycast and session logs to track {% data variables.product.prodname_copilot_short %}''s progress and understand its approach.'
product: '{% data reusables.gated-features.copilot-coding-agent %}<br><a href="https://github.com/features/copilot/plans?ref_product=copilot&ref_type=engagement&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"><span>Sign up for {% data variables.product.prodname_copilot_short %}</span> {% octicon "link-external" height:16 %}</a>' product: '{% data reusables.gated-features.copilot-coding-agent %}<br><a href="https://github.com/features/copilot/plans?ref_product=copilot&ref_type=purchase&ref_style=button&utm_source=docs-web-copilot-agents-track-sessions&utm_medium=docs&utm_campaign=ghignite25" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"><span>Sign up for {% data variables.product.prodname_copilot_short %}</span> {% octicon "link-external" height:16 %}</a>'
versions: versions:
feature: copilot feature: copilot
topics: topics:
@@ -96,6 +96,19 @@ For each session listed, you can see its status at a glance. Click **Open in Bro
{% data variables.product.prodname_copilot_short %} will also notify you when an agent job has started and finished. {% data variables.product.prodname_copilot_short %} will also notify you when an agent job has started and finished.
## Tracking sessions from Eclipse
> [!NOTE]
> {% data variables.copilot.copilot_coding_agent %} in Eclipse is in {% data variables.release-phases.public_preview %}, and subject to change.
You can see a list of your running and past agent sessions for a project in Eclipse with the {% data variables.copilot.copilot_chat %} extension. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=eclipse).
You can see all of {% data variables.product.prodname_copilot_short %}'s sessions by clicking **{% octicon "agent" aria-label="The Agents icon" %}** at the top right of the chat window, or by clicking the **Open Job List** button after delegating a task to {% data variables.product.prodname_copilot_short %} from {% data variables.copilot.copilot_chat %}.
For each session listed, you can see its status at a glance. Click **Open in Browser** to open the pull request in your browser, or right-click on a running job then click **Cancel Job** to cancel.
{% data variables.product.prodname_copilot_short %} will also notify you when an agent job has started and finished.
## Tracking sessions from {% data variables.product.prodname_mobile %} ## Tracking sessions from {% data variables.product.prodname_mobile %}
You can see a list of your running and past pull requests generated by agents in {% data variables.product.prodname_mobile %}. You can see a list of your running and past pull requests generated by agents in {% data variables.product.prodname_mobile %}.

View File

@@ -11,13 +11,15 @@ contentType: reference
This reference article provides detailed configuration information for {% data variables.copilot.custom_agents_short %}. For general information about creating {% data variables.copilot.custom_agents_short %}, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents). This reference article provides detailed configuration information for {% data variables.copilot.custom_agents_short %}. For general information about creating {% data variables.copilot.custom_agents_short %}, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents).
{% data reusables.copilot.custom-agents-ide-preview %}
## YAML frontmatter properties ## YAML frontmatter properties
The following table outlines the properties that are supported in repository-level {% data variables.copilot.agent_profiles %}, organization or enterprise level {% data variables.copilot.agent_profiles %}, and in {% data variables.product.prodname_vscode_shortname %}. The following table outlines the properties that are supported in repository-level {% data variables.copilot.agent_profiles %}, organization or enterprise level {% data variables.copilot.agent_profiles %}, and in {% data variables.product.prodname_vscode_shortname %}.
{% rowheaders %} {% rowheaders %}
| Property | Type | Purpose | Repository | Organization / enterprise | {% data variables.product.prodname_vscode_shortname %} | | Property | Type | Purpose | Repository | Organization / enterprise | {% data variables.product.prodname_vscode_shortname %}, JetBrains IDEs, Eclipse, and Xcode |
| ------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ------------------------- | ------------------ | | ------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ------------------------- | ------------------ |
| `name` | string | Unique name for the {% data variables.copilot.copilot_custom_agent_short %}. Optional, if unset defaults to the filename (without `.md` or `.agent.md` suffix). <br/> Lowest level configuration takes precedence when there is a naming conflict. | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | `name` | string | Unique name for the {% data variables.copilot.copilot_custom_agent_short %}. Optional, if unset defaults to the filename (without `.md` or `.agent.md` suffix). <br/> Lowest level configuration takes precedence when there is a naming conflict. | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} |
| `description` | **Required** string | Description of the {% data variables.copilot.copilot_custom_agent_short %}'s purpose and capabilities | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | `description` | **Required** string | Description of the {% data variables.copilot.copilot_custom_agent_short %}'s purpose and capabilities | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} |
@@ -29,19 +31,19 @@ The following table outlines the properties that are supported in repository-lev
{% endrowheaders %} {% endrowheaders %}
> [!NOTE] > [!NOTE]
> The `model`, `argument-hint`, and `handoffs` properties from {% data variables.product.prodname_vscode_shortname %} {% data variables.copilot.custom_agents_short %} are currently not supported for {% data variables.copilot.copilot_coding_agent %} on {% data variables.product.prodname_dotcom_the_website %}. They are ignored to ensure compatibility. For more information on {% data variables.copilot.copilot_custom_agent_short %} file structure in {% data variables.product.prodname_vscode_shortname %}, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents#_custom-agent-file-structure) in the {% data variables.product.prodname_vscode_shortname %} documentation. > The `model`, `argument-hint`, and `handoffs` properties from {% data variables.product.prodname_vscode_shortname %} and other IDE {% data variables.copilot.custom_agents_short %} are currently not supported for {% data variables.copilot.copilot_coding_agent %} on {% data variables.product.prodname_dotcom_the_website %}. They are ignored to ensure compatibility. For more information on {% data variables.copilot.copilot_custom_agent_short %} file structure in {% data variables.product.prodname_vscode_shortname %}, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents#_custom-agent-file-structure) in the {% data variables.product.prodname_vscode_shortname %} documentation.
## Tools ## Tools
The custom agent `tools` property controls which tools are available to your agent, including those from MCP servers. The {% data variables.copilot.copilot_custom_agent_short %} `tools` property controls which tools are available to your agent, including those from MCP servers.
While you cannot configure MCP servers directly within an {% data variables.copilot.agent_profile %} for repository-level {% data variables.copilot.custom_agents_short %}, your custom agent will have access to MCP server tools that have been configured in the repository settings. For more information on configuring MCP servers for coding agent in a repository, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp). While you cannot configure MCP servers directly within an {% data variables.copilot.agent_profile %} for repository-level {% data variables.copilot.custom_agents_short %}, your {% data variables.copilot.copilot_custom_agent_short %} will have access to MCP server tools that have been configured in the repository settings. For more information on configuring MCP servers for coding agent in a repository, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp).
You can configure `tools` using the following approaches: You can configure `tools` using the following approaches:
* **Enable all available tools**: Omit the `tools` property entirely or use `tools: ["*"]` to enable all available tools. This will include all MCP server tools configured in the repository settings. * **Enable all available tools**: Omit the `tools` property entirely or use `tools: ["*"]` to enable all available tools. This will include all MCP server tools configured in the repository settings.
* **Enable specific tools**: Provide a list of specific tool names or aliases (for example, `tools: ["read", "edit", "search"]`) to enable only those tools. For available tool aliases, see [Tool aliases](#tool-aliases) below. * **Enable specific tools**: Provide a list of specific tool names or aliases (for example, `tools: ["read", "edit", "search"]`) to enable only those tools. For available tool aliases, see [Tool aliases](#tool-aliases) below.
* Note that if your repository has MCP servers configured, you can choose to make only specific tools from those servers available to your custom agent. Tool names from specific MCP servers can be prefixed with the server name followed by a `/`. For example, `some-mcp-server/some-tool`. * Note that if your repository has MCP servers configured, you can choose to make only specific tools from those servers available to your {% data variables.copilot.copilot_custom_agent_short %}. Tool names from specific MCP servers can be prefixed with the server name followed by a `/`. For example, `some-mcp-server/some-tool`.
* You can also explicitly enable all tools from a specific MCP server using `some-mcp-server/*`. * You can also explicitly enable all tools from a specific MCP server using `some-mcp-server/*`.
* Tools from {% data variables.product.prodname_vscode_shortname %} extensions can use the extension name as a proxy, like `azure.some-extension/some-tool`. * Tools from {% data variables.product.prodname_vscode_shortname %} extensions can use the extension name as a proxy, like `azure.some-extension/some-tool`.
* **Disable all tools**: Use an empty list (`tools: []`) to disable all tools for the agent. * **Disable all tools**: Use an empty list (`tools: []`) to disable all tools for the agent.

View File

@@ -11,4 +11,6 @@ autogenerated: rest
allowTitleToDifferFromFilename: true allowTitleToDifferFromFilename: true
--- ---
When you view {% data variables.product.prodname_dependabot %} or {% data variables.product.prodname_code_scanning %} alerts for an organization, you can use artifact metadata to filter and prioritize alerts, see [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code).
<!-- Content after this section is automatically generated --> <!-- Content after this section is automatically generated -->

View File

@@ -1 +1 @@
If you select **Auto**, {% data variables.copilot.copilot_auto_model_selection %} will select the best model based on availability and avoiding rate limiting. See [AUTOTITLE](/copilot/concepts/auto-model-selection). > [!NOTE] If you select **Auto**, {% data variables.copilot.copilot_auto_model_selection %} will select the best model based on availability and to help reduce rate limiting. See [AUTOTITLE](/copilot/concepts/auto-model-selection).

View File

@@ -1 +1 @@
When you use {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %} or {% data variables.product.prodname_vs %}, **Auto** will automatically select the best model for you based on availability. You can manually choose a different model to override this selection. See [AUTOTITLE](/copilot/concepts/auto-model-selection) and [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-chat-model?tool=vscode). When you use {% data variables.copilot.copilot_chat_short %} in supported IDEs, **Auto** will automatically select the best model for you based on availability. You can manually choose a different model to override this selection. See [AUTOTITLE](/copilot/concepts/auto-model-selection) and [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-chat-model?tool=vscode).

View File

@@ -1,3 +1,3 @@
When you use {% data variables.copilot.copilot_agent_short %} mode, each prompt you enter counts as one premium request, multiplied by the models multiplier. For example, if you're using the included model—which has a multiplier of 0—your prompts wont consume any premium requests. {% data variables.product.prodname_copilot_short %} may take several follow-up actions to complete your task, but these follow-up actions do **not** count toward your premium request usage. Only the prompts you enter are billed—tool calls or background steps taken by the agent are not charged. When you use agent mode, each prompt you enter counts as one premium request, multiplied by the models multiplier. For example, if you're using the included model—which has a multiplier of 0—your prompts wont consume any premium requests. {% data variables.product.prodname_copilot_short %} may take several follow-up actions to complete your task, but these follow-up actions do **not** count toward your premium request usage. Only the prompts you enter are billed—tool calls or background steps taken by the agent are not charged.
The total number of premium requests you use depends on how many prompts you enter and which model you select. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/monitoring-usage-and-entitlements/avoiding-unexpected-copilot-costs). The total number of premium requests you use depends on how many prompts you enter and which model you select. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/monitoring-usage-and-entitlements/avoiding-unexpected-copilot-costs).

View File

@@ -0,0 +1,2 @@
> [!NOTE]
> {% data variables.copilot.custom_agents_caps_short %} are in {% data variables.release-phases.public_preview %} for JetBrains IDEs, Eclipse, and Xcode, and subject to change.

View File

@@ -1,2 +1,2 @@
> [!NOTE] > [!NOTE]
> MCP servers can only be configured in {% data variables.copilot.copilot_custom_agent_short %} profiles at the organization and enterprise level. Repository-level {% data variables.copilot.custom_agents_short %} do not support MCP server configuration. > MCP servers can only be configured directly within {% data variables.copilot.copilot_custom_agent_short %} profiles at the organization and enterprise level. Repository-level {% data variables.copilot.custom_agents_short %} cannot have MCP servers configured directly in their profiles, but can use tools from MCP servers configured in the repository's settings.

View File

@@ -1 +1 @@
1. Optionally, you can click {% octicon "copilot" aria-hidden="true" aria-label="copilot" %} to open the "Custom agent" dropdown menu, if you want to assign a custom agent with specialized behavior and tools. You can select an existing custom agent from your repository, organization, or enterprise. You can also click **{% octicon "plus" aria-label="Plus button" %} Create an agent** to create a new {% data variables.copilot.agent_profile %} in your selected repository and branch. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents). 1. Optionally, you can click {% octicon "copilot" aria-hidden="true" aria-label="copilot" %} to open the "Custom agent" dropdown menu, if you want to assign a {% data variables.copilot.copilot_custom_agent_short %} with specialized behavior and tools. You can select an existing {% data variables.copilot.copilot_custom_agent_short %} from your repository, organization, or enterprise. You can also click **{% octicon "plus" aria-label="Plus button" %} Create an agent** to create a new {% data variables.copilot.agent_profile %} in your selected repository and branch. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents).

View File

@@ -0,0 +1,10 @@
> [!NOTE]
> Plan mode is currently in {% data variables.release-phases.public_preview %} and subject to change.
Plan mode helps you to create detailed implementation plans before executing them. This ensures that all requirements are considered and addressed before any code changes are made. The plan agent does not make any code changes until the plan is reviewed and approved by you. Once approved, you can hand off the plan to the default agent or save it for further refinement, review, or team discussions.
The plan agent is designed to:
* Research the task comprehensively using read-only tools and codebase analysis to identify requirements and constraints.
* Break down the task into manageable, actionable steps and include open questions about ambiguous requirements.
* Present a concise plan draft, based on a standardized plan format, for user review and iteration.

View File

@@ -0,0 +1,8 @@
1. Review the plan and answer any questions the agent has asked.
You can iterate multiple times to clarify requirements, adjust scope, or answer questions.
1. Once the plan is complete you can:
* Click **Start Implementation** to switch {% data variables.copilot.copilot_chat_short %} to agent mode and start an agent session to implement the required changes, based on the implementation plan.
* Click **Open in Editor** to switch {% data variables.copilot.copilot_chat_short %} to agent mode and start an agent session that generates Markdown, in a tab of your editor, with the details of the implementation plan. You can start to work through the plan yourself, or save the plan as a Markdown file for later use.

View File

@@ -0,0 +1,8 @@
You can use {% data variables.copilot.subagents_short %} to delegate tasks to an isolated agent with its own context window within your chat session. The {% data variables.copilot.subagent_short %} operates independently without pausing for user feedback and returns the final result to the main chat session.
{% data variables.copilot.subagents_caps_short %} are best suited for situations where:
* You want to delegate complex, multi-step tasks like research or analysis without interrupting your main session.
* You need to process large amounts of information or multiple documents that would clutter your primary context window.
* You want to explore different approaches or perspectives independently without mixing contexts together.
{% data variables.copilot.subagents_caps_short %} use the same tools and AI model as the main session, but they cannot create other {% data variables.copilot.subagents_short %}.

View File

@@ -0,0 +1,10 @@
{% data variables.copilot.subagents_caps_short %} can be invoked in different ways:
* **Automatic delegation**. {% data variables.product.prodname_copilot_short %} will analyze the description of your request, the description field of your configured {% data variables.copilot.custom_agents_short %}, and the current context and available tools to automatically choose a {% data variables.copilot.subagent_short %}. For example, this prompt would automatically delegate the task to a **refactor-specialist** {% data variables.copilot.copilot_custom_agent_short %}:
```text
Suggest ways to refactor this legacy code.
```
* **Direct invocation**. You can directly call the {% data variables.copilot.subagent_short %} in your prompt:
```text
Use the testing subagent to write unit tests for the authentication module.
```

View File

@@ -1 +1 @@
> [!NOTE] Once you opt in to paid usage, you will have access to production grade rate limits and be billed for all usage thereafter. For more information about these rate limits, see [Azure AI Foundry Models quotas and limits](https://learn.microsoft.com/en-us/azure/ai-foundry/model-inference/quotas-limits) in the Azure documentation. > [!NOTE] Once you opt in to paid usage, you will have access to production grade rate limits and be billed for all usage thereafter. For more information about these rate limits, see [Microsoft Foundry Models quotas and limits](https://learn.microsoft.com/en-us/azure/ai-foundry/model-inference/quotas-limits) in the Azure documentation.

View File

@@ -0,0 +1,2 @@
> [!NOTE]
> Production context and the integration with {% data variables.product.prodname_microsoft_defender %} is in {% data variables.release-phases.public_preview %} and subject to change.

View File

@@ -81,6 +81,12 @@ copilot_custom_agent_caps_short: 'Custom agent'
custom_agents_short: 'custom agents' custom_agents_short: 'custom agents'
custom_agents_caps_short: 'Custom agents' custom_agents_caps_short: 'Custom agents'
## Copilot subagents
subagent_short: 'subagent'
subagent_caps_short: 'Subagent'
subagents_short: 'subagents'
subagents_caps_short: 'Subagents'
## Agent profiles (configuration files that define custom agents) ## Agent profiles (configuration files that define custom agents)
agent_profile: 'agent profile' agent_profile: 'agent profile'
agent_profile_caps: 'Agent profile' agent_profile_caps: 'Agent profile'
@@ -164,7 +170,7 @@ copilot_raptor_mini: 'Raptor mini'
## Current model used by Copilot coding agent and Copilot CLI ## Current model used by Copilot coding agent and Copilot CLI
cca_current_model: '{% data variables.copilot.copilot_claude_sonnet_40 %}' cca_current_model: '{% data variables.copilot.copilot_claude_sonnet_40 %}'
## Next edit suggestions in VS Code ## Next edit suggestions
next_edit_suggestions: 'next edit suggestions' next_edit_suggestions: 'next edit suggestions'
next_edit_suggestions_caps: 'Next edit suggestions' next_edit_suggestions_caps: 'Next edit suggestions'

View File

@@ -226,6 +226,11 @@ prodname_secret_risk_assessment_caps: 'Secret risk assessment'
## Azure DevOps ## Azure DevOps
prodname_ghas_azdo: 'GitHub Advanced Security for Azure DevOps' prodname_ghas_azdo: 'GitHub Advanced Security for Azure DevOps'
## Microsoft Defender for Cloud integration with GitHub Code Security
prodname_microsoft_defender: 'Microsoft Defender for Cloud'
prodname_mdc_definition: 'Microsoft Defender for Cloud (MDC)'
prodname_mdc: 'MDC'
# Codespaces # Codespaces
prodname_codespaces: 'Codespaces' prodname_codespaces: 'Codespaces'
prodname_github_codespaces: 'GitHub Codespaces' prodname_github_codespaces: 'GitHub Codespaces'