From 3e57a8baa9052d49c487d8ec97e536e56f775ec3 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 30 Sep 2026 14:26:12 +0000 Subject: [PATCH 1/8] Fix article API REST curl examples for non-JSON bodies (#63483) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7c52b57f-2c29-4aa1-8233-99d0d6e13571 Copilot-Session: 51979f92-6c19-48ab-a503-293280b092fa --- .../templates/rest-page.template.md | 5 ++- src/article-api/tests/rest-transformer.ts | 28 ++++++++++++- .../transformers/rest-transformer.ts | 18 +++++++-- .../fixtures/content/rest/actions/cache.md | 17 ++++++++ .../fixtures/content/rest/actions/index.md | 1 + src/fixtures/fixtures/content/rest/index.md | 1 + .../fixtures/content/rest/releases/assets.md | 17 ++++++++ .../fixtures/content/rest/releases/index.md | 15 +++++++ src/rest/components/get-rest-code-samples.ts | 38 ++---------------- src/rest/lib/curl-body-arguments.ts | 40 +++++++++++++++++++ 10 files changed, 138 insertions(+), 42 deletions(-) create mode 100644 src/fixtures/fixtures/content/rest/actions/cache.md create mode 100644 src/fixtures/fixtures/content/rest/releases/assets.md create mode 100644 src/fixtures/fixtures/content/rest/releases/index.md create mode 100644 src/rest/lib/curl-body-arguments.ts diff --git a/src/article-api/templates/rest-page.template.md b/src/article-api/templates/rest-page.template.md index b1fb09d29ad0..754c7c2598b5 100644 --- a/src/article-api/templates/rest-page.template.md +++ b/src/article-api/templates/rest-page.template.md @@ -85,8 +85,9 @@ curl -L \ -X {{ operation.verb | upcase }} \ {{ example.request.url }}{% if example.request.acceptHeader and example.request.acceptHeader != 'application/vnd.github+json' and example.request.acceptHeader != 'application/vnd.github.v3+json' %} \ - -H "Accept: {{ example.request.acceptHeader }}"{% endif %}{% if example.request.bodyParameters %} \ - -d '{{ example.request.bodyParameters }}'{% endif %} + -H "Accept: {{ example.request.acceptHeader }}"{% endif %}{% if example.request.needsContentTypeHeader %} \ + -H "Content-Type: {{ example.request.contentType }}"{% endif %}{% if example.request.bodyParameters.size > 0 %}{% for bodyParameter in example.request.bodyParameters %} \ + {{ bodyParameter }}{% endfor %}{% endif %} ``` **Response schema (Status: {{ example.response.statusCode }}):** diff --git a/src/article-api/tests/rest-transformer.ts b/src/article-api/tests/rest-transformer.ts index 12f8a39e743d..7251603db483 100644 --- a/src/article-api/tests/rest-transformer.ts +++ b/src/article-api/tests/rest-transformer.ts @@ -1,6 +1,7 @@ import { beforeAll, describe, expect, test } from 'vitest' import { get } from '@/tests/helpers/e2etest' +import { getCurlBodyArguments } from '@/rest/lib/curl-body-arguments' const makeURL = (pathname: string, apiVersion?: string): string => { const params = new URLSearchParams({ pathname }) @@ -219,13 +220,36 @@ describe('REST transformer', () => { }) test('Body parameters are formatted correctly for POST/PUT operations', async () => { - const res = await get(makeURL('/en/rest/actions/artifacts')) + const res = await get(makeURL('/en/rest/actions/cache', '2022-11-28')) expect(res.statusCode).toBe(200) + + expect(res.body).toContain('## Set GitHub Actions cache retention limit for a repository') + expect(res.body).toContain('#### Body parameters') + expect(res.body).toContain('**`max_cache_retention_days`** (integer)') + expect(res.body).toContain('The maximum number of days to keep caches in this repository.') + expect(res.body).toContain('"max_cache_retention_days": 80') }) test('Content-type header is included for operations that need it', async () => { - const res = await get(makeURL('/en/rest/actions/artifacts')) + const res = await get(makeURL('/en/rest/releases/assets', '2022-11-28')) expect(res.statusCode).toBe(200) + + expect(res.body).toContain('## Upload a release asset') + expect(res.body).toContain('-H "Content-Type: application/octet-stream"') + expect(res.body).toContain('--data-binary "@example.zip"') + expect(res.body).not.toContain(`-d '"@example.zip"'`) + }) + + test('Multipart form bodies are formatted as curl form arguments', () => { + expect( + getCurlBodyArguments( + { + license: '@enterprise.ghl', + label: 'enterprise license', + }, + 'multipart/form-data', + ), + ).toEqual(["--form 'license=@enterprise.ghl'", "--form 'label=enterprise license'"]) }) test('Non-English language paths work correctly', async () => { diff --git a/src/article-api/transformers/rest-transformer.ts b/src/article-api/transformers/rest-transformer.ts index 25988447ac3c..667ff44d301a 100644 --- a/src/article-api/transformers/rest-transformer.ts +++ b/src/article-api/transformers/rest-transformer.ts @@ -6,6 +6,10 @@ import { engine } from '@/content-render/liquid/engine' import { apiTransformerTags } from '@/article-api/liquid-renderers' import { loadTemplate } from '@/article-api/lib/load-template' import { summarizeSchema } from '@/article-api/lib/summarize-schema' +import { + getCurlBodyArguments, + needsExplicitContentTypeHeader, +} from '@/rest/lib/curl-body-arguments' import matter from '@gr2m/gray-matter' import { fastTextOnly } from '@/content-render/unified/text-only' import GithubSlugger from 'github-slugger' @@ -23,7 +27,9 @@ type PreparedCodeExample = { description: string url: string acceptHeader?: string - bodyParameters: string | null + contentType?: string + needsContentTypeHeader: boolean + bodyParameters: string[] } response: { statusCode?: string @@ -225,9 +231,13 @@ export class RestTransformer implements PageTransformer { : '', url, acceptHeader: example.request?.acceptHeader, - bodyParameters: example.request?.bodyParameters - ? JSON.stringify(example.request.bodyParameters, null, 2) - : null, + contentType: example.request?.contentType, + needsContentTypeHeader: needsExplicitContentTypeHeader(example.request?.contentType), + bodyParameters: getCurlBodyArguments( + example.request?.bodyParameters, + example.request?.contentType, + { jsonIndent: 2 }, + ), }, response: { statusCode: example.response?.statusCode, diff --git a/src/fixtures/fixtures/content/rest/actions/cache.md b/src/fixtures/fixtures/content/rest/actions/cache.md new file mode 100644 index 000000000000..5d19c57310f4 --- /dev/null +++ b/src/fixtures/fixtures/content/rest/actions/cache.md @@ -0,0 +1,17 @@ +--- +title: GitHub Actions Cache +allowTitleToDifferFromFilename: true +shortTitle: Cache +intro: Use the REST API to interact with the GitHub Actions cache. +versions: + fpt: '*' + ghec: '*' + ghes: '*' +autogenerated: rest +--- + +## About the GitHub Actions cache + +You can use the REST API to manage GitHub Actions cache settings. + + diff --git a/src/fixtures/fixtures/content/rest/actions/index.md b/src/fixtures/fixtures/content/rest/actions/index.md index 9d63b1b17455..021a889ea395 100644 --- a/src/fixtures/fixtures/content/rest/actions/index.md +++ b/src/fixtures/fixtures/content/rest/actions/index.md @@ -10,6 +10,7 @@ versions: ghec: '*' children: - /artifacts + - /cache autogenerated: rest --- diff --git a/src/fixtures/fixtures/content/rest/index.md b/src/fixtures/fixtures/content/rest/index.md index 7b34c38e411d..879a5ade7324 100644 --- a/src/fixtures/fixtures/content/rest/index.md +++ b/src/fixtures/fixtures/content/rest/index.md @@ -18,6 +18,7 @@ children: - /about-the-rest-api - /actions - /authentication + - /releases --- diff --git a/src/fixtures/fixtures/content/rest/releases/assets.md b/src/fixtures/fixtures/content/rest/releases/assets.md new file mode 100644 index 000000000000..e4c7c02c9f9b --- /dev/null +++ b/src/fixtures/fixtures/content/rest/releases/assets.md @@ -0,0 +1,17 @@ +--- +title: Release Assets +allowTitleToDifferFromFilename: true +shortTitle: Assets +intro: Use the REST API to interact with release assets. +versions: + fpt: '*' + ghec: '*' + ghes: '*' +autogenerated: rest +--- + +## About release assets + +You can use the REST API to upload release assets. + + diff --git a/src/fixtures/fixtures/content/rest/releases/index.md b/src/fixtures/fixtures/content/rest/releases/index.md new file mode 100644 index 000000000000..62f141609797 --- /dev/null +++ b/src/fixtures/fixtures/content/rest/releases/index.md @@ -0,0 +1,15 @@ +--- +title: Releases +intro: REST releases +versions: + fpt: '*' + ghes: '*' + ghec: '*' +children: + - /assets +autogenerated: rest +--- + +General intro about REST Releases. + + diff --git a/src/rest/components/get-rest-code-samples.ts b/src/rest/components/get-rest-code-samples.ts index 028479067b69..a3a017ab3c30 100644 --- a/src/rest/components/get-rest-code-samples.ts +++ b/src/rest/components/get-rest-code-samples.ts @@ -3,6 +3,7 @@ import { stringify } from 'javascript-stringify' import type { CodeSample, Operation } from '@/rest/components/types' import { type VersionItem } from '@/frame/components/context/MainContext' +import { getCurlBodyArguments, escapeShellValue } from '@/rest/lib/curl-body-arguments' function shouldOmitAuthentication(operation: Operation, currentVersion: string): boolean { // Only explicitly permissionless operations can omit auth. @@ -17,22 +18,8 @@ function shouldOmitAuthentication(operation: Operation, currentVersion: string): return isDotcomVersion } -// Escapes single quotes so a contraction like "there's" can't break out of the -// surrounding shell quoting. -function escapeShellValue(value: string): string { - return value.replace(/'/g, "'\\''") -} - type CodeExamples = Record -// Form-encoded shell examples use repeated --data-urlencode flags, such as -// param1=value1 and param2=value2. For example: -// https://docs.github.com/en/enterprise/rest/reference/enterprise-admin#enable-or-disable-maintenance-mode -const CURL_CONTENT_TYPE_MAPPING: { [key: string]: string } = { - 'application/x-www-form-urlencoded': '--data-urlencode', - 'multipart/form-data': '--form', - 'application/octet-stream': '--data-binary', -} export function getShellExample( operation: Operation, codeSample: CodeSample, @@ -72,27 +59,10 @@ export function getShellExample( let requestBodyParams = '' if (codeSample?.request?.bodyParameters) { - requestBodyParams = `-d '${JSON.stringify(codeSample.request.bodyParameters).replace( - /'/g, - "'\\''", - )}'` - const contentType = codeSample.request.contentType - if (contentType in CURL_CONTENT_TYPE_MAPPING) { - requestBodyParams = '' - // Mapped content types can pass a single scalar body instead of named parameters. - const { bodyParameters } = codeSample.request - if (bodyParameters && typeof bodyParameters === 'object' && !Array.isArray(bodyParameters)) { - const paramNames = Object.keys(bodyParameters) - for (const elem of paramNames) { - const escapedValue = escapeShellValue(String(bodyParameters[elem])) - requestBodyParams = `${requestBodyParams} ${CURL_CONTENT_TYPE_MAPPING[contentType]} '${elem}=${escapedValue}'` - } - } else { - const escapedValue = escapeShellValue(String(bodyParameters)) - requestBodyParams = `${CURL_CONTENT_TYPE_MAPPING[contentType]} "${escapedValue}"` - } - } + requestBodyParams = getCurlBodyArguments(codeSample.request.bodyParameters, contentType).join( + ' ', + ) } let authHeader = omitAuth ? '' : '-H "Authorization: Bearer "' diff --git a/src/rest/lib/curl-body-arguments.ts b/src/rest/lib/curl-body-arguments.ts new file mode 100644 index 000000000000..59a2022dbd9f --- /dev/null +++ b/src/rest/lib/curl-body-arguments.ts @@ -0,0 +1,40 @@ +export const CURL_CONTENT_TYPE_BODY_FLAGS: Record = { + 'application/x-www-form-urlencoded': '--data-urlencode', + 'multipart/form-data': '--form', + 'application/octet-stream': '--data-binary', +} + +type CurlBodyParameters = Record | unknown[] | string + +export function needsExplicitContentTypeHeader(contentType?: string): boolean { + return contentType === 'application/octet-stream' || contentType === 'multipart/form-data' +} + +export function getCurlBodyArguments( + bodyParameters: CurlBodyParameters | null | undefined, + contentType?: string, + { jsonIndent }: { jsonIndent?: number } = {}, +): string[] { + if (!bodyParameters) return [] + + const bodyFlag = contentType ? CURL_CONTENT_TYPE_BODY_FLAGS[contentType] : undefined + if (!bodyFlag) { + return [`-d '${JSON.stringify(bodyParameters, null, jsonIndent).replace(/'/g, "'\\''")}'`] + } + + if (typeof bodyParameters === 'object' && !Array.isArray(bodyParameters)) { + return Object.entries(bodyParameters).map(([name, value]) => { + const escapedValue = escapeShellValue(String(value)) + return `${bodyFlag} '${name}=${escapedValue}'` + }) + } + + const escapedValue = escapeShellValue(String(bodyParameters)) + return [`${bodyFlag} "${escapedValue}"`] +} + +// Escapes single quotes so a contraction like "there's" can't break out of the +// surrounding shell quoting. +export function escapeShellValue(value: string): string { + return value.replace(/'/g, "'\\''") +} From 33e166491e12db3ab994d83d75a60e1a36d2ef1d Mon Sep 17 00:00:00 2001 From: Felix Guntrip Date: Wed, 30 Sep 2026 14:44:41 +0000 Subject: [PATCH 2/8] Migrating repositories between Proxima stamps using GitHub Enterprise Importer (#63557) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Briana J Co-authored-by: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> --- .../overview/migration-paths-to-github.md | 9 + ...bout-migrations-between-github-products.md | 4 +- .../index.md | 1 + ...s-between-two-data-resident-enterprises.md | 293 ++++++++++++++++++ ...-of-a-migration-between-github-products.md | 6 +- .../supported-migration-paths.md | 4 +- 6 files changed, 309 insertions(+), 8 deletions(-) create mode 100644 content/migrations/using-github-enterprise-importer/migrating-between-github-products/migrating-repositories-between-two-data-resident-enterprises.md diff --git a/content/migrations/overview/migration-paths-to-github.md b/content/migrations/overview/migration-paths-to-github.md index 60f8e2bbf58c..6268835d7f92 100644 --- a/content/migrations/overview/migration-paths-to-github.md +++ b/content/migrations/overview/migration-paths-to-github.md @@ -157,6 +157,7 @@ Follow a link below to review the scope and tooling for your migration to {% dat * [{% data variables.product.prodname_ghe_server %} to {% data variables.enterprise.data_residency_site %}](#github-enterprise-server-to-ghecom) * [{% data variables.product.prodname_dotcom_the_website %} to {% data variables.enterprise.data_residency_site %}](#githubcom-to-ghecom) +* [{% data variables.enterprise.data_residency_site %} to {% data variables.enterprise.data_residency_site %}](#ghecom-to-ghecom) * [Azure DevOps Services (Azure DevOps Cloud) to {% data variables.enterprise.data_residency_site %}](#azure-devops-services-azure-devops-cloud-to-ghecom) * [Azure DevOps Server to {% data variables.enterprise.data_residency_site %}](#azure-devops-server-to-ghecom) * [Bitbucket Cloud (Bitbucket.org) to {% data variables.enterprise.data_residency_site %}](#bitbucket-cloud-bitbucketorg-to-ghecom) @@ -194,6 +195,14 @@ Follow a link below to review the scope and tooling for your migration to {% dat * {% data reusables.migrations.large-repositories-require-expert-services-ghecom %} * {% data reusables.migrations.migration-instructions-for-any-git-repository-to-ghecom %} +### {% data variables.enterprise.data_residency_site %} to {% data variables.enterprise.data_residency_site %} + +* **Scope:** Source, history, and metadata +* **Tooling:** {% data variables.product.prodname_importer_proper_name %} +* **More information:** [AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-between-github-products/migrating-repositories-between-two-data-resident-enterprises) +* **Caveats:** + * Repository archives must be less than 5GB. + ### Azure DevOps Services (Azure DevOps Cloud) to {% data variables.enterprise.data_residency_site %} * **Scope:** Source, history, and metadata diff --git a/content/migrations/using-github-enterprise-importer/migrating-between-github-products/about-migrations-between-github-products.md b/content/migrations/using-github-enterprise-importer/migrating-between-github-products/about-migrations-between-github-products.md index 5fed878ddef0..efa3c90d6b4a 100644 --- a/content/migrations/using-github-enterprise-importer/migrating-between-github-products/about-migrations-between-github-products.md +++ b/content/migrations/using-github-enterprise-importer/migrating-between-github-products/about-migrations-between-github-products.md @@ -13,9 +13,9 @@ allowTitleToDifferFromFilename: true ## About migrations between {% data variables.product.company_short %} products -With {% data variables.product.prodname_importer_proper_name %}, you can migrate data from {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_ghe_cloud %}, or migrate data from {% data variables.product.prodname_dotcom_the_website %} to another account on {% data variables.product.prodname_ghe_cloud %}. +With {% data variables.product.prodname_importer_proper_name %}, you can migrate data from {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_ghe_cloud %}, migrate data from {% data variables.product.prodname_dotcom_the_website %} to another account on {% data variables.product.prodname_ghe_cloud %}, or migrate repositories between two enterprises on {% data variables.enterprise.data_residency_site %}. -If your migration source is an account on {% data variables.product.prodname_dotcom_the_website %}, you can migrate individual repositories between organizations, or migrate entire organizations between enterprises. If your migration source is {% data variables.product.prodname_ghe_server %}, you can migrate individual repositories. +If your migration source is an account on {% data variables.product.prodname_dotcom_the_website %}, you can migrate individual repositories between organizations, or migrate entire organizations between enterprises. If your migration source is {% data variables.product.prodname_ghe_server %} or {% data variables.enterprise.data_residency_site %}, you can migrate individual repositories. The data that {% data variables.product.prodname_importer_proper_name %} migrates depends on the source of the migration and whether you are migrating a repository or organization. diff --git a/content/migrations/using-github-enterprise-importer/migrating-between-github-products/index.md b/content/migrations/using-github-enterprise-importer/migrating-between-github-products/index.md index 9c057c2523e7..77ea0b16b90f 100644 --- a/content/migrations/using-github-enterprise-importer/migrating-between-github-products/index.md +++ b/content/migrations/using-github-enterprise-importer/migrating-between-github-products/index.md @@ -13,5 +13,6 @@ children: - /migrating-repositories-from-github-enterprise-server-to-github-enterprise-cloud - /migrating-repositories-from-githubcom-to-github-enterprise-cloud - /migrating-organizations-from-githubcom-to-github-enterprise-cloud + - /migrating-repositories-between-two-data-resident-enterprises --- diff --git a/content/migrations/using-github-enterprise-importer/migrating-between-github-products/migrating-repositories-between-two-data-resident-enterprises.md b/content/migrations/using-github-enterprise-importer/migrating-between-github-products/migrating-repositories-between-two-data-resident-enterprises.md new file mode 100644 index 000000000000..5e0a072f08e5 --- /dev/null +++ b/content/migrations/using-github-enterprise-importer/migrating-between-github-products/migrating-repositories-between-two-data-resident-enterprises.md @@ -0,0 +1,293 @@ +--- +title: Migrating repositories between two data-resident enterprises +shortTitle: Migrate between data-resident enterprises +intro: 'You can use the {% data variables.product.prodname_importer_proper_name %} (GEI) extension for {% data variables.product.prodname_cli %} to migrate repositories between two instances of {% data variables.enterprise.data_residency %}.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +defaultTool: cli +category: + - Run an enterprise migration +--- + +## About migrations between data-resident enterprises + +Migrations between two data-resident enterprises use the standard GEI archive migration flow: + +1. GEI connects to the source {% data variables.enterprise.data_residency_site %} subdomain. +1. GEI generates an archive containing the repository data. +1. GEI uploads the archive to supported migration storage. +1. GEI starts the repository migration on the destination {% data variables.enterprise.data_residency_site %} subdomain. +1. The destination {% data variables.product.prodname_importer_secondary_name %} downloads and processes the archive. + +In this migration: + +* The **source** is a {% data variables.enterprise.data_residency_site %} subdomain, such as `https://SOURCE_SUBDOMAIN.ghe.com`. +* The **destination** is a different {% data variables.enterprise.data_residency_site %} subdomain, such as `https://DESTINATION_SUBDOMAIN.ghe.com`. +* The source and destination organizations can have different names. +* The migrated repository can have a different name in the destination organization. + +The source and destination API endpoints must be specified independently. Do not use the destination API URL for source operations. + +> [!IMPORTANT] +> {% data variables.enterprise.data_residency %} API URLs use the format `https://api.SUBDOMAIN.ghe.com`. This is different from a {% data variables.product.prodname_ghe_server %} API URL, which typically uses the format `https://HOSTNAME/api/v3`. + +## Prerequisites + +Before you begin: + +* Confirm that the source and destination are different {% data variables.enterprise.data_residency_site %} subdomains. +* In both the source and destination organizations, ensure that you are an organization owner or have been granted the migrator role. +* Create a {% data variables.product.pat_v1 %} for the source organization. +* Create a {% data variables.product.pat_v1 %} for the destination organization. For required scopes, see [AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-between-github-products/managing-access-for-a-migration-between-github-products#required-scopes-for-personal-access-tokens). +* Run a trial migration before performing the production migration. + +We recommend temporarily stopping work on the source repository during the production migration. {% data variables.product.prodname_importer_proper_name %} does not perform delta migrations, so changes made after the migration starts are not included automatically. + +For information about the data migrated and known limitations, see [AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-between-github-products/about-migrations-between-github-products). + + +## Install the {% data variables.product.prodname_cli %} and GEI + +Install the {% data variables.product.prodname_cli %}, then install the GEI extension: + +```bash copy +gh extension install github/gh-gei +``` + +Update the extension before starting a migration: + +```bash copy +gh extension upgrade github/gh-gei +``` + +To display the available options: + +```bash copy +gh gei migrate-repo --help +``` + +## Set environment variables + +Set the {% data variables.product.pat_generic %}s for both enterprises: + +```bash copy +export GH_SOURCE_PAT="SOURCE_PERSONAL_ACCESS_TOKEN" +export GH_PAT="DESTINATION_PERSONAL_ACCESS_TOKEN" +``` + +Set the API URL for each {% data variables.enterprise.data_residency_site %} subdomain: + +```bash copy +export SOURCE_API_URL="https://api.SOURCE_SUBDOMAIN.ghe.com" +export TARGET_API_URL="https://api.DESTINATION_SUBDOMAIN.ghe.com" +``` + +Replace `SOURCE_SUBDOMAIN` and `DESTINATION_SUBDOMAIN` with the subdomains of your source and destination enterprise. + +For example: + +```bash copy +export SOURCE_API_URL="https://api.source-example.ghe.com" +export TARGET_API_URL="https://api.destination-example.ghe.com" +``` + +The `GH_SOURCE_PAT` token is used for source-side operations, including archive generation. The `GH_PAT` token is used for destination-side operations. + +## Configure archive blob storage + +{% data variables.product.prodname_importer_proper_name %} exports each project to an archive, then uploads the archive to blob storage that {% data variables.product.github %} can read from. You choose the storage backend when you run a migration: + +Storage option | How to select it | Notes +-------------- | ---------------- | ----- +{% data variables.product.prodname_ghos %} (recommended) | `--use-github-storage` | No setup required. {% data variables.product.prodname_dotcom %} deletes the archive automatically after a successful migration, or seven days after a failed migration. +AWS S3 | `--aws-bucket-name` (with the `AWS_REGION`, `AWS_ACCESS_KEY_ID`, and `AWS_SECRET_ACCESS_KEY` environment variables, and optionally `AWS_SESSION_TOKEN`) | You own the bucket and its lifecycle. {% data variables.product.prodname_dotcom %} does not delete archives from your storage. +Azure Blob Storage | `AZURE_STORAGE_CONNECTION_STRING` environment variable (for a single `migrate-repo` command, you can instead use `--azure-storage-connection-string`) | Only storage-account access-key connection strings are supported (not SAS). {% data variables.product.prodname_dotcom %} does not delete archives from your storage. + +## Migrate a single repository + +To migrate a single repository, use the `gh gei migrate-repo` command: + +```bash copy +gh gei migrate-repo \ + --github-source-org SOURCE_ORGANIZATION \ + --source-repo SOURCE_REPOSITORY \ + --github-source-api-url "$SOURCE_API_URL" \ + --github-target-org DESTINATION_ORGANIZATION \ + --target-repo DESTINATION_REPOSITORY \ + --target-api-url "$TARGET_API_URL" \ + --verbose +``` + +Replace the placeholders with the following values: + +| Placeholder | Description | +| --- | --- | +| `SOURCE_ORGANIZATION` | The organization that owns the repository in the source enterprise. | +| `SOURCE_REPOSITORY` | The name of the repository in the source organization. | +| `DESTINATION_ORGANIZATION` | The organization that will own the migrated repository in the destination enterprise. | +| `DESTINATION_REPOSITORY` | The name of the new repository in the destination organization. | + +For example: + +```bash copy +gh gei migrate-repo \ + --github-source-org source-org \ + --source-repo example-repository \ + --github-source-api-url "$SOURCE_API_URL" \ + --github-target-org destination-org \ + --target-repo example-repository \ + --target-api-url "$TARGET_API_URL" \ + --verbose +``` + +If you omit `--target-repo`, GEI uses the source repository name. + +### Optional arguments + +You can add the following options to the migration command: + +| Argument | Description | +| --- | --- | +| `--target-repo-visibility TARGET-VISIBILITY` | Sets the visibility of the new repository. Supported values are `private` and `internal`. | +| `--skip-releases` | Migrates the repository without releases. | +| `--queue-only` | Queues the migration without waiting for it to complete. | +| `--verbose` | Displays additional migration output. | + +For example: + +```bash copy +gh gei migrate-repo \ + --github-source-org source-org \ + --source-repo example-repository \ + --github-source-api-url "$SOURCE_API_URL" \ + --github-target-org destination-org \ + --target-repo example-repository \ + --target-api-url "$TARGET_API_URL" \ + --target-repo-visibility internal \ + --verbose +``` + +## Migrate multiple repositories + +For multiple repositories, use `gh gei generate-script`. + +```bash copy +gh gei generate-script \ + --github-source-org SOURCE_ORGANIZATION \ + --github-target-org DESTINATION_ORGANIZATION \ + --github-source-api-url "$SOURCE_API_URL" \ + --target-api-url "$TARGET_API_URL" \ + --output migration-script.ps1 +``` + +Review the generated script before running it. You can: + +* Remove repositories that should not be migrated. +* Change destination repository names. +* Change destination repository visibility. +* Add options such as `--skip-releases`. +* Add `--download-migration-logs` to download logs for each migration. + +Run the generated script with PowerShell: + +```bash copy +pwsh ./migration-script.ps1 +``` + +## Check the status of a migration + +If you started the migration with `--queue-only`, use the migration ID printed by GEI to monitor it: + +```bash copy +gh gei wait-for-migration \ + --migration-id MIGRATION_ID \ + --target-api-url "$TARGET_API_URL" \ + --verbose +``` + +Replace `MIGRATION_ID` with the ID returned by `gh gei migrate-repo`. + +> [!NOTE] +> Include both API URL arguments when checking. The source API URL is required for GEI commands that retrieve source-side migration information and logs. + +## Download migration logs + +To download the migration logs: + +```bash copy +gh gei download-logs \ + --migration-id MIGRATION_ID \ + --github-source-api-url "$SOURCE_API_URL" \ + --target-api-url "$TARGET_API_URL" +``` + +Review the logs for warnings and errors even when the migration reports success. + +## Abort a migration + +To abort a queued or running migration: + +```bash copy +gh gei abort-migration \ + --migration-id MIGRATION_ID \ + --github-source-api-url "$SOURCE_API_URL" \ + --target-api-url "$TARGET_API_URL" +``` + +## Troubleshooting + +### The source tenant cannot be reached + +Verify that: + +* `--github-source-api-url` is set to the source subdomain. +* The URL uses the format `https://api.SUBDOMAIN.ghe.com`. +* The source token is stored in `GH_SOURCE_PAT`. +* The token has access to the source organization and repository. + +### The destination tenant cannot be reached + +Verify that: + +* `--target-api-url` is set to the destination subdomain. +* The URL uses the format `https://api.SUBDOMAIN.ghe.com`. +* The destination token is stored in `GH_PAT`. +* You have permission to create repositories in the destination organization. + +### The migration fails while generating or uploading the archive + +Review the migration output and logs, then verify that: + +* Migration archive storage is configured correctly. +* The storage provider is accessible to the migration service. +* The source repository is not being modified during the migration. +* The source and destination API URLs have not been swapped. + +### Logs cannot be downloaded + +When using `download-logs`, `wait-for-migration`, or `abort-migration`, provide the same source and destination API URLs used to start the migration: + +```bash +--github-source-api-url "$SOURCE_API_URL" \ +--target-api-url "$TARGET_API_URL" +``` + +### The source URL is rejected + +Make sure you are using the {% data variables.enterprise.data_residency_site %} subdomain API endpoint rather than a {% data variables.product.prodname_ghe_server %} endpoint. + +Use: + +```text +https://api.SUBDOMAIN.ghe.com +``` + +Do not use: + +```text +https://HOSTNAME/api/v3 +``` + +The `/api/v3` format is intended for {% data variables.product.prodname_ghe_server %} sources and is not the correct format for {% data variables.enterprise.data_residency %}. \ No newline at end of file diff --git a/content/migrations/using-github-enterprise-importer/migrating-between-github-products/overview-of-a-migration-between-github-products.md b/content/migrations/using-github-enterprise-importer/migrating-between-github-products/overview-of-a-migration-between-github-products.md index 02af64ec4e82..4fc304e50196 100644 --- a/content/migrations/using-github-enterprise-importer/migrating-between-github-products/overview-of-a-migration-between-github-products.md +++ b/content/migrations/using-github-enterprise-importer/migrating-between-github-products/overview-of-a-migration-between-github-products.md @@ -18,7 +18,7 @@ category: With {% data variables.product.prodname_importer_proper_name %}, you can migrate to {% data variables.product.prodname_ghe_cloud %}. For more information, see [AUTOTITLE](/migrations/using-github-enterprise-importer/understanding-github-enterprise-importer/about-github-enterprise-importer). -If you're migrating between {% data variables.product.company_short %} products, such as from {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_ghe_cloud %}, you can use this guide to plan and implement your migration and complete follow-up tasks. For a full list of supported migration paths, see [AUTOTITLE](/migrations/using-github-enterprise-importer/understanding-github-enterprise-importer/about-github-enterprise-importer#supported-migration-paths). +If you're migrating between {% data variables.product.company_short %} products, such as from {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_ghe_cloud %} or between two enterprises on {% data variables.enterprise.data_residency_site %}, you can use this guide to plan and implement your migration and complete follow-up tasks. For a full list of supported migration paths, see [AUTOTITLE](/migrations/using-github-enterprise-importer/understanding-github-enterprise-importer/about-github-enterprise-importer#supported-migration-paths). ## Planning your migration @@ -35,7 +35,7 @@ If you're migrating between {% data variables.product.company_short %} products, First, if your migration source is {% data variables.product.prodname_dotcom_the_website %}, decide whether you want to migrate on an organization-by-organization basis or on a repository-by-repository basis. > [!NOTE] -> If you're migrating from {% data variables.product.prodname_ghe_server %}, you can only migrate repositories. +> If you're migrating from {% data variables.product.prodname_ghe_server %} or {% data variables.enterprise.data_residency_site %}, you can only migrate repositories. If you choose repository-by-repository migrations, only repository-level data is migrated. If you pick the organization-by-organization migration strategy, selected organization-level data is also migrated, including teams and their access to repositories. @@ -122,7 +122,7 @@ For repository migrations, we recommend creating a test organization to use as a {% data reusables.enterprise-migration-tool.trial-migrations-tasks %} {% data reusables.enterprise-migration-tool.configure-destination-ip-allow-list %} For more information, see [AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-between-github-products/managing-access-for-a-migration-between-github-products#configuring-ip-allow-lists-for-migrations). 1. If you're running a repository migration and you want to migrate settings for {% data variables.product.prodname_GHAS %} products, enable {% data variables.product.prodname_GHAS %} products for the destination organization. For more information, see [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization). -1. Run your production migrations. For more information, see [AUTOTITLE](/migrations/using-github-enterprise-importer/understanding-github-enterprise-importer/about-github-enterprise-importer) or [AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-between-github-products/migrating-organizations-from-githubcom-to-github-enterprise-cloud). +1. Run your production migrations. To migrate repositories between two enterprises on {% data variables.enterprise.data_residency_site %}, see [AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-between-github-products/migrating-repositories-between-two-data-resident-enterprises). For other migration paths, see [AUTOTITLE](/migrations/using-github-enterprise-importer/understanding-github-enterprise-importer/about-github-enterprise-importer) or [AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-between-github-products/migrating-organizations-from-githubcom-to-github-enterprise-cloud). {% data reusables.enterprise-migration-tool.delete-test-organization %} ## Completing follow-up tasks diff --git a/data/reusables/enterprise-migration-tool/supported-migration-paths.md b/data/reusables/enterprise-migration-tool/supported-migration-paths.md index 63be17ea913d..9eef5bc2f43c 100644 --- a/data/reusables/enterprise-migration-tool/supported-migration-paths.md +++ b/data/reusables/enterprise-migration-tool/supported-migration-paths.md @@ -4,7 +4,5 @@ * Bitbucket Server and Bitbucket Data Center 5.14+ * {% data variables.product.prodname_dotcom_the_website %} * {% data variables.product.prodname_ghe_server %} (GHES) 3.4.1+ +* {% data variables.enterprise.data_residency_site %} (only when the destination is a different enterprise on {% data variables.enterprise.data_residency_site %}) * GitLab (GitLab.com or [maintained self-hosted versions](https://docs.gitlab.com/policy/maintenance/#maintained-versions)) - -> [!NOTE] -> {% data variables.product.prodname_importer_proper_name %} does not currently support migrations **from {% data variables.enterprise.data_residency_site %}.** From 7e628b0d08dccc50dac0f626214027153d7fdc65 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 30 Sep 2026 15:20:23 +0000 Subject: [PATCH 3/8] Bump boxen from 8.0.1 to 9.0.0 (#63608) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 258 +++++++++++++++++++++++++++++++++++----------- package.json | 2 +- 2 files changed, 197 insertions(+), 63 deletions(-) diff --git a/package-lock.json b/package-lock.json index bfa3b1942909..e3995a253356 100644 --- a/package-lock.json +++ b/package-lock.json @@ -129,7 +129,7 @@ "@typescript-eslint/eslint-plugin": "^8.33.1", "@typescript-eslint/parser": "^8.33.1", "bottleneck": "2.19.5", - "boxen": "8.0.1", + "boxen": "9.0.0", "change-case": "^5.4.4", "commander": "^15.0.0", "cross-env": "^10.1.0", @@ -5698,14 +5698,6 @@ } } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.1.0" - } - }, "node_modules/ansi-escapes": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz", @@ -6133,19 +6125,74 @@ "license": "MIT" }, "node_modules/boxen": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", - "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-9.0.0.tgz", + "integrity": "sha512-PdzDS/iXrRlY3eWTL8hKcqEioYZ9RCcn0IGf8BjrLvc+YWa/hNjOrE/5Sl2Ai6mOFePuDgC2y4zF0I6GUwfVUQ==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^8.0.0", - "chalk": "^5.3.0", - "cli-boxes": "^3.0.0", - "string-width": "^7.2.0", - "type-fest": "^4.21.0", - "widest-line": "^5.0.0", - "wrap-ansi": "^9.0.0" + "chalk": "^6.0.0", + "cli-boxes": "^4.0.1", + "slice-ansi": "^9.0.1", + "string-width": "^8.2.2", + "type-fest": "^5.10.0", + "widest-line": "^6.0.0", + "wrap-ansi": "^10.0.2" + }, + "engines": { + "node": ">=22" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-regex": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz", + "integrity": "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-6.0.0.tgz", + "integrity": "sha512-2uNTXIuTTxk7ciZgAU1BQcgnchcG0xXnrs6jzkQfj9SsRa9M2s5zE8WT96hS6KmG4MzWHSrvH43DF1m4XRkrFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=22" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/is-fullwidth-code-point": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.3.1" }, "engines": { "node": ">=18" @@ -6154,29 +6201,89 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/boxen/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true + "node_modules/boxen/node_modules/slice-ansi": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-9.0.1.tgz", + "integrity": "sha512-aBY19bn/XA+hKOKX0qL7Z0UfdBsbQvc9hn993U8ALUjzxCvDcuZqLoRXjGJrUARWAlwMnsRVD9sw2AFNOYvalA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.3", + "is-fullwidth-code-point": "^5.1.0" + }, + "engines": { + "node": ">=22" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } }, "node_modules/boxen/node_modules/string-width": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.2.tgz", + "integrity": "sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/strip-ansi": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, + "license": "MIT", "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "ansi-regex": "^6.2.2" }, "engines": { - "node": ">=18" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.10.0.tgz", + "integrity": "sha512-NoSdpq/WEiAg5sjmBkmV/hfxv6HJH4NqPNrqjtSO5CwRmpsDfaf4begxW34KdJykH/l1yHtwBWQkCRdoXO8mPA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "dependencies": { + "tagged-tag": "^1.0.0" + }, + "engines": { + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/boxen/node_modules/wrap-ansi": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-10.0.2.tgz", + "integrity": "sha512-6OLRNZqRntVGBm26ghZ5eZhCuWWyOkRCSn8XsOIuq5stpCE/tjLbdozd93naILZig0lmD8ANfRwnhn0DLeXGlg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.3", + "string-width": "^8.2.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/brace-expansion": { "version": "5.0.9", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", @@ -6416,18 +6523,6 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", - "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001810", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz", @@ -6667,11 +6762,13 @@ "license": "MIT" }, "node_modules/cli-boxes": { - "version": "3.0.0", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-4.0.1.tgz", + "integrity": "sha512-5IOn+jcCEHEraYolBPs/sT4BxYCe2nHg374OPiItB1O96KZFseS2gthU4twyYzeDcFew4DaUM/xwc5BQf08JJw==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=18.20 <19 || >=20.10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -15077,6 +15174,19 @@ "url": "https://opencollective.com/synckit" } }, + "node_modules/tagged-tag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz", + "integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/tcp-port-used": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", @@ -16476,43 +16586,67 @@ } }, "node_modules/widest-line": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", - "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-6.0.0.tgz", + "integrity": "sha512-U89AsyEeAsyoF0zVJBkG9zBgekjgjK7yk9sje3F4IQpXBJ10TF6ByLlIfjMhcmHMJgHZI4KHt4rdNfktzxIAMA==", "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^7.0.0" + "string-width": "^8.1.0" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/widest-line/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true + "node_modules/widest-line/node_modules/ansi-regex": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz", + "integrity": "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } }, "node_modules/widest-line/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.2.tgz", + "integrity": "sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==", "dev": true, + "license": "MIT", "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/widest-line/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/wrap-ansi": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", diff --git a/package.json b/package.json index 05112a64c957..db015e1eb4ce 100644 --- a/package.json +++ b/package.json @@ -291,7 +291,7 @@ "@typescript-eslint/eslint-plugin": "^8.33.1", "@typescript-eslint/parser": "^8.33.1", "bottleneck": "2.19.5", - "boxen": "8.0.1", + "boxen": "9.0.0", "change-case": "^5.4.4", "commander": "^15.0.0", "cross-env": "^10.1.0", From d9fd377ea956f59385ac8cb2034ba5c613b6fd85 Mon Sep 17 00:00:00 2001 From: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com> Date: Wed, 30 Sep 2026 16:08:30 +0000 Subject: [PATCH 4/8] [Release branch] Reorganize "Copilot in your IDE" how-tos (#62778) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Steve Ward Copilot-Session: 3d652994-a326-4b43-a774-a276c9b8470d Copilot-Session: 6fd38a97-287b-4ebf-a45f-8c4d144073ec Copilot-Session: be510969-573f-48ca-91c0-c578bcb7354f Copilot-Session: 37e30119-eab7-4b99-8887-200dad7d2cc6 Copilot-Session: c2298fcb-1dc6-4304-9942-e6791ce1dcd1 Copilot-Session: 5a394af6-d88e-479f-a306-0709faef10f8 --- ...ub-enterprise-cloud-with-data-residency.md | 2 +- ...scan-for-secrets-with-github-mcp-server.md | 2 +- .../agents/cloud-agent/about-cloud-agent.md | 2 +- .../agents/cloud-agent/mcp-and-cloud-agent.md | 2 +- .../concepts/agents/copilot-in-jetbrains.md | 8 +- .../billing-and-usage/individuals/billing.md | 2 +- .../organizations-and-enterprises/billing.md | 2 +- content/copilot/concepts/chat.md | 8 +- .../concepts/completions/code-referencing.md | 2 +- .../concepts/completions/code-suggestions.md | 10 +- content/copilot/concepts/context/mcp.md | 12 +- .../prompting/response-customization.md | 4 +- .../network-settings.md | 2 +- .../get-started/about-github-copilot.md | 2 +- content/copilot/get-started/best-practices.md | 6 +- ...rt-for-using-github-copilot-in-your-ide.md | 6 +- .../where-to-use-github-copilot.md | 8 + .../how-tos/chat-with-copilot/index.md | 18 - .../exclude-content-from-copilot.md | 2 +- .../index.md | 10 - .../configure-personal-settings/index.md | 15 - .../customize-copilot/add-mcp-servers.md | 2 +- content/copilot/how-tos/copilot-cli/index.md | 12 + .../change-the-chat-model.md | 31 +- .../chat-with-copilot/chat-in-ide.md | 347 ++++-------------- .../chat-in-windows-terminal.md | 1 + .../get-started-with-chat-in-your-ide.md | 5 +- .../chat-with-copilot/index.md | 18 + .../change-the-completion-model.md | 3 +- .../find-matching-code.md | 5 +- .../get-ide-code-suggestions.md | 21 +- .../copilot-for-common-tasks/index.md | 22 ++ .../use-the-github-mcp-server.md | 15 +- ...add-repository-instructions-in-your-ide.md | 4 +- .../configure-custom-instructions/index.md | 13 + .../change-mcp-registry.md | 2 + .../configure-toolsets.md | 6 +- .../enterprise-configuration.md | 8 +- .../extend-copilot-chat-with-mcp.md | 8 +- .../index.md | 24 ++ .../set-up-the-github-mcp-server.md | 12 +- .../use-copilot-spaces.md | 16 +- .../customize-copilot/index.md | 16 + .../how-tos/copilot-in-your-ide/index.md | 19 + .../set-up-copilot}/authenticate-to-ghecom.md | 5 +- .../set-up-copilot}/configure-in-ide.md | 9 +- .../configure-network-settings.md | 3 +- .../set-up-copilot/index.md | 23 ++ .../install-copilot-extension.md | 13 +- .../use-copilot-agents/index.md | 15 + .../use-copilot-agents/use-agent-mode.md | 233 ++++++++++++ .../use-cloud-agent-in-your-ide.md | 8 +- .../use-copilot-agents/use-custom-agents.md} | 9 +- .../use-copilot-agents/use-plan-mode.md | 133 +++++++ .../use-copilot-agents/use-subagents.md | 129 +++++++ ...the-github-mcp-server-from-copilot-chat.md | 2 +- .../add-repository-instructions.md | 2 +- .../configure-mcp-servers.md | 4 +- .../copilot-spaces/collaborate-with-others.md | 2 +- .../copilot-spaces/create-copilot-spaces.md | 2 +- .../customize-copilot/copilot-spaces/index.md | 4 + .../enable-copilot/set-up-for-enterprise.md | 2 +- .../enable-copilot/set-up-for-organization.md | 4 +- .../how-tos/get-code-suggestions/index.md | 17 - content/copilot/how-tos/index.md | 9 +- .../disable-copilot-free.md | 2 +- .../manage-your-account/manage-policies.md | 2 +- .../view-and-change-your-copilot-plan.md | 2 +- .../copilot/how-tos/provide-context/index.md | 15 - .../use-copilot-spaces/index.md | 18 - .../use-mcp-in-your-ide/index.md | 21 -- content/copilot/how-tos/set-up/index.md | 15 - .../copilot/how-tos/set-up/set-up-for-self.md | 69 ---- .../troubleshoot-common-issues.md | 8 +- .../troubleshoot-network-errors.md | 10 +- .../how-tos/troubleshoot-copilot/view-logs.md | 2 +- .../copilot/how-tos/use-ai-models/index.md | 15 - .../use-copilot-agents/cloud-agent/index.md | 4 +- .../cloud-agent/use-cloud-agent-with-mcp.md | 2 +- .../use-copilot-for-common-tasks/index.md | 12 - .../use-copilot-in-the-cli.md | 24 -- .../reference/ai-models/model-comparison.md | 4 +- .../reference/ai-models/supported-models.md | 2 +- content/copilot/reference/chat-cheat-sheet.md | 12 +- .../reference/copilot-allowlist-reference.md | 2 +- .../copilot-requests.md | 2 +- .../reference/custom-instructions-support.md | 2 +- .../reference/customization-cheat-sheet.md | 6 +- content/copilot/responsible-use/chat.md | 6 +- .../responsible-use/inline-suggestions.md | 2 +- .../creating-diagrams.md | 2 +- .../tutorials/enhance-agent-mode-with-mcp.md | 6 +- .../copilot/tutorials/optimize-ai-usage.md | 2 +- .../tutorials/reduce-technical-debt.md | 2 +- .../tutorials/review-ai-generated-code.md | 2 +- .../assign-licenses/remind-inactive-users.md | 4 +- .../increase-test-coverage.md | 6 +- .../enable-developers/drive-adoption.md | 8 +- content/copilot/tutorials/vibe-coding.md | 4 +- content/copilot/tutorials/write-tests.md | 2 +- .../reviewing-your-proposed-changes.md | 2 +- .../using-github-docs/github-docs-api.md | 2 +- content/index.md | 2 +- .../using-issues/creating-an-issue.md | 2 +- .../creating-a-new-repository.md | 2 +- data/llms-txt/config-default.yml | 8 +- data/llms-txt/docs.md | 4 +- data/reusables/copilot/change-the-ai-model.md | 2 +- .../code-completion-switch-model-affects.md | 6 +- data/reusables/copilot/dotcom-settings.md | 2 +- .../copilot/jetbrains-plugin-prerequisites.md | 4 +- 111 files changed, 950 insertions(+), 746 deletions(-) delete mode 100644 content/copilot/how-tos/chat-with-copilot/index.md delete mode 100644 content/copilot/how-tos/configure-custom-instructions-in-your-ide/index.md delete mode 100644 content/copilot/how-tos/configure-personal-settings/index.md rename content/copilot/how-tos/{use-ai-models => copilot-in-your-ide/chat-with-copilot}/change-the-chat-model.md (83%) rename content/copilot/how-tos/{ => copilot-in-your-ide}/chat-with-copilot/chat-in-ide.md (64%) rename content/copilot/how-tos/{ => copilot-in-your-ide}/chat-with-copilot/chat-in-windows-terminal.md (97%) rename content/copilot/how-tos/{ => copilot-in-your-ide}/chat-with-copilot/get-started-with-chat-in-your-ide.md (97%) create mode 100644 content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/index.md rename content/copilot/how-tos/{use-ai-models => copilot-in-your-ide/copilot-for-common-tasks}/change-the-completion-model.md (94%) rename content/copilot/how-tos/{get-code-suggestions => copilot-in-your-ide/copilot-for-common-tasks}/find-matching-code.md (98%) rename content/copilot/how-tos/{get-code-suggestions => copilot-in-your-ide/copilot-for-common-tasks}/get-ide-code-suggestions.md (97%) create mode 100644 content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/index.md rename content/copilot/how-tos/{provide-context/use-mcp-in-your-ide => copilot-in-your-ide/copilot-for-common-tasks}/use-the-github-mcp-server.md (91%) rename content/copilot/how-tos/{configure-custom-instructions-in-your-ide => copilot-in-your-ide/customize-copilot/configure-custom-instructions}/add-repository-instructions-in-your-ide.md (98%) create mode 100644 content/copilot/how-tos/copilot-in-your-ide/customize-copilot/configure-custom-instructions/index.md rename content/copilot/how-tos/{provide-context/use-mcp-in-your-ide => copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context}/change-mcp-registry.md (95%) rename content/copilot/how-tos/{provide-context/use-mcp-in-your-ide => copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context}/configure-toolsets.md (88%) rename content/copilot/how-tos/{provide-context/use-mcp-in-your-ide => copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context}/enterprise-configuration.md (97%) rename content/copilot/how-tos/{provide-context/use-mcp-in-your-ide => copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context}/extend-copilot-chat-with-mcp.md (97%) create mode 100644 content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/index.md rename content/copilot/how-tos/{provide-context/use-mcp-in-your-ide => copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context}/set-up-the-github-mcp-server.md (96%) rename content/copilot/how-tos/{provide-context/use-copilot-spaces => copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context}/use-copilot-spaces.md (84%) create mode 100644 content/copilot/how-tos/copilot-in-your-ide/customize-copilot/index.md create mode 100644 content/copilot/how-tos/copilot-in-your-ide/index.md rename content/copilot/how-tos/{configure-personal-settings => copilot-in-your-ide/set-up-copilot}/authenticate-to-ghecom.md (94%) rename content/copilot/how-tos/{configure-personal-settings => copilot-in-your-ide/set-up-copilot}/configure-in-ide.md (98%) rename content/copilot/how-tos/{configure-personal-settings => copilot-in-your-ide/set-up-copilot}/configure-network-settings.md (97%) create mode 100644 content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/index.md rename content/copilot/how-tos/{set-up => copilot-in-your-ide/set-up-copilot}/install-copilot-extension.md (96%) create mode 100644 content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/index.md create mode 100644 content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode.md rename content/copilot/how-tos/{use-copilot-agents/cloud-agent => copilot-in-your-ide/use-copilot-agents}/use-cloud-agent-in-your-ide.md (95%) rename content/copilot/how-tos/{use-copilot-agents/cloud-agent/create-custom-agents-in-your-ide.md => copilot-in-your-ide/use-copilot-agents/use-custom-agents.md} (94%) create mode 100644 content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-plan-mode.md create mode 100644 content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-subagents.md delete mode 100644 content/copilot/how-tos/get-code-suggestions/index.md delete mode 100644 content/copilot/how-tos/provide-context/index.md delete mode 100644 content/copilot/how-tos/provide-context/use-copilot-spaces/index.md delete mode 100644 content/copilot/how-tos/provide-context/use-mcp-in-your-ide/index.md delete mode 100644 content/copilot/how-tos/set-up/index.md delete mode 100644 content/copilot/how-tos/set-up/set-up-for-self.md delete mode 100644 content/copilot/how-tos/use-ai-models/index.md delete mode 100644 content/copilot/how-tos/use-copilot-for-common-tasks/index.md delete mode 100644 content/copilot/how-tos/use-copilot-for-common-tasks/use-copilot-in-the-cli.md diff --git a/content/admin/data-residency/about-github-enterprise-cloud-with-data-residency.md b/content/admin/data-residency/about-github-enterprise-cloud-with-data-residency.md index 27804e2d3ddb..5d638b355f23 100644 --- a/content/admin/data-residency/about-github-enterprise-cloud-with-data-residency.md +++ b/content/admin/data-residency/about-github-enterprise-cloud-with-data-residency.md @@ -96,7 +96,7 @@ Rate limits apply for requests to the REST API. See [AUTOTITLE](/rest/using-the- Your developers can access {% data variables.product.prodname_copilot %} if you grant them access to a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} subscription. {% data variables.enterprise.prodname_managed_users_caps %} cannot sign up for {% data variables.copilot.copilot_individuals_short %}. -* Users must perform some additional setup to authenticate to their account from their development environment. See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/authenticate-to-ghecom). +* Users must perform some additional setup to authenticate to their account from their development environment. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/authenticate-to-ghecom). * Certain {% data variables.product.prodname_copilot %} features are currently unavailable on {% data variables.enterprise.data_residency_site %}. See [AUTOTITLE](/admin/data-residency/feature-overview-for-github-enterprise-cloud-with-data-residency#currently-unavailable-features). ### Documentation diff --git a/content/code-security/how-tos/use-ghas-with-ai-coding-agents/scan-for-secrets-with-github-mcp-server.md b/content/code-security/how-tos/use-ghas-with-ai-coding-agents/scan-for-secrets-with-github-mcp-server.md index f1e6c329e19d..0894559b7d37 100644 --- a/content/code-security/how-tos/use-ghas-with-ai-coding-agents/scan-for-secrets-with-github-mcp-server.md +++ b/content/code-security/how-tos/use-ghas-with-ai-coding-agents/scan-for-secrets-with-github-mcp-server.md @@ -22,7 +22,7 @@ This works with any MCP-compatible agent or IDE, including {% data variables.pro ## Prerequisites * **{% data variables.product.prodname_GH_secret_protection %}** is enabled for the repository. -* **{% data variables.product.github %} MCP server** is connected in your IDE or agent. See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server). +* **{% data variables.product.github %} MCP server** is connected in your IDE or agent. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server). * Your organization's **security configuration** determines which secret types are detected and whether push protection is enforced. The MCP tools respect your organization's push protection configuration (repository-level push protection settings are not used). ## Step 1: Install and configure tools diff --git a/content/copilot/concepts/agents/cloud-agent/about-cloud-agent.md b/content/copilot/concepts/agents/cloud-agent/about-cloud-agent.md index b70db75f4735..983d1895ad0c 100644 --- a/content/copilot/concepts/agents/cloud-agent/about-cloud-agent.md +++ b/content/copilot/concepts/agents/cloud-agent/about-cloud-agent.md @@ -64,7 +64,7 @@ When you start a {% data variables.copilot.copilot_cloud_agent %} session from { ## {% data variables.copilot.copilot_cloud_agent %} versus agent mode -{% data variables.copilot.copilot_cloud_agent %} is distinct from the "agent mode" feature available in your IDE. {% data variables.copilot.copilot_cloud_agent %} works autonomously in a {% data variables.product.prodname_actions %}-powered environment to complete development tasks assigned through {% data variables.product.github %} issues or {% data variables.copilot.copilot_chat %} prompts. It can research a repository, create a plan, make code changes on a branch, and optionally open a pull request. In contrast, agent mode in your IDE makes autonomous edits directly in your local development environment. For more information about agent mode, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide). +{% data variables.copilot.copilot_cloud_agent %} is distinct from the "agent mode" feature available in your IDE. {% data variables.copilot.copilot_cloud_agent %} works autonomously in a {% data variables.product.prodname_actions %}-powered environment to complete development tasks assigned through {% data variables.product.github %} issues or {% data variables.copilot.copilot_chat %} prompts. It can research a repository, create a plan, make code changes on a branch, and optionally open a pull request. In contrast, agent mode in your IDE makes autonomous edits directly in your local development environment. For more information about agent mode, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide). ## Streamlining software development with {% data variables.copilot.copilot_cloud_agent %} diff --git a/content/copilot/concepts/agents/cloud-agent/mcp-and-cloud-agent.md b/content/copilot/concepts/agents/cloud-agent/mcp-and-cloud-agent.md index bd51a3b819cf..2cbacb073fcb 100644 --- a/content/copilot/concepts/agents/cloud-agent/mcp-and-cloud-agent.md +++ b/content/copilot/concepts/agents/cloud-agent/mcp-and-cloud-agent.md @@ -27,7 +27,7 @@ For more information on MCP, see [the official MCP documentation](https://modelc The following MCP servers are configured automatically for {% data variables.copilot.copilot_cloud_agent %}: -* **{% data variables.product.github %}**: The {% data variables.product.github %} MCP server gives {% data variables.product.prodname_copilot_short %} access to {% data variables.product.github %} data like issues and pull requests. To learn more, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server). +* **{% data variables.product.github %}**: The {% data variables.product.github %} MCP server gives {% data variables.product.prodname_copilot_short %} access to {% data variables.product.github %} data like issues and pull requests. To learn more, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). * By default, the {% data variables.product.github %} MCP server connects to {% data variables.product.github %} using a specially scoped token that only has read-only access to the current repository. You can customize it to use a different token with broader access. For more details, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers#customizing-the-built-in-github-mcp-server). * **Playwright**: The [Playwright MCP server](https://github.com/microsoft/playwright-mcp) gives {% data variables.product.prodname_copilot_short %} access to web pages, including the ability to read, interact and take screenshots. diff --git a/content/copilot/concepts/agents/copilot-in-jetbrains.md b/content/copilot/concepts/agents/copilot-in-jetbrains.md index 44f7ee3fefcc..be067ffd4976 100644 --- a/content/copilot/concepts/agents/copilot-in-jetbrains.md +++ b/content/copilot/concepts/agents/copilot-in-jetbrains.md @@ -34,7 +34,7 @@ There are three ways to use {% data variables.product.prodname_copilot %} in {% The {% data variables.product.prodname_copilot %} plugin for {% data variables.product.prodname_jetbrains_ides %} is the most comprehensive way to use {% data variables.product.prodname_copilot_short %} and is the recommended choice. -The plugin is transitioning from its local agent harness to {% data variables.copilot.copilot_agent_short %} as the default agent harness, which brings faster feature parity and higher-quality results. For installation instructions, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). +The plugin is transitioning from its local agent harness to {% data variables.copilot.copilot_agent_short %} as the default agent harness, which brings faster feature parity and higher-quality results. For installation instructions, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension). The {% data variables.product.prodname_copilot %} plugin provides the following capabilities. @@ -79,6 +79,6 @@ For more information about ACP, see the [ACP documentation](https://agentclientp ## Further reading -* [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide) -* [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension) -* [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-chat-model) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model) diff --git a/content/copilot/concepts/billing-and-usage/individuals/billing.md b/content/copilot/concepts/billing-and-usage/individuals/billing.md index 20fc9ff3b8c1..fea3c73d3b30 100644 --- a/content/copilot/concepts/billing-and-usage/individuals/billing.md +++ b/content/copilot/concepts/billing-and-usage/individuals/billing.md @@ -132,7 +132,7 @@ For the best experience with usage-based billing, update your IDE, client, and { | Xcode (extension) | 0.50.0 | | {% data variables.copilot.copilot_cli_short %} | 1.0.48 | -We recommend keeping your IDE, client, and {% data variables.product.prodname_copilot_short %} extensions on the latest available stable version. For information on configuring automatic updates, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide). To update {% data variables.copilot.copilot_cli_short %}, see [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli). +We recommend keeping your IDE, client, and {% data variables.product.prodname_copilot_short %} extensions on the latest available stable version. For information on configuring automatic updates, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-in-ide). To update {% data variables.copilot.copilot_cli_short %}, see [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli). ## Further reading diff --git a/content/copilot/concepts/billing-and-usage/organizations-and-enterprises/billing.md b/content/copilot/concepts/billing-and-usage/organizations-and-enterprises/billing.md index e951803975fc..73ed5f1cbe78 100644 --- a/content/copilot/concepts/billing-and-usage/organizations-and-enterprises/billing.md +++ b/content/copilot/concepts/billing-and-usage/organizations-and-enterprises/billing.md @@ -87,7 +87,7 @@ For the best experience with usage-based billing, update your IDE, client, and { | Xcode (extension) | 0.50.0 | | {% data variables.copilot.copilot_cli_short %} | 1.0.48 | -We recommend keeping your IDE, client, and {% data variables.product.prodname_copilot_short %} extensions on the latest available stable version. For information on configuring automatic updates, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide). To update {% data variables.copilot.copilot_cli_short %}, see [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli). +We recommend keeping your IDE, client, and {% data variables.product.prodname_copilot_short %} extensions on the latest available stable version. For information on configuring automatic updates, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-in-ide). To update {% data variables.copilot.copilot_cli_short %}, see [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli). ## Next steps diff --git a/content/copilot/concepts/chat.md b/content/copilot/concepts/chat.md index f04ec2c3396c..12a385003f0f 100644 --- a/content/copilot/concepts/chat.md +++ b/content/copilot/concepts/chat.md @@ -6,6 +6,7 @@ versions: feature: copilot redirect_from: - /copilot/concepts/about-github-copilot-chat + - /copilot/github-copilot-enterprise/copilot-chat-in-github/about-github-copilot-chat contentType: concepts category: - Learn about Copilot @@ -25,7 +26,7 @@ category: * {% data variables.copilot.copilot_cli %} * {% data variables.copilot.github_copilot_app %} -Different environments may have different features and capabilities, but the core functionality remains consistent across platforms. To explore the functionality available in each environment, see the [AUTOTITLE](/copilot/how-tos/chat-with-copilot) how-to guides and the [AUTOTITLE](/copilot/tutorials). +Different environments may have different features and capabilities, but the core functionality remains consistent across platforms. To explore the functionality available in each environment, see the [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot) and [AUTOTITLE](/copilot/how-tos/copilot-on-github/chat-with-copilot) how-to guides and the [AUTOTITLE](/copilot/tutorials). ## Limitations @@ -63,10 +64,11 @@ For more information, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/customi MCP is an open standard that defines how applications share context with large language models (LLMs). MCP provides a standardized way to connect AI models to different data sources and tools, enabling them to work together more effectively. -You can configure MCP servers to provide context to {% data variables.copilot.copilot_chat_short %} in various IDEs, such as {% data variables.product.prodname_vscode %} and JetBrains IDEs. For {% data variables.copilot.copilot_chat_dotcom_short %}, the {% data variables.product.github %} MCP server is automatically configured, enabling {% data variables.copilot.copilot_chat_short %} to perform a limited set of tasks, at your request, such as creating branches or merging pull requests. For more information, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp) and [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server). +You can configure MCP servers to provide context to {% data variables.copilot.copilot_chat_short %} in various IDEs, such as {% data variables.product.prodname_vscode %} and JetBrains IDEs. For {% data variables.copilot.copilot_chat_dotcom_short %}, the {% data variables.product.github %} MCP server is automatically configured, enabling {% data variables.copilot.copilot_chat_short %} to perform a limited set of tasks, at your request, such as creating branches or merging pull requests. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp) and [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). ### Further reading -* [AUTOTITLE](/copilot/how-tos/chat-with-copilot) how-to guides +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot) how-to guides +* [AUTOTITLE](/copilot/how-tos/copilot-on-github/chat-with-copilot) how-to guides * [AUTOTITLE](/copilot/how-tos/copilot-cli/use-copilot-cli/overview) * [AUTOTITLE](/copilot/tutorials/copilot-cookbook) diff --git a/content/copilot/concepts/completions/code-referencing.md b/content/copilot/concepts/completions/code-referencing.md index 02f89ab5a57d..b611f03758de 100644 --- a/content/copilot/concepts/completions/code-referencing.md +++ b/content/copilot/concepts/completions/code-referencing.md @@ -90,6 +90,6 @@ References to matching code are currently available in JetBrains IDEs, {% data v ## Further reading -* [AUTOTITLE](/copilot/how-tos/get-code-suggestions/find-matching-code) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/find-matching-code) * [AUTOTITLE](/copilot/how-tos/manage-your-account/manage-policies) * [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies) diff --git a/content/copilot/concepts/completions/code-suggestions.md b/content/copilot/concepts/completions/code-suggestions.md index 52e7a9ea856c..35e821282b48 100644 --- a/content/copilot/concepts/completions/code-suggestions.md +++ b/content/copilot/concepts/completions/code-suggestions.md @@ -19,7 +19,7 @@ category: * **{% data variables.copilot.next_edit_suggestions_caps %}** - Based on the edits you are making, {% data variables.product.prodname_copilot_short %} both predicts the location of the next edit you'll want to make and what that edit should be. To enable {% data variables.copilot.next_edit_suggestions %}, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide#enabling-next-edit-suggestions). + Based on the edits you are making, {% data variables.product.prodname_copilot_short %} both predicts the location of the next edit you'll want to make and what that edit should be. To enable {% data variables.copilot.next_edit_suggestions %}, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-in-ide#enabling-next-edit-suggestions). * **Ghost text suggestions** @@ -51,7 +51,7 @@ category: * **{% 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#enabling-next-edit-suggestions). + 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/copilot-in-your-ide/set-up-copilot/configure-in-ide#enabling-next-edit-suggestions). {% data reusables.copilot.supported-languages %} @@ -82,7 +82,7 @@ category: * **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). + * 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/copilot-in-your-ide/set-up-copilot/configure-in-ide?tool=xcode#enabling-next-edit-suggestions-2). {% endxcode %} @@ -95,7 +95,7 @@ category: * **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-2). + * 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/copilot-in-your-ide/set-up-copilot/configure-in-ide?tool=eclipse#enabling-next-edit-suggestions-2). {% data reusables.copilot.supported-languages %} @@ -177,4 +177,4 @@ The following programming languages and technologies are included in the trainin ## Next steps -* [AUTOTITLE](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/get-ide-code-suggestions) diff --git a/content/copilot/concepts/context/mcp.md b/content/copilot/concepts/context/mcp.md index 668806344537..0e19986a974a 100644 --- a/content/copilot/concepts/context/mcp.md +++ b/content/copilot/concepts/context/mcp.md @@ -42,7 +42,7 @@ For more information on MCP, see [the official MCP documentation](https://modelc To learn how to configure and use MCP servers, see: -* [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp) for {% data variables.copilot.copilot_chat_short %} in your IDE +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp) for {% data variables.copilot.copilot_chat_short %} in your IDE * [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers) for {% data variables.copilot.copilot_cli_short %} * [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers) for repository MCP configuration on {% data variables.product.prodname_dotcom_the_website %} * [AUTOTITLE](/copilot/how-tos/github-copilot-app/customize-github-copilot-app) for information on MCP server support in the {% data variables.copilot.github_copilot_app %} @@ -68,7 +68,7 @@ The {% data variables.product.github %} MCP server is a Model Context Protocol ( * Enable cloud-based workflows that work from any device, without local setup. * Invoke {% data variables.product.github %} tools, such as {% data variables.copilot.copilot_cloud_agent %} (requires {% data variables.product.prodname_copilot %} subscription) and {% data variables.product.prodname_code_scanning %} (requires {% data variables.product.prodname_GHAS %} subscription), to assist with code generation and security analysis. -To learn how to set up and use the {% data variables.product.github %} MCP server, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server). +To learn how to set up and use the {% data variables.product.github %} MCP server, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). To find out whether your editor supports the {% data variables.product.github %} MCP server, and which connection and authentication methods are available, see [Support by host application](https://github.com/github/github-mcp-server/blob/main/docs/installation-guides/README.md#support-by-host-application) in the `github/github-mcp-server` repository. @@ -89,7 +89,7 @@ Enabling only the toolsets you need improves your AI assistant's performance and Toolsets do not only include tools, but also relevant MCP resources and prompts where applicable. -To learn how to configure toolsets for the {% data variables.product.github %} MCP server, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/configure-toolsets). +To learn how to configure toolsets for the {% data variables.product.github %} MCP server, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/configure-toolsets). ### Security @@ -110,9 +110,9 @@ To use agent finder, download the [agent finder skill](https://github.com/ards-p ## Next steps -* [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp)—Add MCP servers to {% data variables.copilot.copilot_chat_short %} in your IDE +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp)—Add MCP servers to {% data variables.copilot.copilot_chat_short %} in your IDE * [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers)—Configure repository MCP servers for {% data variables.copilot.copilot_cloud_agent %} and {% data variables.copilot.copilot_code-review_short %} -* [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server)—Set up the {% data variables.product.github %} MCP server -* [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server)—Use the {% data variables.product.github %} MCP server +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server)—Set up the {% data variables.product.github %} MCP server +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server)—Use the {% data variables.product.github %} MCP server * [AUTOTITLE](/copilot/tutorials/enhance-agent-mode-with-mcp) * [AUTOTITLE](/copilot/reference/customization-cheat-sheet) diff --git a/content/copilot/concepts/prompting/response-customization.md b/content/copilot/concepts/prompting/response-customization.md index d73dd53bf535..260bfca244fe 100644 --- a/content/copilot/concepts/prompting/response-customization.md +++ b/content/copilot/concepts/prompting/response-customization.md @@ -184,7 +184,7 @@ The following examples demonstrate how to use prompt files. … ``` -For information on how to enable, create, and use prompt files, see [AUTOTITLE](/copilot/how-tos/configure-custom-instructions-in-your-ide/add-repository-instructions-in-your-ide?tool=vscode#enabling-and-using-prompt-files). +For information on how to enable, create, and use prompt files, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/configure-custom-instructions/add-repository-instructions-in-your-ide?tool=vscode#enabling-and-using-prompt-files). {% data reusables.copilot.custom-instructions-effective %} @@ -282,7 +282,7 @@ The following examples demonstrate how to use prompt files. … ``` -For information on how to create and use prompt files, see [AUTOTITLE](/copilot/how-tos/configure-custom-instructions-in-your-ide/add-repository-instructions-in-your-ide?tool=visualstudio#using-prompt-files). +For information on how to create and use prompt files, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/configure-custom-instructions/add-repository-instructions-in-your-ide?tool=visualstudio#using-prompt-files). {% data reusables.copilot.custom-instructions-effective %} diff --git a/content/copilot/concepts/security-governance-and-network-settings/network-settings.md b/content/copilot/concepts/security-governance-and-network-settings/network-settings.md index f654fcb7fef9..9f11a3038f23 100644 --- a/content/copilot/concepts/security-governance-and-network-settings/network-settings.md +++ b/content/copilot/concepts/security-governance-and-network-settings/network-settings.md @@ -54,4 +54,4 @@ If the default SPN isn't correct for your proxy, you can override the SPN in {% ## Next steps -To learn how to configure network settings in your editor, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-network-settings). +To learn how to configure network settings in your editor, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-network-settings). diff --git a/content/copilot/get-started/about-github-copilot.md b/content/copilot/get-started/about-github-copilot.md index 470b3d642e52..80740e06b033 100644 --- a/content/copilot/get-started/about-github-copilot.md +++ b/content/copilot/get-started/about-github-copilot.md @@ -102,5 +102,5 @@ These settings help administrators manage {% data variables.product.prodname_cop ## Next steps -* Start using {% data variables.product.prodname_copilot_short %}. See [AUTOTITLE](/copilot/how-tos/set-up). +* Start using {% data variables.product.prodname_copilot_short %}. See [AUTOTITLE](/copilot/get-started/where-to-use-github-copilot). * View the {% data variables.product.prodname_copilot_short %} features available to you by navigating to your {% data variables.product.prodname_copilot_short %} settings at [https://github.com/settings/copilot/features](https://github.com/settings/copilot/features?ref_product=copilot&ref_type=engagement&ref_style=text). diff --git a/content/copilot/get-started/best-practices.md b/content/copilot/get-started/best-practices.md index 6124c0c12390..ca10d5f5273d 100644 --- a/content/copilot/get-started/best-practices.md +++ b/content/copilot/get-started/best-practices.md @@ -43,7 +43,7 @@ While {% data variables.product.prodname_copilot_short %} inline suggestions and * Answering questions about code in natural language * Generating large sections of code, then iterating on that code to meet your needs -* Accomplishing specific tasks with keywords and skills. {% data variables.copilot.copilot_chat_short %} has built-in keywords and skills designed to provide important context for prompts and accomplish common tasks quickly. Different types of keywords and skills are available in different {% data variables.copilot.copilot_chat_short %} platforms. See [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide#using-keywords-in-your-prompt){% ifversion fpt %}.{% else %} and [AUTOTITLE](/copilot/how-tos/copilot-on-github/chat-with-copilot/chat-in-github).{% endif %} +* Accomplishing specific tasks with keywords and skills. {% data variables.copilot.copilot_chat_short %} has built-in keywords and skills designed to provide important context for prompts and accomplish common tasks quickly. Different types of keywords and skills are available in different {% data variables.copilot.copilot_chat_short %} platforms. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide#using-keywords-in-your-prompt){% ifversion fpt %}.{% else %} and [AUTOTITLE](/copilot/how-tos/copilot-on-github/chat-with-copilot/chat-in-github).{% endif %} * Completing a task as a specific persona. For example, you can tell {% data variables.copilot.copilot_chat_short %} that it is a Senior C++ Developer who cares greatly about code quality, readability, and efficiency, then ask it to review your code. ## Create thoughtful prompts @@ -75,13 +75,13 @@ There are several adjustments you can make to steer {% data variables.product.pr * If you are using {% data variables.product.prodname_copilot_short %} in your IDE, open relevant files and close irrelevant files. * In {% data variables.copilot.copilot_chat_short %}, if a particular request is no longer helpful context, delete that request from the conversation. Alternatively, if none of the context of a particular conversation is helpful, start a new conversation. * If you are using {% data variables.copilot.copilot_chat_dotcom_short %}, provide specific repositories, files, symbols, and more as context. See [AUTOTITLE](/copilot/how-tos/copilot-on-github/chat-with-copilot/chat-in-github). - * If you are using {% data variables.copilot.copilot_chat_short %} in your IDE, use keywords to focus {% data variables.product.prodname_copilot_short %} on a specific task or piece of context. See [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide#using-keywords-in-your-prompt). + * If you are using {% data variables.copilot.copilot_chat_short %} in your IDE, use keywords to focus {% data variables.product.prodname_copilot_short %} on a specific task or piece of context. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide#using-keywords-in-your-prompt). * **Rewrite your prompts to generate different responses.** If {% data variables.product.prodname_copilot_short %} is not providing a helpful response, try rephrasing your prompt, or even breaking your request down into multiple smaller prompts. * **Pick the best available suggestion.** When you are using inline suggestions, {% data variables.product.prodname_copilot_short %} might offer more than one suggestion. You can use keyboard shortcuts to quickly look through all available suggestions. For the default keyboard shortcuts for your operating system, see [AUTOTITLE](/copilot/reference/keyboard-shortcuts). * **Provide feedback to improve future suggestions.** You can provide feedback in many ways: * For inline suggestions, accept or reject {% data variables.product.prodname_copilot_short %}'s suggestion. * For individual responses in {% data variables.copilot.copilot_chat_short %}, click the thumbs up or thumbs down icons next to the response. - * For {% data variables.copilot.copilot_chat_short %} in your IDE, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide#sharing-feedback) for instructions specific to your environment. + * For {% data variables.copilot.copilot_chat_short %} in your IDE, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide#sharing-feedback) for instructions specific to your environment. * For {% data variables.copilot.copilot_chat_dotcom_short %}, leave a comment on the [feedback discussion](https://github.com/orgs/community/discussions/110314). ## Stay up-to-date on {% data variables.product.prodname_copilot_short %}'s features diff --git a/content/copilot/get-started/quickstart-for-using-github-copilot-in-your-ide.md b/content/copilot/get-started/quickstart-for-using-github-copilot-in-your-ide.md index b7d7f3386b51..89812c715c0c 100644 --- a/content/copilot/get-started/quickstart-for-using-github-copilot-in-your-ide.md +++ b/content/copilot/get-started/quickstart-for-using-github-copilot-in-your-ide.md @@ -29,7 +29,7 @@ This quickstart shows you how to use these capabilities. It takes about ten minu ## Prerequisites * **An active {% data variables.product.prodname_copilot_short %} plan.** See [AUTOTITLE](/copilot/get-started/about-github-copilot#get-access). -* **The {% data variables.product.prodname_copilot_short %} extension for your IDE.** See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). +* **The {% data variables.product.prodname_copilot_short %} extension for your IDE.** See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension). * **Signed in to {% data variables.product.company_short %} in your IDE.** If you have authentication problems, see [AUTOTITLE](/copilot/how-tos/troubleshoot-copilot/troubleshoot-common-issues). ## Ask a question about your code @@ -39,7 +39,7 @@ This quickstart shows you how to use these capabilities. It takes about ten minu The way you do this depends on your IDE. * In {% data variables.product.prodname_vscode %}, press Ctrl+Alt+I (Windows/Linux) or Control+Command+I (macOS). - * In other IDEs, look for {% data variables.copilot.copilot_chat_short %} in the menu bar or sidebar. See [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide). + * In other IDEs, look for {% data variables.copilot.copilot_chat_short %} in the menu bar or sidebar. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide). 1. Type `what does this file do`, then press Enter. @@ -77,5 +77,5 @@ When you're ready, save your changes, and commit when everything looks good. ## Next steps -* Customize {% data variables.product.prodname_copilot_short %} in your IDE with custom instructions. See [AUTOTITLE](/copilot/how-tos/configure-custom-instructions-in-your-ide/add-repository-instructions-in-your-ide#further-reading). +* Customize {% data variables.product.prodname_copilot_short %} in your IDE with custom instructions. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/configure-custom-instructions/add-repository-instructions-in-your-ide#further-reading). * Try the {% data variables.copilot.github_copilot_app %}. See [AUTOTITLE](/copilot/get-started/quickstart-copilot-app). diff --git a/content/copilot/get-started/where-to-use-github-copilot.md b/content/copilot/get-started/where-to-use-github-copilot.md index 98d5c079e37c..d321bfe4da1c 100644 --- a/content/copilot/get-started/where-to-use-github-copilot.md +++ b/content/copilot/get-started/where-to-use-github-copilot.md @@ -4,6 +4,14 @@ shortTitle: Where to use Copilot intro: 'Choose where to work with {% data variables.product.prodname_copilot %}, from understanding an issue to writing, reviewing, testing, and shipping code.' versions: feature: copilot +redirect_from: + - /copilot/setting-up-github-copilot + - /copilot/get-started/setting-up-github-copilot + - /copilot/how-tos/set-up + - /copilot/setting-up-github-copilot/setting-up-github-copilot-for-yourself + - /copilot/get-started/setting-up-github-copilot/setting-up-github-copilot-for-yourself + - /copilot/how-tos/set-up/setting-up-github-copilot-for-yourself + - /copilot/how-tos/set-up/set-up-for-self contentType: get-started category: - Learn about Copilot diff --git a/content/copilot/how-tos/chat-with-copilot/index.md b/content/copilot/how-tos/chat-with-copilot/index.md deleted file mode 100644 index 588bdbbde1f7..000000000000 --- a/content/copilot/how-tos/chat-with-copilot/index.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: GitHub Copilot Chat -shortTitle: Chat with Copilot -intro: Learn how to use {% data variables.copilot.copilot_chat_short %} across different environments. -versions: - feature: copilot -redirect_from: - - /copilot/github-copilot-enterprise/copilot-chat-in-github/about-github-copilot-chat - - /copilot/using-github-copilot/copilot-chat - - /copilot/how-tos/chat - - /copilot/how-tos/use-chat -children: - - /get-started-with-chat-in-your-ide - - /chat-in-ide - - /chat-in-windows-terminal -contentType: how-tos ---- - diff --git a/content/copilot/how-tos/configure-content-exclusion/exclude-content-from-copilot.md b/content/copilot/how-tos/configure-content-exclusion/exclude-content-from-copilot.md index 9010d25e6d54..acd5c4afa27f 100644 --- a/content/copilot/how-tos/configure-content-exclusion/exclude-content-from-copilot.md +++ b/content/copilot/how-tos/configure-content-exclusion/exclude-content-from-copilot.md @@ -31,7 +31,7 @@ category: You can use your repository settings to specify content in your repository that {% data variables.product.prodname_copilot %} should ignore. > [!NOTE] -> Agent mode in {% data variables.copilot.copilot_chat_short %} in IDEs does not support content exclusion. For more information, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide). +> {% data variables.copilot.copilot_cli %} and Agent mode in {% data variables.copilot.copilot_chat_short %} in IDEs do not support content exclusion. For more information about these {% data variables.product.prodname_copilot_short %} features, see [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-copilot-cli) and [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide). {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} diff --git a/content/copilot/how-tos/configure-custom-instructions-in-your-ide/index.md b/content/copilot/how-tos/configure-custom-instructions-in-your-ide/index.md deleted file mode 100644 index fc011f1dc7e9..000000000000 --- a/content/copilot/how-tos/configure-custom-instructions-in-your-ide/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Configure custom instructions for GitHub Copilot -shortTitle: Configure custom instructions -intro: 'Learn how to give {% data variables.product.prodname_copilot %} persistent instructions and customize responses according to your needs.' -versions: - feature: copilot -children: - - /add-repository-instructions-in-your-ide -contentType: how-tos ---- diff --git a/content/copilot/how-tos/configure-personal-settings/index.md b/content/copilot/how-tos/configure-personal-settings/index.md deleted file mode 100644 index 9ba426b5283a..000000000000 --- a/content/copilot/how-tos/configure-personal-settings/index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Configure personal settings -intro: You can manage the configuration of {% data variables.product.prodname_copilot %} in a supported IDE or on {% data variables.product.github %}. -versions: - feature: copilot -children: - - /configure-network-settings - - /configure-in-ide - - /authenticate-to-ghecom -redirect_from: - - /copilot/configuring-github-copilot - - /copilot/managing-copilot/configure-personal-settings - - /copilot/how-tos/personal-settings -contentType: how-tos ---- diff --git a/content/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers.md b/content/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers.md index 23b6bc001d8b..419a3b499fe5 100644 --- a/content/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers.md +++ b/content/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers.md @@ -272,5 +272,5 @@ Once you have added an MCP server, {% data variables.product.prodname_copilot_sh ## Further reading * [AUTOTITLE](/copilot/concepts/context/mcp) -* [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp) * [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers) diff --git a/content/copilot/how-tos/copilot-cli/index.md b/content/copilot/how-tos/copilot-cli/index.md index 474b9f849981..29ee498a70be 100644 --- a/content/copilot/how-tos/copilot-cli/index.md +++ b/content/copilot/how-tos/copilot-cli/index.md @@ -4,6 +4,18 @@ shortTitle: '{% data variables.copilot.copilot_cli_short %}' intro: Use {% data variables.product.prodname_copilot_short %} directly from your terminal to answer questions, write and debug code, and interact with {% data variables.product.github %}. versions: feature: copilot +redirect_from: + - /copilot/github-copilot-in-the-cli + - /copilot/github-copilot-in-the-cli/configuring-github-copilot-in-the-cli + - /copilot/github-copilot-in-the-cli/using-github-copilot-in-the-cli + - /copilot/using-github-copilot/using-github-copilot-in-the-cli + - /copilot/using-github-copilot/using-github-copilot-in-the-command-line + - /copilot/how-tos/github-flow + - /copilot/how-tos/github-flow/use-copilot-in-the-cli + - /copilot/how-tos/github-flow/using-github-copilot-in-the-command-line + - /copilot/how-tos/configure-personal-settings/customize-copilot-in-the-cli + - /copilot/how-tos/use-copilot-for-common-tasks + - /copilot/how-tos/use-copilot-for-common-tasks/use-copilot-in-the-cli contentType: how-tos layout: bespoke-landing heroImage: /assets/images/banner-images/hero-4 diff --git a/content/copilot/how-tos/use-ai-models/change-the-chat-model.md b/content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model.md similarity index 83% rename from content/copilot/how-tos/use-ai-models/change-the-chat-model.md rename to content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model.md index ef10dda6743d..3d2f27d0c799 100644 --- a/content/copilot/how-tos/use-ai-models/change-the-chat-model.md +++ b/content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model.md @@ -8,6 +8,7 @@ redirect_from: - /copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat - /copilot/how-tos/ai-models/changing-the-ai-model-for-copilot-chat - /copilot/how-tos/ai-models/change-the-chat-model + - /copilot/how-tos/use-ai-models/change-the-chat-model contentType: how-tos category: - Configure Copilot @@ -23,31 +24,7 @@ To view the available models per client, see [AUTOTITLE](/copilot/reference/ai-m {% data reusables.copilot.model-picker-enable-alternative-models %} -Changing the model used by {% data variables.copilot.copilot_chat_short %} does not affect the model used for {% data variables.product.prodname_copilot_short %} inline suggestions. See [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-completion-model). - -{% webui %} - -### Limitations of AI models for {% data variables.copilot.copilot_chat_short %} - -Experimental pre-release versions of the models may not interact with all filters correctly, including the setting to block suggestions matching public code (see [AUTOTITLE](/copilot/how-tos/manage-your-account/manage-policies#enabling-or-disabling-suggestions-matching-public-code)). - -## Changing the AI model - -These instructions are for {% data variables.product.prodname_copilot_short %} on the {% data variables.product.github %} website. For instructions on different clients, click the appropriate tab at the top of this page. - -> [!NOTE] If you use {% data variables.copilot.copilot_extensions_short %}, they may override the model you select. - -{% data reusables.copilot.model-picker-enable-alternative-models %} - -1. In the top right of any page on {% data variables.product.github %}, click the **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %}** icon. - - ![Screenshot of the 'Copilot' button, highlighted with a dark orange outline.](/assets/images/help/copilot/copilot-icon-top-right.png) - -1. At the bottom of {% data variables.copilot.copilot_chat_short %}, select the **CURRENT-MODEL** {% octicon "chevron-down" aria-hidden="true" aria-label="chevron-down" %} dropdown menu, then click the AI model of your choice. - -1. Optionally, after submitting a prompt, you can regenerate the same prompt using a different model by clicking the retry icon ({% octicon "sync" aria-label="The re-run icon" %}) below the response. The new response will use your selected model and maintain the full context of the conversation. - -{% endwebui %} +Changing the model used by {% data variables.copilot.copilot_chat_short %} does not affect the model used for {% data variables.product.prodname_copilot_short %} inline suggestions. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/change-the-completion-model). {% vscode %} @@ -169,7 +146,7 @@ These instructions are for the Eclipse IDE. For instructions on different client These instructions are for Xcode. For instructions on different clients, click the appropriate tab at the top of this page. -To use multi-model {% data variables.copilot.copilot_chat_short %}, you must install the {% data variables.product.prodname_copilot %} for Xcode extension. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). +To use multi-model {% data variables.copilot.copilot_chat_short %}, you must install the {% data variables.product.prodname_copilot %} for Xcode extension. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension). {% data reusables.copilot.chat-model-limitations-ide %} @@ -182,7 +159,7 @@ To use multi-model {% data variables.copilot.copilot_chat_short %}, you must ins ## Further reading -* [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-completion-model) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/change-the-completion-model) * [AUTOTITLE](/copilot/reference/ai-models/model-comparison) {% vscode %} diff --git a/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md b/content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide.md similarity index 64% rename from content/copilot/how-tos/chat-with-copilot/chat-in-ide.md rename to content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide.md index 4f195bee1068..039ee48c89d2 100644 --- a/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md +++ b/content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide.md @@ -12,6 +12,8 @@ redirect_from: - /copilot/how-tos/chat/use-chat-in-ide - /copilot/how-tos/use-chat/use-chat-in-ide - /copilot/how-tos/chat-with-copilot/use-chat-in-ide + - /copilot/how-tos/chat-with-copilot/chat-in-ide + - /copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-modes defaultTool: vscode versions: feature: copilot @@ -40,91 +42,24 @@ To learn how to use {% data variables.product.prodname_copilot_short %} for agen {% data reusables.copilot.chat-access-denied %} -> [!NOTE] -> If you don’t see the **Agent** option in the mode selector, your enterprise or organization administrator may have disabled agent mode for your IDE. - -## {% data variables.copilot.copilot_chat_short %} agents +## Chat modes You can use {% data variables.copilot.copilot_chat_short %} in the following modes: -* [Agent mode](#agent-mode): to get {% data variables.product.prodname_copilot_short %} to autonomously accomplish a set task. -* [Plan mode](#plan-mode): to get {% data variables.product.prodname_copilot_short %} to create detailed implementation plans to ensure all requirements are met. -* [Ask mode](#ask-mode): to get answers to coding questions and get {% data variables.product.prodname_copilot_short %} to provide code suggestions. +* **Ask mode**: to get answers to coding questions and get {% data variables.product.prodname_copilot_short %} to provide code suggestions. +* **Agent mode**: to get {% data variables.product.prodname_copilot_short %} to autonomously accomplish a set task. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode). +* **Plan mode**: to get {% data variables.product.prodname_copilot_short %} to create detailed implementation plans to ensure all requirements are met. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-plan-mode). To switch between modes, use the agents dropdown at the bottom of the chat view. -### Agent mode - -{% data reusables.copilot.copilot-edits.agent-mode-description %} - -#### Using agents - -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, ensure **Agent** is selected 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, runs terminal commands, if necessary. -1. Review and iterate on changes or run a code review. - -You can also [click this link](vscode://GitHub.Copilot-Chat/chat?mode=agent&ref_product=copilot&ref_type=engagement&ref_style=text) to go directly to agent mode in {% data variables.product.prodname_vscode_shortname %}. - -For more information, see [Chat overview](https://aka.ms/vscode-copilot-agent) in the {% data variables.product.prodname_vscode %} documentation. - -{% 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. See [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/create-custom-agents#configuring-an-agent-profile), and [Use prompt files in VS Code](https://code.visualstudio.com/docs/copilot/customization/prompt-files) in the {% data variables.product.prodname_vscode %} documentation. - -#### 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 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 the plan agent - -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. 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.` - - 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. - -{% data reusables.copilot.plan-agent-steps %} - -For more information, see [Planning with agents in VS Code](https://code.visualstudio.com/docs/copilot/agents/planning) in the {% data variables.product.prodname_vscode %} documentation. +> [!NOTE] +> If you don’t see the **Agent** option in the mode selector, your enterprise or organization administrator may have disabled agent mode for your IDE. -### Ask mode +### Using ask mode Ask mode is optimized for answering questions about your codebase, coding, and general technology concepts. Use ask mode when you want to understand how something works, explore ideas, or get help with coding tasks. -#### Using the ask agent - -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 **Ask** from the agents dropdown. -1. Type a prompt in the prompt box and press Enter. +To use ask mode, select **Ask** from the agents dropdown at the bottom of the chat view, then submit a prompt as described below. ## Submitting prompts @@ -134,7 +69,7 @@ You can give the agent a high-level description of what you want to build and it ![Screenshot of the '{% data variables.copilot.copilot_chat_short %}' button, highlighted with a dark orange outline.](/assets/images/help/copilot/vsc-copilot-chat-icon.png) -1. Enter a prompt in the prompt box. For an introduction to the kinds of prompts you can use, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/get-started-with-chat-in-your-ide). +1. Enter a prompt in the prompt box. For an introduction to the kinds of prompts you can use, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/get-started-with-chat-in-your-ide). 1. Evaluate {% data variables.product.prodname_copilot_short %}'s response, and make a follow-up request if needed. @@ -144,7 +79,7 @@ You can give the agent a high-level description of what you want to build and it ## Using keywords in your prompt -You can use special keywords to help {% data variables.product.prodname_copilot_short %} understand your prompt. For examples, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/get-started-with-chat-in-your-ide). +You can use special keywords to help {% data variables.product.prodname_copilot_short %} understand your prompt. For examples, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/get-started-with-chat-in-your-ide). ### Chat participants @@ -186,7 +121,7 @@ To see all available chat variables, type `#` in the chat prompt box. See also [ In addition to submitting prompts through the chat view, you can submit prompts in other ways: -* **Quick chat:** To open the quick chat dropdown, enter Shift+Optin+Command+L (Mac) / Ctrl+Shift+Alt+L (Windows/Linux). +* **Quick chat:** To open the quick chat dropdown, enter Shift+Option+Command+L (Mac) / Ctrl+Shift+Alt+L (Windows/Linux). * **Inline:** To start an inline chat directly in the editor or integrated terminal, enter Command+i (Mac) / Ctrl+i (Windows/Linux). * **Smart actions:** To submit prompts via the context menu, right click in your editor, select **{% data variables.product.prodname_copilot_short %}** in the menu that appears, then select one of the actions. Smart actions can also be accessed via the sparkle icon that sometimes appears when you select a line of code. @@ -244,12 +179,27 @@ To leave feedback about the {% data variables.copilot.copilot_chat %} extension, {% data reusables.copilot.chat-access-denied %} +## Chat modes + +{% data variables.product.prodname_vs %} supports the following chat modes: + +* **Ask mode**: Get answers and guidance without making changes to your code. +* **Agent mode**: Give {% data variables.product.prodname_copilot_short %} a high-level task and allow it to edit code, run commands, and iterate on the results. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode). + +To switch between modes, use the mode dropdown at the bottom of the chat panel. Chat modes are available in {% data variables.product.prodname_vs %} 17.14 and later. + +### Using ask mode + +Use ask mode when you want {% data variables.product.prodname_copilot_short %} to explain code, answer a question, or suggest an approach without modifying your project. + +To use ask mode, select **Ask** from the mode dropdown at the bottom of the chat panel, then submit a prompt as described below. + ## Submitting prompts You can ask {% data variables.copilot.copilot_chat_short %} to give you code suggestions, explain code, generate unit tests, and suggest code fixes. 1. In the {% data variables.product.prodname_vs %} menu bar, click **View**, then click **{% data variables.copilot.copilot_chat %}**. -1. In the {% data variables.copilot.copilot_chat_short %} window, enter a prompt, then press **Enter**. For example prompts, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/get-started-with-chat-in-your-ide). +1. In the {% data variables.copilot.copilot_chat_short %} window, enter a prompt, then press **Enter**. For example prompts, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/get-started-with-chat-in-your-ide). 1. Evaluate {% data variables.product.prodname_copilot_short %}'s response, and submit a follow up prompt if needed. The response often includes interactive elements. For example, the response may include buttons to copy, insert, or preview the result of a code block. @@ -297,25 +247,6 @@ In addition to submitting prompts through the chat window, you can submit prompt See [Ask questions in the inline chat view](https://learn.microsoft.com/visualstudio/ide/visual-studio-github-copilot-chat#ask-questions-in-the-inline-chat-view) in the {% data variables.product.prodname_vs %} documentation for more details. -## {% data variables.copilot.copilot_edits_short %} - -> [!NOTE] -> * This feature is currently in {% data variables.release-phases.public_preview %} and subject to change. -> * Available in {% data variables.product.prodname_vs %} 17.14 and later. - -{% data variables.copilot.copilot_edits_short %} lets you make changes across multiple files from a single {% data variables.copilot.copilot_chat_short %} prompt - -Use agent mode when you have a specific task in mind and want to enable {% data variables.product.prodname_copilot_short %} to autonomously edit your code. In agent mode, {% data variables.product.prodname_copilot_short %} determines which files to make changes to, offers code changes and terminal commands to complete the task, and iterates to remediate issues until the original task is complete. - -### Using agent mode - -1. In the {% data variables.product.prodname_vs %} menu bar, click **View**, then click **{% data variables.copilot.copilot_chat %}**. -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. 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. - -When you use {% data variables.copilot.copilot_agent_short %} mode, each prompt you enter consumes {% data variables.product.prodname_ai_credits %}. - ## Using images in {% data variables.copilot.copilot_chat_short %} {% data reusables.copilot.using-images-in-chat %} @@ -374,21 +305,34 @@ To share feedback about {% data variables.copilot.copilot_chat_short %}, you can {% data reusables.copilot.chat-access-denied %} -## {% data variables.copilot.copilot_chat_short %} agents +## Chat modes The agent picker in the {% data variables.copilot.copilot_chat_short %} panel lets you choose which agent drives your conversation. To switch agents, use the Agents dropdown at the bottom of the chat panel. The following agents are available: -* **Agent mode** (default): Full agentic experience with autonomous task execution. +* **Agent mode** (default): Full agentic experience with autonomous task execution. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode). * **Ask mode**: Get quick answers and assistance without making code changes. -* **Plan mode**: Collaborate on planning before implementation—{% data variables.product.prodname_copilot_short %} analyzes your request and builds a structured plan for your review. +* **Plan mode**: Collaborate on planning before implementation—{% data variables.product.prodname_copilot_short %} analyzes your request and builds a structured plan for your review. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-plan-mode). +* **Edit mode**: Make controlled edits across multiple files that you review and accept individually. * **{% data variables.copilot.copilot_cli_short %}**: Runs {% data variables.product.prodname_copilot_short %} through {% data variables.copilot.copilot_cli_short %}, providing a terminal-first agentic experience with support for multiple isolation modes, live session progress, and tool call visibility. For more information, see [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-copilot-cli). -* **Custom agents**: Use personalized agents tailored to your specific needs. For more information, see [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-custom-agents). +* **{% data variables.copilot.custom_agents_caps_short %}**: Use personalized agents tailored to your specific needs. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-custom-agents). + +{% data variables.copilot.copilot_edits_short %} lets you make changes across multiple files directly from a single {% data variables.copilot.copilot_chat_short %} prompt, using edit mode and agent mode. > [!TIP] > You can also access {% data variables.product.prodname_copilot_short %} from JetBrains AI Assistant without installing the {% data variables.product.prodname_copilot_short %} plugin. For more information, see [AUTOTITLE](/copilot/concepts/agents/copilot-in-jetbrains). +### Using edit mode + +{% data reusables.copilot.copilot-edits.edit-mode-description %} + +1. To start an edit session, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}** in the menu bar, then select **Open {% data variables.copilot.copilot_chat %}**. +1. At the top of the chat panel, click **{% data variables.copilot.copilot_edits_short %}**. +1. Add relevant files to the _working set_ to indicate to {% data variables.product.prodname_copilot %} which files you want to work on. You can add all open files by clicking **Add all open files** or individually search for single files. +1. Submit a prompt. In response to your prompt, {% data variables.copilot.copilot_edits_short %} determines which files in your _working set_ to change and adds a short description of the change. +1. Review the changes and **Accept** or **Discard** the edits for each file. + ## Submitting prompts You can ask {% data variables.copilot.copilot_chat_short %} to give you code suggestions, explain code, generate unit tests, and suggest code fixes. @@ -397,7 +341,7 @@ You can ask {% data variables.copilot.copilot_chat_short %} to give you code sug ![Screenshot of the {% data variables.copilot.copilot_chat %} icon in the Activity Bar.](/assets/images/help/copilot/jetbrains-copilot-chat-icon.png) -1. Enter a prompt in the prompt box. For example prompts, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/get-started-with-chat-in-your-ide). +1. Enter a prompt in the prompt box. For example prompts, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/get-started-with-chat-in-your-ide). 1. Evaluate {% data variables.product.prodname_copilot_short %}'s response, and submit a follow up prompt if needed. @@ -437,75 +381,6 @@ By default, {% data variables.copilot.copilot_chat_short %} will reference the f * **Inline**. You can submit a chat prompt inline, and scope it to a highlighted code block or your current file. * To start an inline chat, right click on a code block or anywhere in your current file, hover over **{% data variables.product.prodname_copilot %}**, then select **{% octicon "plus" aria-hidden="true" aria-label="plus" %} {% data variables.product.prodname_copilot_short %}: Inline Chat**, or enter Ctrl+Shift+I. -## {% data variables.copilot.copilot_edits_short %} - -Use {% data variables.copilot.copilot_edits_short %} to make changes across multiple files directly from a single {% data variables.copilot.copilot_chat_short %} prompt. {% data variables.copilot.copilot_edits_short %} has the following modes: - -* [Edit mode](#edit-mode) lets {% data variables.product.prodname_copilot_short %} make controlled edits to multiple files. -* [Agent mode](#agent-mode-1) lets {% data variables.product.prodname_copilot_short %} autonomously accomplish a set task. - -### Edit mode - -{% data reusables.copilot.copilot-edits.edit-mode-description %} - -#### Using edit mode - -1. To start an edit session, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}** in the menu bar, then select **Open {% data variables.copilot.copilot_chat %}**. -1. At the top of the chat panel, click **{% data variables.copilot.copilot_edits_short %}**. -1. Add relevant files to the _working set_ to indicate to {% data variables.product.prodname_copilot %} which files you want to work on. You can add all open files by clicking **Add all open files** or individually search for single files. -1. Submit a prompt. In response to your prompt, {% data variables.copilot.copilot_edits_short %} determines which files in your _working set_ to change and adds a short description of the change. -1. Review the changes and **Accept** or **Discard** the edits for each file. - -### Agent mode - -{% data reusables.copilot.copilot-edits.agent-mode-description %} - -#### Using agent mode - -1. To start an edit session using agent mode, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}** in the menu bar, then select **Open {% data variables.copilot.copilot_chat %}**. -1. At the top of the chat panel, click the **Agent** tab. -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. - -{% 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/copilot-on-github/customize-copilot/customize-cloud-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 To share feedback about {% data variables.copilot.copilot_chat_short %}, you can use the **share feedback** link in JetBrains. @@ -539,18 +414,25 @@ To share feedback about {% data variables.copilot.copilot_chat_short %}, you can ## Prerequisites * **Access to {% data variables.product.prodname_copilot %}**. {% data reusables.copilot.subscription-prerequisite %} -* **Latest version of the {% data variables.product.prodname_copilot %} extension**. For installation instructions, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). +* **Latest version of the {% data variables.product.prodname_copilot %} extension**. For installation instructions, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension). * **Sign in to {% data variables.product.company_short %} in Xcode**. {% data reusables.copilot.chat-access-denied %} +## Chat modes + +You can use {% data variables.copilot.copilot_chat_short %} in agent mode to autonomously accomplish a set task, or in plan mode to draft an implementation plan before any code changes are made. To switch between modes, use the agents dropdown at the bottom of the chat window. + +* For agent mode, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode). +* For plan mode, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-plan-mode). + ## Submitting prompts 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 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/how-tos/chat-with-copilot/get-started-with-chat-in-your-ide). +1. Enter a prompt in the prompt box. For example prompts, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/get-started-with-chat-in-your-ide). 1. Evaluate {% data variables.product.prodname_copilot_short %}'s response, and submit a follow up prompt if needed. @@ -576,58 +458,6 @@ 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/reference/chat-cheat-sheet?tool=xcode#slash-commands). -## Using plan mode - -> [!NOTE] -> Plan mode is currently in {% data variables.release-phases.public_preview %} and subject to change. - -{% 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 %} - -### Using agent 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 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. 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. - -{% 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/copilot-on-github/customize-copilot/customize-cloud-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 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. @@ -661,11 +491,18 @@ To indicate whether a response was helpful, use {% octicon "thumbsup" aria-label ## Prerequisites {% data reusables.copilot.eclipse-prerequisites %} -* **Latest version of the {% data variables.product.prodname_copilot %} extension**. Download this from the [Eclipse Marketplace](https://aka.ms/copiloteclipse?ref_product=copilot&ref_type=engagement&ref_style=text). For more information, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=eclipse). +* **Latest version of the {% data variables.product.prodname_copilot %} extension**. Download this from the [Eclipse Marketplace](https://aka.ms/copiloteclipse?ref_product=copilot&ref_type=engagement&ref_style=text). For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension?tool=eclipse). * **Sign in to {% data variables.product.company_short %} in Eclipse**. {% data reusables.copilot.chat-access-denied %} +## Chat modes + +You can use {% data variables.copilot.copilot_chat_short %} in agent mode to autonomously accomplish a set task, or in plan mode to draft an implementation plan before any code changes are made. To switch between modes, use the agents dropdown at the bottom of the chat panel. + +* For agent mode, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode). +* For plan mode, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-plan-mode). + ## Submitting prompts You can ask {% data variables.copilot.copilot_chat_short %} to give you code suggestions, explain code, generate unit tests, and suggest code fixes. @@ -674,13 +511,13 @@ You can ask {% data variables.copilot.copilot_chat_short %} to give you code sug 1. Enter a prompt in the prompt box, then press Enter. - For an introduction to the kinds of prompts you can use, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/get-started-with-chat-in-your-ide). + For an introduction to the kinds of prompts you can use, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/get-started-with-chat-in-your-ide). 1. Evaluate {% data variables.product.prodname_copilot_short %}'s response, and make a follow up request if needed. ## Using keywords in your prompt -You can use special keywords to help {% data variables.product.prodname_copilot_short %} understand your prompt. For examples, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/get-started-with-chat-in-your-ide). +You can use special keywords to help {% data variables.product.prodname_copilot_short %} understand your prompt. For examples, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/get-started-with-chat-in-your-ide). ### Slash commands @@ -696,58 +533,6 @@ To see all available slash commands, type `/` in the chat prompt box. {% data reusables.copilot.change-the-ai-model %} -## Using plan mode - -> [!NOTE] -> Plan mode is currently in {% data variables.release-phases.public_preview %} and subject to change. - -{% 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 %} - -To use agent mode: - -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. 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. - -{% 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/copilot-on-github/customize-copilot/customize-cloud-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 * [AUTOTITLE](/copilot/concepts/prompting/prompt-engineering) diff --git a/content/copilot/how-tos/chat-with-copilot/chat-in-windows-terminal.md b/content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-windows-terminal.md similarity index 97% rename from content/copilot/how-tos/chat-with-copilot/chat-in-windows-terminal.md rename to content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-windows-terminal.md index 4856c21cd494..78b1fb910bb5 100644 --- a/content/copilot/how-tos/chat-with-copilot/chat-in-windows-terminal.md +++ b/content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-windows-terminal.md @@ -10,6 +10,7 @@ redirect_from: - /copilot/how-tos/chat/use-chat-in-windows-terminal - /copilot/how-tos/use-chat/use-chat-in-windows-terminal - /copilot/how-tos/chat-with-copilot/use-chat-in-windows-terminal + - /copilot/how-tos/chat-with-copilot/chat-in-windows-terminal contentType: how-tos category: - Author and optimize with Copilot diff --git a/content/copilot/how-tos/chat-with-copilot/get-started-with-chat-in-your-ide.md b/content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/get-started-with-chat-in-your-ide.md similarity index 97% rename from content/copilot/how-tos/chat-with-copilot/get-started-with-chat-in-your-ide.md rename to content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/get-started-with-chat-in-your-ide.md index 1f92851d0709..b90180bfae9d 100644 --- a/content/copilot/how-tos/chat-with-copilot/get-started-with-chat-in-your-ide.md +++ b/content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/get-started-with-chat-in-your-ide.md @@ -13,6 +13,7 @@ redirect_from: - /copilot/how-tos/chat/get-started-with-chat - /copilot/how-tos/use-chat/get-started-with-chat - /copilot/how-tos/chat-with-copilot/get-started-with-chat + - /copilot/how-tos/chat-with-copilot/get-started-with-chat-in-your-ide - /copilot/tutorials/copilot-cookbook/refactor-code/fix-lint-errors - /copilot/example-prompts-for-github-copilot-chat/refactoring-code/fixing-lint-errors - /copilot/copilot-chat-cookbook/refactoring-code/fixing-lint-errors @@ -35,7 +36,7 @@ Use the tabs above to select the environment where you are using {% data variabl Open {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode %} {% octicon "link-external" height:16 aria-label="link-external" %} -Some of the following example prompts use chat participants (preceded by `@`), slash commands (preceded by `/`), or chat variables (preceded by `#`). For more information on keywords in prompts, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide#using-keywords-in-your-prompt). +Some of the following example prompts use chat participants (preceded by `@`), slash commands (preceded by `/`), or chat variables (preceded by `#`). For more information on keywords in prompts, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide#using-keywords-in-your-prompt). ## Ask general software questions @@ -213,7 +214,7 @@ You can ask {% data variables.copilot.copilot_chat_short %} questions about your * Highlight relevant lines of code. * Open the relevant file. -* Add the file as a reference. For information about how to use file references, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide?tool=jetbrains#file-references). +* Add the file as a reference. For information about how to use file references, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide?tool=jetbrains#file-references). * Use the `@project` chat participant. For example: diff --git a/content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/index.md b/content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/index.md new file mode 100644 index 000000000000..196cab4b4bc9 --- /dev/null +++ b/content/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/index.md @@ -0,0 +1,18 @@ +--- +title: 'Chat with {% data variables.product.prodname_copilot_short %}' +shortTitle: Chat with {% data variables.product.prodname_copilot_short %} +intro: Get help with coding tasks by using {% data variables.copilot.copilot_chat_short %} in your IDE. +versions: + feature: copilot +redirect_from: + - /copilot/using-github-copilot/copilot-chat + - /copilot/how-tos/chat + - /copilot/how-tos/use-chat + - /copilot/how-tos/chat-with-copilot +children: + - /get-started-with-chat-in-your-ide + - /chat-in-ide + - /change-the-chat-model + - /chat-in-windows-terminal +contentType: how-tos +--- diff --git a/content/copilot/how-tos/use-ai-models/change-the-completion-model.md b/content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/change-the-completion-model.md similarity index 94% rename from content/copilot/how-tos/use-ai-models/change-the-completion-model.md rename to content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/change-the-completion-model.md index 4790ff4f50ff..d25f5cf75380 100644 --- a/content/copilot/how-tos/use-ai-models/change-the-completion-model.md +++ b/content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/change-the-completion-model.md @@ -1,13 +1,14 @@ --- title: Changing the AI model for GitHub Copilot inline suggestions shortTitle: Change the completion model -intro: 'Learn how to change the default LLM for {% data variables.product.prodname_copilot_short %} inline suggestions to a different model.' +intro: Learn how to change the default LLM for {% data variables.product.prodname_copilot_short %} inline suggestions to a different model. versions: feature: copilot redirect_from: - /copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-code-completion - /copilot/how-tos/ai-models/changing-the-ai-model-for-copilot-code-completion - /copilot/how-tos/ai-models/change-the-completion-model + - /copilot/how-tos/use-ai-models/change-the-completion-model contentType: how-tos category: - Configure Copilot diff --git a/content/copilot/how-tos/get-code-suggestions/find-matching-code.md b/content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/find-matching-code.md similarity index 98% rename from content/copilot/how-tos/get-code-suggestions/find-matching-code.md rename to content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/find-matching-code.md index f04e2a6eebac..ce00a1991a25 100644 --- a/content/copilot/how-tos/get-code-suggestions/find-matching-code.md +++ b/content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/find-matching-code.md @@ -1,17 +1,18 @@ --- title: Finding public code that matches GitHub Copilot suggestions shortTitle: Find matching code -intro: 'Learn how to view code references when {% data variables.product.prodname_copilot %} makes suggestions that matches publicly available code.' +intro: Learn how to view code references when {% data variables.product.prodname_copilot %} makes suggestions that matches publicly available code. defaultTool: vscode redirect_from: - /early-access/copilot/code-referencing-in-github-copilot - /copilot/using-github-copilot/finding-public-code-that-matches-github-copilot-suggestions - /copilot/how-tos/completions/finding-public-code-that-matches-github-copilot-suggestions - /copilot/how-tos/completions/find-matching-code + - /copilot/how-tos/get-code-suggestions/find-matching-code versions: feature: copilot contentType: how-tos -category: +category: - Author and optimize with Copilot --- diff --git a/content/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions.md b/content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/get-ide-code-suggestions.md similarity index 97% rename from content/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions.md rename to content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/get-ide-code-suggestions.md index f44c56bf5a1f..30e801215c88 100644 --- a/content/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions.md +++ b/content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/get-ide-code-suggestions.md @@ -1,12 +1,13 @@ --- title: Getting code suggestions in your IDE with GitHub Copilot shortTitle: Get IDE code suggestions -intro: 'Use {% data variables.product.prodname_copilot %} to get code suggestions in your editor.' +intro: Use {% data variables.product.prodname_copilot %} to get code suggestions in your editor. redirect_from: - /copilot/using-github-copilot/using-github-copilot-code-suggestions-in-your-editor - /copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot - /copilot/how-tos/completions/getting-code-suggestions-in-your-ide-with-github-copilot - /copilot/how-tos/completions/get-code-suggestions + - /copilot/how-tos/get-code-suggestions/get-ide-code-suggestions versions: feature: copilot defaultTool: vscode @@ -133,7 +134,7 @@ Alternatively, you can use a keyboard shortcut to accept the next word of a sugg |macOS|Command+→|Command+Control+→| |Windows or Linux|Control+→|Control+Alt+→| -If you want to accept the next line of a suggestion, you will need to set a custom keyboard shortcut for the command `editor.action.inlineSuggest.acceptNextLine`. For more information on setting custom keyboard shortcuts, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide). +If you want to accept the next line of a suggestion, you will need to set a custom keyboard shortcut for the command `editor.action.inlineSuggest.acceptNextLine`. For more information on setting custom keyboard shortcuts, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-in-ide). {% endjetbrains %} @@ -351,7 +352,7 @@ Alternatively, you can use a keyboard shortcut to accept the next word of a sugg |macOS|Command+→| |Windows or Linux |Control+→| -If you want to accept the next line of a suggestion, you will need to set a custom keyboard shortcut for the command `editor.action.inlineSuggest.acceptNextLine`. For more information on setting custom keyboard shortcuts, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide). +If you want to accept the next line of a suggestion, you will need to set a custom keyboard shortcut for the command `editor.action.inlineSuggest.acceptNextLine`. For more information on setting custom keyboard shortcuts, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-in-ide). ## Navigating and accepting {% data variables.copilot.next_edit_suggestions %} @@ -367,7 +368,7 @@ For more details and examples, see [Inline suggestions with {% data variables.pr ## Changing the AI model -You can change the large language model that's used to generate inline suggestions. For more information, see [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-completion-model). +You can change the large language model that's used to generate inline suggestions. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/change-the-completion-model). {% endvscode %} @@ -383,7 +384,7 @@ This guide demonstrates how to get coding suggestions from {% data variables.pro * **Compatible version of Vim/Neovim**. To use {% data variables.product.prodname_copilot %} in Vim/Neovim you must have Vim version 9.0.0185 / Neovim version 0.6 or above and Node.js version 18 or above installed. For more information, see the [Vim](https://vimhelp.org/) / [Neovim documentation](https://neovim.io/doc/) and the [Node.js website](https://nodejs.org/en/). -* **{% data variables.product.prodname_copilot %} extension for Vim/Neovim**. To use {% data variables.product.prodname_copilot %} in Vim/Neovim, you must install the {% data variables.product.prodname_copilot %} plugin. For more information, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). +* **{% data variables.product.prodname_copilot %} extension for Vim/Neovim**. To use {% data variables.product.prodname_copilot %} in Vim/Neovim, you must install the {% data variables.product.prodname_copilot %} plugin. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension). ## Learning to use {% data variables.product.prodname_copilot %} in Vim/Neovim @@ -409,7 +410,7 @@ This guide demonstrates how to get coding suggestions from {% data variables.pro * **Compatible version of Azure Data Studio**. To use {% data variables.product.prodname_copilot %} in Azure Data Studio, you must have Azure Data Studio version 1.44.0 or later installed. For more information, see the [Azure Data Studio download page](https://docs.microsoft.com/sql/azure-data-studio/download-azure-data-studio) in the Azure Data Studio documentation. -* **{% data variables.product.prodname_copilot %} extension for Azure Data Studio**. To use {% data variables.product.prodname_copilot %} in Azure Data Studio, you must install the {% data variables.product.prodname_copilot %} extension. For more information, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). +* **{% data variables.product.prodname_copilot %} extension for Azure Data Studio**. To use {% data variables.product.prodname_copilot %} in Azure Data Studio, you must install the {% data variables.product.prodname_copilot %} extension. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension). ## Getting code suggestions @@ -503,7 +504,7 @@ This guide demonstrates how to get coding suggestions from {% data variables.pro * **Access to {% data variables.product.prodname_copilot_short %}**. To use {% data variables.product.prodname_copilot %} in Xcode, you need either limited access through {% data variables.copilot.copilot_free_short %} or a paid {% data variables.product.prodname_copilot_short %} plan for full access. {% data reusables.copilot.subscription-prerequisite %} -* **{% data variables.product.prodname_copilot %} extension for Xcode**. To use {% data variables.product.prodname_copilot %} for Xcode, you must install the {% data variables.product.prodname_copilot %} for Xcode extension. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). +* **{% data variables.product.prodname_copilot %} extension for Xcode**. To use {% data variables.product.prodname_copilot %} for Xcode, you must install the {% data variables.product.prodname_copilot %} for Xcode extension. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension). ## Getting code suggestions @@ -548,7 +549,7 @@ This guide demonstrates how to get coding suggestions from {% data variables.pro * **Access to {% data variables.product.prodname_copilot_short %}**. To use {% data variables.product.prodname_copilot %} in Eclipse, you need either limited access through {% data variables.copilot.copilot_free_short %} or a paid {% data variables.product.prodname_copilot_short %} plan for full access. {% data reusables.copilot.subscription-prerequisite %} -* **{% data variables.product.prodname_copilot %} extension for Eclipse**. To use {% data variables.product.prodname_copilot %} in Eclipse, you must install the {% data variables.product.prodname_copilot %} extension. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=eclipse). +* **{% data variables.product.prodname_copilot %} extension for Eclipse**. To use {% data variables.product.prodname_copilot %} in Eclipse, you must install the {% data variables.product.prodname_copilot %} extension. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension?tool=eclipse). ## Getting code suggestions @@ -607,8 +608,8 @@ An arrow in the gutter indicates an available edit suggestion. Hover over the ar ## Next steps * **Learn how to write effective prompts** - See [AUTOTITLE](/copilot/concepts/prompting/prompt-engineering). -* **Configure {% data variables.product.prodname_copilot_short %} in your editor** - You can enable or disable {% data variables.product.prodname_copilot %} from within your editor, and create your own preferred keyboard shortcuts for {% data variables.product.prodname_copilot_short %}. See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide). -* **Get started with {% data variables.copilot.copilot_chat %}** - Learn how to ask {% data variables.product.prodname_copilot_short %} for information and assistance, using {% data variables.copilot.copilot_chat %}. See [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide){% ifversion ghec %} and [AUTOTITLE](/copilot/how-tos/copilot-on-github/chat-with-copilot/chat-in-github){% endif %}. +* **Configure {% data variables.product.prodname_copilot_short %} in your editor** - You can enable or disable {% data variables.product.prodname_copilot %} from within your editor, and create your own preferred keyboard shortcuts for {% data variables.product.prodname_copilot_short %}. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-in-ide). +* **Get started with {% data variables.copilot.copilot_chat %}** - Learn how to ask {% data variables.product.prodname_copilot_short %} for information and assistance, using {% data variables.copilot.copilot_chat %}. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide){% ifversion ghec %} and [AUTOTITLE](/copilot/how-tos/copilot-on-github/chat-with-copilot/chat-in-github){% endif %}. * **Troubleshoot issues** - Learn more about how to troubleshoot common issues with {% data variables.product.prodname_copilot %}. See [AUTOTITLE](/copilot/how-tos/troubleshoot-copilot). ## Further reading diff --git a/content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/index.md b/content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/index.md new file mode 100644 index 000000000000..b6bd6ec54306 --- /dev/null +++ b/content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/index.md @@ -0,0 +1,22 @@ +--- +title: '{% data variables.product.prodname_copilot_short %} for common tasks' +shortTitle: '{% data variables.product.prodname_copilot_short %} for common tasks' +intro: Use {% data variables.product.prodname_copilot_short %} for everyday coding tasks in your IDE, such as getting code suggestions and working with {% data variables.product.github %}. +versions: + feature: copilot +redirect_from: + - /copilot/how-tos/get-code-suggestions + - /copilot/how-tos/completions + - /copilot/using-github-copilot/using-copilot-text-completion + - /copilot/how-tos/completions/using-copilot-text-completion + - /copilot/how-tos/completions/write-pr-descriptions + - /copilot/how-tos/get-code-suggestions/write-pr-descriptions +children: + - /get-ide-code-suggestions + - /find-matching-code + - /change-the-completion-model + - /use-the-github-mcp-server +contentType: how-tos +--- + +For examples of prompts you can use to complete specific development tasks, see [AUTOTITLE](/copilot/tutorials/copilot-cookbook). diff --git a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server.md b/content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server.md similarity index 91% rename from content/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server.md rename to content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server.md index aa2a6716a0a8..514c8377c0e1 100644 --- a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server.md +++ b/content/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server.md @@ -12,6 +12,7 @@ redirect_from: - /copilot/how-tos/context/use-mcp/use-the-github-mcp-server - /copilot/how-tos/provide-context/install-copilot-extensions/use-copilot-extensions - /copilot/how-tos/provide-context/use-mcp/use-the-github-mcp-server + - /copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server contentType: how-tos category: - Integrate Copilot with your tools @@ -27,7 +28,7 @@ The {% data variables.product.github %} MCP server is available to all {% data v * A {% data variables.product.github %} account. * {% data variables.product.prodname_vscode %}. -* The {% data variables.product.github %} MCP server, configured in your editor. See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server). +* The {% data variables.product.github %} MCP server, configured in your editor. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server). * {% data reusables.copilot.mcp-policy-requirement %} ## Using the {% data variables.product.github %} MCP server in {% data variables.product.prodname_vscode %} @@ -56,7 +57,7 @@ The {% data variables.product.github %} MCP server enables you to perform a wide * **Access to {% data variables.product.prodname_copilot_short %}**. {% data reusables.copilot.subscription-prerequisite %} * **{% data variables.product.prodname_vs %} version 17.14 or later**. For more information on installing {% data variables.product.prodname_vs %}, see the [{% data variables.product.prodname_vs %} downloads page](https://visualstudio.microsoft.com/downloads/). -* The {% data variables.product.github %} MCP server, configured in your editor. See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server). +* The {% data variables.product.github %} MCP server, configured in your editor. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server). * **Sign in to {% data variables.product.company_short %} from {% data variables.product.prodname_vs %}**. * {% data reusables.copilot.mcp-policy-requirement %} @@ -87,7 +88,7 @@ The {% data variables.product.github %} MCP server enables you to perform a wide {% data reusables.copilot.jetbrains-compatible-ides %} {% data reusables.copilot.jetbrains-plugin-prerequisites %} -* **The {% data variables.product.github %} MCP server**, configured in your editor. See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server). +* **The {% data variables.product.github %} MCP server**, configured in your editor. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server). * {% data reusables.copilot.mcp-policy-requirement %} ## Using the {% data variables.product.github %} MCP server in JetBrains IDEs @@ -117,8 +118,8 @@ The {% data variables.product.github %} MCP server enables you to perform a wide ## Prerequisites * **Access to {% data variables.product.prodname_copilot_short %}**. {% data reusables.copilot.subscription-prerequisite %} -* **{% data variables.product.prodname_copilot %} for Xcode extension**. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). -* The {% data variables.product.github %} MCP server, configured in your editor. See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server). +* **{% data variables.product.prodname_copilot %} for Xcode extension**. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension). +* The {% data variables.product.github %} MCP server, configured in your editor. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server). * {% data reusables.copilot.mcp-policy-requirement %} ## Using the {% data variables.product.github %} MCP server in Xcode @@ -146,8 +147,8 @@ The {% data variables.product.github %} MCP server enables you to perform a wide ## Prerequisites {% data reusables.copilot.eclipse-prerequisites %} -* The {% data variables.product.github %} MCP server, configured in your editor. See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server). -* **Latest version of the {% data variables.product.prodname_copilot %} extension**. Download this from the [Eclipse Marketplace](https://aka.ms/copiloteclipse?ref_product=copilot&ref_type=engagement&ref_style=text). For more information, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=eclipse). +* The {% data variables.product.github %} MCP server, configured in your editor. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server). +* **Latest version of the {% data variables.product.prodname_copilot %} extension**. Download this from the [Eclipse Marketplace](https://aka.ms/copiloteclipse?ref_product=copilot&ref_type=engagement&ref_style=text). For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension?tool=eclipse). * **Sign in to {% data variables.product.company_short %} from Eclipse**. ## Using the {% data variables.product.github %} MCP server in Eclipse diff --git a/content/copilot/how-tos/configure-custom-instructions-in-your-ide/add-repository-instructions-in-your-ide.md b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/configure-custom-instructions/add-repository-instructions-in-your-ide.md similarity index 98% rename from content/copilot/how-tos/configure-custom-instructions-in-your-ide/add-repository-instructions-in-your-ide.md rename to content/copilot/how-tos/copilot-in-your-ide/customize-copilot/configure-custom-instructions/add-repository-instructions-in-your-ide.md index a934e484d2b4..01b094427163 100644 --- a/content/copilot/how-tos/configure-custom-instructions-in-your-ide/add-repository-instructions-in-your-ide.md +++ b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/configure-custom-instructions/add-repository-instructions-in-your-ide.md @@ -1,12 +1,14 @@ --- title: Adding repository custom instructions for GitHub Copilot in your IDE shortTitle: Add repository instructions in your IDE -intro: 'Create repository custom instructions files that give {% data variables.product.prodname_copilot_short %} additional context on how to understand your project and how to build, test and validate its changes.' +intro: Create repository custom instructions files that give {% data variables.product.prodname_copilot_short %} additional context on how to understand your project and how to build, test and validate its changes. versions: feature: copilot contentType: how-tos category: - Configure Copilot +redirect_from: + - /copilot/how-tos/configure-custom-instructions-in-your-ide/add-repository-instructions-in-your-ide --- diff --git a/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/configure-custom-instructions/index.md b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/configure-custom-instructions/index.md new file mode 100644 index 000000000000..f051fed40a1c --- /dev/null +++ b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/configure-custom-instructions/index.md @@ -0,0 +1,13 @@ +--- +title: Configure custom instructions for GitHub Copilot +shortTitle: Configure custom instructions +intro: Learn how to give {% data variables.product.prodname_copilot %} persistent instructions and customize responses according to your needs. +versions: + feature: copilot +children: + - /add-repository-instructions-in-your-ide +contentType: how-tos +redirect_from: + - /copilot/how-tos/configure-custom-instructions-in-your-ide +--- + diff --git a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/change-mcp-registry.md b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/change-mcp-registry.md similarity index 95% rename from content/copilot/how-tos/provide-context/use-mcp-in-your-ide/change-mcp-registry.md rename to content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/change-mcp-registry.md index b2e835eb5e26..ed2b59f35778 100644 --- a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/change-mcp-registry.md +++ b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/change-mcp-registry.md @@ -11,6 +11,8 @@ category: - Configure Copilot redirect_from: - /copilot/how-tos/provide-context/use-mcp/change-mcp-registry + - /copilot/how-tos/provide-context/use-mcp-in-your-ide/change-mcp-registry + - /copilot/how-tos/copilot-in-your-ide/customize-copilot/use-mcp-in-your-ide/change-mcp-registry --- MCP registries for {% data variables.product.prodname_copilot_short %} in your IDE streamline the process of discovering and setting up MCP servers. By default, {% data variables.product.prodname_copilot_short %} uses the {% data variables.product.github %} MCP Registry, but you can configure your own MCP registry to customize the list of servers available in your environment. diff --git a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/configure-toolsets.md b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/configure-toolsets.md similarity index 88% rename from content/copilot/how-tos/provide-context/use-mcp-in-your-ide/configure-toolsets.md rename to content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/configure-toolsets.md index a5f57fa5775e..49aa5605ca81 100644 --- a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/configure-toolsets.md +++ b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/configure-toolsets.md @@ -8,6 +8,8 @@ defaultTool: vscode redirect_from: - /copilot/how-tos/context/use-mcp/configure-toolsets - /copilot/how-tos/provide-context/use-mcp/configure-toolsets + - /copilot/how-tos/provide-context/use-mcp-in-your-ide/configure-toolsets + - /copilot/how-tos/copilot-in-your-ide/customize-copilot/use-mcp-in-your-ide/configure-toolsets contentType: how-tos category: - Configure Copilot @@ -42,5 +44,5 @@ For detailed setup instructions, see [Local {% data variables.product.github %} ## Further reading -* [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server) -* [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server) diff --git a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/enterprise-configuration.md b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/enterprise-configuration.md similarity index 97% rename from content/copilot/how-tos/provide-context/use-mcp-in-your-ide/enterprise-configuration.md rename to content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/enterprise-configuration.md index 3e1345dafdfd..4cc9ae73d3f4 100644 --- a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/enterprise-configuration.md +++ b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/enterprise-configuration.md @@ -10,6 +10,8 @@ category: - Configure Copilot redirect_from: - /copilot/how-tos/provide-context/use-mcp/enterprise-configuration + - /copilot/how-tos/provide-context/use-mcp-in-your-ide/enterprise-configuration + - /copilot/how-tos/copilot-in-your-ide/customize-copilot/use-mcp-in-your-ide/enterprise-configuration --- The {% data variables.product.github %} MCP server can be configured to work with {% data variables.product.prodname_ghe_server %} and {% data variables.enterprise.data_residency %}. The configuration steps differ depending on whether you are using the remote or local MCP server. @@ -27,7 +29,7 @@ The {% data variables.product.github %} MCP server supports two enterprise deplo ## Prerequisites * A {% data variables.product.prodname_ghe_server %} instance or {% data variables.product.prodname_ghe_cloud %} account with {% data variables.enterprise.data_residency_short %} -* The {% data variables.product.github %} MCP server configured in your editor. See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server). +* The {% data variables.product.github %} MCP server configured in your editor. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server). ## Configuring the remote MCP server for {% data variables.enterprise.data_residency %} @@ -646,5 +648,5 @@ Replace `YOUR_GHES_OR_GHEC_HOSTNAME` with your {% data variables.product.prodnam ## Next steps -* To learn how to use the {% data variables.product.github %} MCP server, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server). -* To learn how to configure toolsets for the {% data variables.product.github %} MCP server, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/configure-toolsets). +* To learn how to use the {% data variables.product.github %} MCP server, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). +* To learn how to configure toolsets for the {% data variables.product.github %} MCP server, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/configure-toolsets). diff --git a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp.md b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp.md similarity index 97% rename from content/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp.md rename to content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp.md index c4b25cbf8b46..2d1a5ecc3cdb 100644 --- a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp.md +++ b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp.md @@ -13,6 +13,8 @@ redirect_from: - /copilot/how-tos/context/model-context-protocol/extend-copilot-chat-with-mcp - /copilot/how-tos/context/use-mcp/extend-copilot-chat-with-mcp - /copilot/how-tos/provide-context/use-mcp/extend-copilot-chat-with-mcp + - /copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp + - /copilot/how-tos/copilot-in-your-ide/customize-copilot/use-mcp-in-your-ide/extend-copilot-chat-with-mcp contentType: how-tos category: - Integrate Copilot with your tools @@ -64,7 +66,7 @@ The steps below show how to configure the Fetch MCP server in your `.vscode/mcp. You can use the same steps to configure MCP servers in your personal {% data variables.product.prodname_vscode %} settings. Details on how to configure other MCP servers are available in the [MCP servers repository](https://github.com/modelcontextprotocol/servers/tree/main). -For information on configuring the {% data variables.product.github %} MCP server, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server). +For information on configuring the {% data variables.product.github %} MCP server, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). 1. Add the following configuration to your `.vscode/mcp.json` file: @@ -250,7 +252,7 @@ You can use the following configurations as examples: ## Prerequisites * **Access to {% data variables.product.prodname_copilot_short %}**. {% data reusables.copilot.subscription-prerequisite %} -* **{% data variables.product.prodname_copilot %} for Xcode extension**. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). +* **{% data variables.product.prodname_copilot %} for Xcode extension**. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension). * {% data reusables.copilot.mcp-policy-requirement %} ## Configuring MCP servers from your MCP registry @@ -323,5 +325,5 @@ For more information on creating and configuring your own MCP servers, see [the * [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers) * [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers) -* [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server) * [AUTOTITLE](/copilot/tutorials/enhance-agent-mode-with-mcp) diff --git a/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/index.md b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/index.md new file mode 100644 index 000000000000..2fd51bfe3087 --- /dev/null +++ b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/index.md @@ -0,0 +1,24 @@ +--- +title: Extend GitHub Copilot with tools and context in your IDE +shortTitle: Extend {% data variables.product.prodname_copilot_short %} with tools and context +intro: Connect {% data variables.product.prodname_copilot_short %} to external tools with Model Context Protocol (MCP) servers, and bring curated project context into your IDE with {% data variables.copilot.copilot_spaces %}. +versions: + feature: copilot +children: + - /extend-copilot-chat-with-mcp + - /set-up-the-github-mcp-server + - /enterprise-configuration + - /configure-toolsets + - /change-mcp-registry + - /use-copilot-spaces +redirect_from: + - /copilot/customizing-copilot/using-model-context-protocol + - /copilot/how-tos/context/model-context-protocol + - /copilot/how-tos/context/use-mcp + - /copilot/how-tos/provide-context/use-mcp + - /copilot/how-tos/provide-context/use-mcp-in-your-ide + - /copilot/how-tos/copilot-in-your-ide/customize-copilot/use-mcp-in-your-ide +contentType: how-tos +--- + +After you configure the {% data variables.product.github %} MCP server, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). diff --git a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server.md b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server.md similarity index 96% rename from content/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server.md rename to content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server.md index 0fa6ce5e82f3..4947a6195f09 100644 --- a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server.md +++ b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server.md @@ -14,6 +14,8 @@ redirect_from: - /copilot/how-tos/provide-context/install-copilot-extensions/install-extensions - /copilot/how-tos/provide-context/install-copilot-extensions/install-personal-extensions - /copilot/how-tos/provide-context/use-mcp/set-up-the-github-mcp-server + - /copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server + - /copilot/how-tos/copilot-in-your-ide/customize-copilot/use-mcp-in-your-ide/set-up-the-github-mcp-server contentType: how-tos category: - Integrate Copilot with your tools @@ -197,7 +199,7 @@ To configure the remote {% data variables.product.github %} MCP server with a PA ## Prerequisites * **Access to {% data variables.product.prodname_copilot_short %}**. {% data reusables.copilot.subscription-prerequisite %} -* **{% data variables.product.prodname_copilot %} for Xcode extension**. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). +* **{% data variables.product.prodname_copilot %} for Xcode extension**. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension). * {% data reusables.copilot.mcp-policy-requirement %} ## Setting up the {% data variables.product.github %} MCP server in Xcode @@ -254,7 +256,7 @@ To configure the remote {% data variables.product.github %} MCP server with a PA ## Prerequisites {% data reusables.copilot.eclipse-prerequisites %} -* **Latest version of the {% data variables.product.prodname_copilot %} extension**. Download this from the [Eclipse Marketplace](https://aka.ms/copiloteclipse?ref_product=copilot&ref_type=engagement&ref_style=text). For more information, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=eclipse). +* **Latest version of the {% data variables.product.prodname_copilot %} extension**. Download this from the [Eclipse Marketplace](https://aka.ms/copiloteclipse?ref_product=copilot&ref_type=engagement&ref_style=text). For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension?tool=eclipse). * **Sign in to {% data variables.product.company_short %} from Eclipse**. ## Setting up the {% data variables.product.github %} MCP server in Eclipse @@ -307,9 +309,9 @@ To configure the remote {% data variables.product.github %} MCP server with a PA ## Enterprise configuration -If you are using {% data variables.product.prodname_ghe_server %} or {% data variables.product.prodname_ghe_cloud %} with data residency, additional configuration is required. For more information, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/enterprise-configuration). +If you are using {% data variables.product.prodname_ghe_server %} or {% data variables.product.prodname_ghe_cloud %} with data residency, additional configuration is required. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/enterprise-configuration). ## Next steps -* To learn how to use the {% data variables.product.github %} MCP server in {% data variables.product.prodname_vscode %}, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server). -* For information on configuring individual toolsets with read-only or read/write access, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/configure-toolsets). +* To learn how to use the {% data variables.product.github %} MCP server in {% data variables.product.prodname_vscode %}, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). +* For information on configuring individual toolsets with read-only or read/write access, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/configure-toolsets). diff --git a/content/copilot/how-tos/provide-context/use-copilot-spaces/use-copilot-spaces.md b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/use-copilot-spaces.md similarity index 84% rename from content/copilot/how-tos/provide-context/use-copilot-spaces/use-copilot-spaces.md rename to content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/use-copilot-spaces.md index 688bcf6dcfaa..78e7928225d3 100644 --- a/content/copilot/how-tos/provide-context/use-copilot-spaces/use-copilot-spaces.md +++ b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/use-copilot-spaces.md @@ -1,13 +1,17 @@ --- -title: Using GitHub Copilot Spaces +title: Using GitHub Copilot Spaces in your IDE shortTitle: Use Copilot Spaces -intro: "Use spaces to ground {% data variables.product.prodname_copilot_short %}'s responses in the right context for a specific task." -permissions: 'Anyone with a {% data variables.product.prodname_copilot_short %} license can use {% data variables.copilot.copilot_spaces_short %}.' +intro: Use spaces to ground {% data variables.product.prodname_copilot_short %}'s responses in the right context for a specific task. +permissions: Anyone with a {% data variables.product.prodname_copilot_short %} license can use {% data variables.copilot.copilot_spaces_short %}. versions: feature: copilot contentType: how-tos -category: +category: - Author and optimize with Copilot +redirect_from: + - /copilot/how-tos/provide-context/use-copilot-spaces/use-copilot-spaces + - /copilot/how-tos/provide-context/use-copilot-spaces + - /copilot/how-tos/copilot-in-your-ide/customize-copilot/use-copilot-spaces --- For information on creating {% data variables.copilot.copilot_spaces %}, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/create-copilot-spaces). @@ -30,7 +34,7 @@ Once you've accessed space context from your IDE: To use {% data variables.copilot.copilot_spaces_short %} in your IDE, you need to: -* Set up the remote {% data variables.product.github %} MCP server for your IDE. For more information, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server) and [Remote {% data variables.product.github %} MCP Server](https://github.com/github/github-mcp-server/blob/main/docs/remote-server.md) in the {% data variables.product.github %} MCP server documentation. +* Set up the remote {% data variables.product.github %} MCP server for your IDE. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server) and [Remote {% data variables.product.github %} MCP Server](https://github.com/github/github-mcp-server/blob/main/docs/remote-server.md) in the {% data variables.product.github %} MCP server documentation. * Configure the remote {% data variables.product.github %} MCP server so that the {% data variables.copilot.copilot_spaces_short %} toolset is enabled. The {% data variables.copilot.copilot_spaces_short %} toolset is not included in the default configuration, so you must explicitly enable it using the `X-MCP-Toolsets` header. The following example configuration enables both the default tools and {% data variables.copilot.copilot_spaces_short %}: @@ -53,7 +57,7 @@ To use {% data variables.copilot.copilot_spaces_short %} in your IDE, you need t ### Accessing space context from your IDE -For more detailed information on using the {% data variables.product.github %} MCP server in a specific IDE, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server). +For more detailed information on using the {% data variables.product.github %} MCP server in a specific IDE, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). Note that {% data variables.copilot.copilot_spaces_short %} can only be used in agent mode in your IDE, since spaces are accessed via the {% data variables.product.github %} MCP server. diff --git a/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/index.md b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/index.md new file mode 100644 index 000000000000..6f0a9874807b --- /dev/null +++ b/content/copilot/how-tos/copilot-in-your-ide/customize-copilot/index.md @@ -0,0 +1,16 @@ +--- +title: Customize {% data variables.product.prodname_copilot_short %} +shortTitle: Customize {% data variables.product.prodname_copilot_short %} +intro: Tailor {% data variables.product.prodname_copilot_short %} to your workflow and your codebase with custom instructions, settings, and MCP servers. +versions: + feature: copilot +children: + - /configure-custom-instructions + - /extend-copilot-with-tools-and-context +redirect_from: + - /copilot/customizing-copilot + - /copilot/how-tos/context + - /copilot/how-tos/provide-context +contentType: how-tos +--- + diff --git a/content/copilot/how-tos/copilot-in-your-ide/index.md b/content/copilot/how-tos/copilot-in-your-ide/index.md new file mode 100644 index 000000000000..d090b297d7ac --- /dev/null +++ b/content/copilot/how-tos/copilot-in-your-ide/index.md @@ -0,0 +1,19 @@ +--- +title: '{% data variables.product.prodname_copilot %} in your IDE' +shortTitle: '{% data variables.product.prodname_copilot_short %} in your IDE' +intro: 'Write code faster and complete development tasks with {% data variables.product.prodname_copilot %} in your IDE.' +versions: + feature: copilot +children: + - /set-up-copilot + - /customize-copilot + - /chat-with-copilot + - /copilot-for-common-tasks + - /use-copilot-agents +redirect_from: + - /copilot/using-github-copilot/ai-models + - /copilot/how-tos/ai-models + - /copilot/how-tos/use-ai-models + - /copilot/how-tos/use-ai-models/create-a-custom-model +contentType: how-tos +--- diff --git a/content/copilot/how-tos/configure-personal-settings/authenticate-to-ghecom.md b/content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/authenticate-to-ghecom.md similarity index 94% rename from content/copilot/how-tos/configure-personal-settings/authenticate-to-ghecom.md rename to content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/authenticate-to-ghecom.md index c993d43b02b3..f2e3b226a24e 100644 --- a/content/copilot/how-tos/configure-personal-settings/authenticate-to-ghecom.md +++ b/content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/authenticate-to-ghecom.md @@ -1,7 +1,7 @@ --- title: Using GitHub Copilot with an account on GHE.com shortTitle: Authenticate to GHE.com -intro: 'Update your development environment to access a {% data variables.product.prodname_copilot_short %} plan for an account on {% data variables.enterprise.data_residency_site %}.' +intro: Update your development environment to access a {% data variables.product.prodname_copilot_short %} plan for an account on {% data variables.enterprise.data_residency_site %}. versions: feature: copilot defaultTool: vscode @@ -9,6 +9,7 @@ redirect_from: - /copilot/managing-copilot/configure-personal-settings/using-github-copilot-with-an-account-on-ghecom - /copilot/how-tos/personal-settings/using-github-copilot-with-an-account-on-ghecom - /copilot/how-tos/personal-settings/authenticate-to-ghecom + - /copilot/how-tos/configure-personal-settings/authenticate-to-ghecom contentType: how-tos category: - Configure Copilot @@ -71,7 +72,7 @@ If you ever need to switch to an account on {% data variables.product.prodname_d 1. Open the "{% data variables.product.prodname_copilot %} for Xcode" application. 1. Click the **Advanced** tab. 1. In the "Auth provider URL" field, enter the URL where you access {% data variables.product.github %}. For example: `https://{% data variables.enterprise.data_residency_example_domain %}`. -1. Authorize the extension by following the instructions in [Signing in to {% data variables.product.prodname_copilot %}](/copilot/how-tos/set-up/install-copilot-extension?tool=xcode#signing-in-to-github-copilot). +1. Authorize the extension by following the instructions in [Signing in to {% data variables.product.prodname_copilot %}](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension?tool=xcode#signing-in-to-github-copilot). {% endxcode %} diff --git a/content/copilot/how-tos/configure-personal-settings/configure-in-ide.md b/content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-in-ide.md similarity index 98% rename from content/copilot/how-tos/configure-personal-settings/configure-in-ide.md rename to content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-in-ide.md index e9aba8a8d725..3323381178cc 100644 --- a/content/copilot/how-tos/configure-personal-settings/configure-in-ide.md +++ b/content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-in-ide.md @@ -12,6 +12,7 @@ redirect_from: - /copilot/how-tos/personal-settings/configuring-github-copilot-in-your-environment - /copilot/how-tos/personal-settings/configure-in-your-environment - /copilot/how-tos/configure-personal-settings/configure-in-your-environment + - /copilot/how-tos/configure-personal-settings/configure-in-ide versions: feature: copilot contentType: how-tos @@ -27,7 +28,7 @@ If you use a JetBrains IDE, {% data variables.product.prodname_copilot %} can he ## Prerequisites -To configure {% data variables.product.prodname_copilot %} in a JetBrains IDE, you must install the {% data variables.product.prodname_copilot %} plugin. For more information, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=jetbrains). +To configure {% data variables.product.prodname_copilot %} in a JetBrains IDE, you must install the {% data variables.product.prodname_copilot %} plugin. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension?tool=jetbrains). ## Enabling or disabling {% data variables.product.prodname_copilot %} @@ -174,7 +175,7 @@ If you use {% data variables.product.prodname_vs %}, {% data variables.product.p ## Prerequisites -To configure {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vs %}, you must install the {% data variables.product.prodname_copilot %} plugin. For more information, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=visualstudio). +To configure {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vs %}, you must install the {% data variables.product.prodname_copilot %} plugin. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension?tool=visualstudio). ## Rebinding keyboard shortcuts @@ -328,7 +329,7 @@ If you use Xcode, {% data variables.product.prodname_copilot %} can help you wit ## Prerequisites -To configure {% data variables.product.prodname_copilot %} for Xcode, you must install the {% data variables.product.prodname_copilot %} extension. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=xcode). +To configure {% data variables.product.prodname_copilot %} for Xcode, you must install the {% data variables.product.prodname_copilot %} extension. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension?tool=xcode). ## Rebinding keyboard shortcuts @@ -378,7 +379,7 @@ After you install {% data variables.product.prodname_copilot %} in Eclipse, you ## Prerequisites -To configure {% data variables.product.prodname_copilot %} in Eclipse, you must install the {% data variables.product.prodname_copilot %} extension. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=eclipse). +To configure {% data variables.product.prodname_copilot %} in Eclipse, you must install the {% data variables.product.prodname_copilot %} extension. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension?tool=eclipse). ## Rebinding keyboard shortcuts diff --git a/content/copilot/how-tos/configure-personal-settings/configure-network-settings.md b/content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-network-settings.md similarity index 97% rename from content/copilot/how-tos/configure-personal-settings/configure-network-settings.md rename to content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-network-settings.md index 6aea7c95d514..73b3c9f79554 100644 --- a/content/copilot/how-tos/configure-personal-settings/configure-network-settings.md +++ b/content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-network-settings.md @@ -1,7 +1,7 @@ --- title: Configuring network settings for GitHub Copilot shortTitle: Configure network settings -intro: 'You can connect to {% data variables.product.prodname_copilot %} through an HTTP proxy and use custom certificates.' +intro: You can connect to {% data variables.product.prodname_copilot %} through an HTTP proxy and use custom certificates. versions: feature: copilot redirect_from: @@ -9,6 +9,7 @@ redirect_from: - /copilot/managing-copilot/configure-personal-settings/configuring-network-settings-for-github-copilot - /copilot/how-tos/personal-settings/configuring-network-settings-for-github-copilot - /copilot/how-tos/personal-settings/configure-network-settings + - /copilot/how-tos/configure-personal-settings/configure-network-settings contentType: how-tos category: - Configure Copilot diff --git a/content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/index.md b/content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/index.md new file mode 100644 index 000000000000..9f607d35fa37 --- /dev/null +++ b/content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/index.md @@ -0,0 +1,23 @@ +--- +title: Set up {% data variables.product.prodname_copilot_short %} +shortTitle: Set up {% data variables.product.prodname_copilot_short %} +intro: Get access to {% data variables.product.prodname_copilot %}, install it in your IDE, and configure it for your environment. +versions: + feature: copilot +redirect_from: + - /copilot/configuring-github-copilot + - /copilot/managing-copilot/configure-personal-settings + - /copilot/how-tos/personal-settings + - /copilot/how-tos/configure-personal-settings +children: + - /install-copilot-extension + - /configure-in-ide + - /configure-network-settings + - /authenticate-to-ghecom +contentType: how-tos +--- + +These articles explain how to install {% data variables.product.prodname_copilot_short %} in your IDE and configure it for your environment. + +Before you start, you need access to {% data variables.product.prodname_copilot %} through a free or paid plan, or through an organization or enterprise. See [AUTOTITLE](/copilot/how-tos/manage-your-account/get-started-with-a-copilot-plan). + diff --git a/content/copilot/how-tos/set-up/install-copilot-extension.md b/content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension.md similarity index 96% rename from content/copilot/how-tos/set-up/install-copilot-extension.md rename to content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension.md index e5e1fe7968e9..cc4020dda3a6 100644 --- a/content/copilot/how-tos/set-up/install-copilot-extension.md +++ b/content/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension.md @@ -1,7 +1,7 @@ --- title: Installing the GitHub Copilot extension in your environment shortTitle: Install Copilot extension -intro: 'To use {% data variables.product.prodname_copilot_short %} in your preferred coding environment, follow the steps for your chosen IDE.' +intro: To use {% data variables.product.prodname_copilot_short %} in your preferred coding environment, follow the steps for your chosen IDE. versions: feature: copilot defaultTool: vscode @@ -10,6 +10,7 @@ redirect_from: - /copilot/managing-copilot/configure-personal-settings/installing-the-github-copilot-extension-in-your-environment - /copilot/how-tos/personal-settings/installing-the-github-copilot-extension-in-your-environment - /copilot/how-tos/set-up/installing-the-github-copilot-extension-in-your-environment + - /copilot/how-tos/set-up/install-copilot-extension contentType: how-tos category: - Configure Copilot @@ -76,7 +77,7 @@ The following procedure will guide you through installation of the {% data varia 1. After your JetBrains IDE has restarted, click the **Tools** menu. Click **{% data variables.product.prodname_copilot %}**, then click **Login to {% data variables.product.prodname_dotcom %}**. - > [!NOTE] {% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/authenticate-to-ghecom?tool=jetbrains#authenticating-from-jetbrains-ides). + > [!NOTE] {% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/authenticate-to-ghecom?tool=jetbrains#authenticating-from-jetbrains-ides). ![Screenshot of the expanded "Tools" menu and "{% data variables.product.prodname_copilot %}" sub-menu. The "Login to {% data variables.product.prodname_dotcom %}" option is highlighted in blue.](/assets/images/help/copilot/jetbrains-tools-menu.png) @@ -172,7 +173,7 @@ The following instructions are for versions 2022 17.8 and 2022 17.9 of {% data v 1. After installing the {% data variables.product.prodname_copilot %} extension, to enable {% data variables.product.prodname_copilot %}, ensure you have added your {% data variables.product.prodname_dotcom %} account to {% data variables.product.prodname_vs %}. For more information, see [Add your {% data variables.product.prodname_dotcom %} accounts to your {% data variables.product.prodname_vs %} keychain](https://learn.microsoft.com/en-us/visualstudio/ide/work-with-github-accounts?ref_product=copilot&ref_type=engagement&ref_style=text) in the Microsoft documentation. - > [!NOTE] {% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/authenticate-to-ghecom?tool=visualstudio#authenticating-from-visual-studio). + > [!NOTE] {% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/authenticate-to-ghecom?tool=visualstudio#authenticating-from-visual-studio). {% endvisualstudio %} @@ -190,7 +191,7 @@ When you set up {% data variables.product.prodname_copilot %} in {% data variabl For detailed instructions, see [Set up {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode %}](https://code.visualstudio.com/docs/copilot/setup?ref_product=copilot&ref_type=engagement&ref_style=text#_set-up-copilot-in-vs-code) in the {% data variables.product.prodname_vscode %} documentation. -> [!NOTE] {% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/authenticate-to-ghecom?tool=vscode#authenticating-from-vs-code). +> [!NOTE] {% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/authenticate-to-ghecom?tool=vscode#authenticating-from-vs-code). {% endvscode %} @@ -229,7 +230,7 @@ After granting the required permissions, restart Xcode. You will see a new item Before you can use the {% data variables.product.prodname_copilot %} extension for Xcode, you need to authorize the extension to access your {% data variables.product.github %} account. -> [!NOTE] {% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/authenticate-to-ghecom?tool=xcode#authenticating-from-xcode). +> [!NOTE] {% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/authenticate-to-ghecom?tool=xcode#authenticating-from-xcode). 1. Open the {% data variables.product.prodname_copilot %} for Xcode application. 1. Click **Login to {% data variables.product.github %}** and follow the prompts to authorize the extension. @@ -268,4 +269,4 @@ To use the {% data variables.product.prodname_copilot %} extension, you must hav ## Next steps -* **Get started with {% data variables.product.prodname_copilot_short %}** - Learn how to use {% data variables.product.prodname_copilot_short %} in your preferred coding environment. See [AUTOTITLE](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions). +* **Get started with {% data variables.product.prodname_copilot_short %}** - Learn how to use {% data variables.product.prodname_copilot_short %} in your preferred coding environment. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/get-ide-code-suggestions). diff --git a/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/index.md b/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/index.md new file mode 100644 index 000000000000..1f094c36eeb4 --- /dev/null +++ b/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/index.md @@ -0,0 +1,15 @@ +--- +title: Use {% data variables.product.prodname_copilot_short %} agents +shortTitle: Use {% data variables.product.prodname_copilot_short %} agents +intro: Use agent mode in your IDE to complete multi-step tasks, and delegate work to {% data variables.product.prodname_copilot_short %} agents. +versions: + feature: copilot +children: + - /use-agent-mode + - /use-plan-mode + - /use-subagents + - /use-custom-agents + - /use-cloud-agent-in-your-ide +contentType: how-tos +--- + diff --git a/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode.md b/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode.md new file mode 100644 index 000000000000..f38c7f864c89 --- /dev/null +++ b/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode.md @@ -0,0 +1,233 @@ +--- +title: Using agent mode in your IDE +shortTitle: Use agent mode +intro: 'Give {% data variables.product.prodname_copilot_short %} a task and let it work autonomously in your editor, editing files across your project and running commands until the task is complete.' +defaultTool: vscode +versions: + feature: copilot +contentType: how-tos +category: + - Author and optimize with Copilot +--- + +## Introduction + +In agent mode, {% data variables.product.prodname_copilot_short %} takes a high-level task, decides which files to change, makes the edits, and runs commands as needed, iterating until the task is done. You stay in control: you review the changes, and by default you approve commands before they run. Your administrator, or your own editor settings, may allow some commands to run automatically. + +Agent mode is available in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, JetBrains IDEs, Xcode, and Eclipse. The steps differ by editor, so click the tabs above for instructions for your IDE. + +For how to open {% data variables.copilot.copilot_chat_short %} and choose between the available modes, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide). + + + + + +{% vscode %} + +{% data reusables.copilot.copilot-edits.agent-mode-description %} + +## Using agents + +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, ensure **Agent** is selected 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 runs terminal commands if necessary. +1. Review and iterate on changes or run a code review. + +You can also [click this link](vscode://GitHub.Copilot-Chat/chat?mode=agent&ref_product=copilot&ref_type=engagement&ref_style=text) to go directly to agent mode in {% data variables.product.prodname_vscode_shortname %}. + +> [!NOTE] +> If you don’t see the **Agent** option in the mode selector, your enterprise or organization administrator may have disabled agent mode for your IDE. + +For more information, see [Chat overview](https://aka.ms/vscode-copilot-agent) in the {% data variables.product.prodname_vscode %} documentation. + +{% data reusables.copilot.copilot-edits.agent-mode-requests %} + +## Steering an agent while it works + +Agent mode is interactive. While {% data variables.product.prodname_copilot_short %} is working, you can: + +* Submit a follow-up prompt to redirect the agent before it finishes. +* Confirm or reject each terminal command the agent proposes, unless it has been configured to run automatically. +* Review streamed edits as they appear and undo any you do not want. + +If a task is large or ambiguous, consider drafting an implementation plan first. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-plan-mode). + +## Choosing a model or a custom agent + +Before you submit a task, you can change which AI model the agent uses, or select a {% data variables.copilot.copilot_custom_agent_short %} tailored to a specific kind of work. + +* To change the model, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model). +* To select a {% data variables.copilot.copilot_custom_agent_short %}, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-custom-agents). + +## Extending agent mode with tools + +Much of agent mode's capability comes from the tools it can call. You can extend the agent with Model Context Protocol (MCP) servers, which add tools for working with external systems and with {% data variables.product.github %} itself. + +* To set up MCP servers in your IDE, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp). +* To work with {% data variables.product.github %} from your editor, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). +* For a worked example, see [AUTOTITLE](/copilot/tutorials/enhance-agent-mode-with-mcp). + +To hand a self-contained subtask to a separate agent with its own context, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-subagents). + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide) +* [AUTOTITLE](/copilot/concepts/chat) + +{% endvscode %} + + + + + +{% visualstudio %} + +Use agent mode when you have a specific task in mind and want to enable {% data variables.product.prodname_copilot_short %} to autonomously edit your code. In agent mode, {% data variables.product.prodname_copilot_short %} determines which files to make changes to, offers code changes and terminal commands to complete the task, and iterates to remediate issues until the original task is complete. + +Agent mode is available in {% data variables.product.prodname_vs %} 17.14 and later. + +## Using agent mode + +1. In the {% data variables.product.prodname_vs %} menu bar, click **View**, then click **{% data variables.copilot.copilot_chat %}**. +1. At the bottom of the chat panel, select **Agent** from the mode 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. 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. + +When you use {% data variables.copilot.copilot_agent_short %} mode, each prompt you enter consumes {% data variables.product.prodname_ai_credits %}. + +## Choosing a model + +Before you submit a task, you can change which AI model the agent uses. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model). + +## Extending agent mode with tools + +You can extend the agent with Model Context Protocol (MCP) servers, which add tools for working with external systems and with {% data variables.product.github %} itself. + +* To set up MCP servers in your IDE, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp). +* To work with {% data variables.product.github %} from your editor, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide) +* [AUTOTITLE](/copilot/concepts/chat) + +{% endvisualstudio %} + + + + + +{% jetbrains %} + +{% data reusables.copilot.copilot-edits.agent-mode-description %} + +## Using agent mode + +1. To start an edit session using agent mode, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}** in the menu bar, then select **Open {% data variables.copilot.copilot_chat %}**. +1. At the top of the chat panel, click the **Agent** tab. +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. + +{% data reusables.copilot.copilot-edits.agent-mode-requests %} + +## Steering an agent while it works + +Agent mode is interactive. While {% data variables.product.prodname_copilot_short %} is working, you can submit a follow-up prompt to redirect the agent, and confirm or reject each terminal command it proposes. + +If a task is large or ambiguous, consider drafting an implementation plan first. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-plan-mode). + +## Choosing a model or a custom agent + +Before you submit a task, you can change which AI model the agent uses, or select a {% data variables.copilot.copilot_custom_agent_short %} tailored to a specific kind of work. + +* To change the model, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model). +* To select a {% data variables.copilot.copilot_custom_agent_short %}, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-custom-agents). + +## Extending agent mode with tools + +You can extend the agent with Model Context Protocol (MCP) servers, which add tools for working with external systems and with {% data variables.product.github %} itself. + +* To set up MCP servers in your IDE, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp). +* To work with {% data variables.product.github %} from your editor, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). + +To hand a self-contained subtask to a separate agent with its own context, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-subagents). + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide) +* [AUTOTITLE](/copilot/concepts/chat) + +{% endjetbrains %} + + + + + +{% xcode %} + +{% data reusables.copilot.copilot-edits.agent-mode-description %} + +## Using agent 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 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. 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. + +{% data reusables.copilot.copilot-edits.agent-mode-requests %} + +## Steering an agent while it works + +Agent mode is interactive. While {% data variables.product.prodname_copilot_short %} is working, you can submit a follow-up prompt to redirect the agent, and confirm or reject each terminal command it proposes. + +If a task is large or ambiguous, consider drafting an implementation plan first. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-plan-mode). + +## Choosing a model + +Before you submit a task, you can change which AI model the agent uses. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model). + +To hand a self-contained subtask to a separate agent with its own context, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-subagents). + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide) +* [AUTOTITLE](/copilot/concepts/chat) + +{% endxcode %} + + + + + +{% eclipse %} + +{% data reusables.copilot.copilot-edits.agent-mode-description %} + +## Using agent mode + +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. 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. + +{% data reusables.copilot.copilot-edits.agent-mode-requests %} + +## Steering an agent while it works + +Agent mode is interactive. While {% data variables.product.prodname_copilot_short %} is working, you can submit a follow-up prompt to redirect the agent, and confirm or reject each terminal command it proposes. + +If a task is large or ambiguous, consider drafting an implementation plan first. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-plan-mode). + +## Choosing a model + +Before you submit a task, you can change which AI model the agent uses. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model). + +To hand a self-contained subtask to a separate agent with its own context, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-subagents). + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide) +* [AUTOTITLE](/copilot/concepts/chat) + +{% endeclipse %} diff --git a/content/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-in-your-ide.md b/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-cloud-agent-in-your-ide.md similarity index 95% rename from content/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-in-your-ide.md rename to content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-cloud-agent-in-your-ide.md index 4d6a5b3d8710..df4f2b81eec3 100644 --- a/content/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-in-your-ide.md +++ b/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-cloud-agent-in-your-ide.md @@ -1,13 +1,15 @@ --- title: Using Copilot cloud agent in your IDE shortTitle: Use cloud agent in your IDE -intro: 'Start and track {% data variables.copilot.copilot_cloud_agent %} sessions from {% data variables.product.prodname_vscode %}, JetBrains IDEs, Eclipse, and {% data variables.product.prodname_vs %}.' +intro: Start and track {% data variables.copilot.copilot_cloud_agent %} sessions from {% data variables.product.prodname_vscode %}, JetBrains IDEs, Eclipse, and {% data variables.product.prodname_vs %}. product: '{% data reusables.gated-features.copilot-cloud-agent %}
Sign up for {% data variables.product.prodname_copilot_short %} {% octicon "link-external" height:16 %}' versions: feature: copilot contentType: how-tos category: - Author and optimize with Copilot +redirect_from: + - /copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-in-your-ide --- {% vscode %} @@ -73,7 +75,7 @@ To directly open agent sessions in {% data variables.product.prodname_vscode_sho ## Tracking your sessions -You can see a list of your running and past agent sessions for a project in JetBrains IDEs with the {% data variables.copilot.copilot_chat_short %} extension. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=jetbrains). +You can see a list of your running and past agent sessions for a project in JetBrains IDEs with the {% data variables.copilot.copilot_chat_short %} extension. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension?tool=jetbrains). Cloud agent sessions appear in the unified sessions view in the {% data variables.copilot.copilot_chat_short %} panel alongside local and {% data variables.copilot.copilot_cli_short %} sessions. @@ -110,7 +112,7 @@ For each session listed, you can see its status at a glance. Click **Open in Bro ## Tracking your sessions -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 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/copilot-in-your-ide/set-up-copilot/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 %}. diff --git a/content/copilot/how-tos/use-copilot-agents/cloud-agent/create-custom-agents-in-your-ide.md b/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-custom-agents.md similarity index 94% rename from content/copilot/how-tos/use-copilot-agents/cloud-agent/create-custom-agents-in-your-ide.md rename to content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-custom-agents.md index 2ae9c2e0c5b3..ffff1c7bcdfb 100644 --- a/content/copilot/how-tos/use-copilot-agents/cloud-agent/create-custom-agents-in-your-ide.md +++ b/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-custom-agents.md @@ -1,14 +1,15 @@ --- -title: Creating custom agents for {% data variables.copilot.copilot_cloud_agent %} in your IDE -shortTitle: Create custom agents in your IDE -intro: You can create specialized agents with tailored expertise for specific development tasks. -product: '{% data reusables.gated-features.copilot-cloud-agent %}
Sign up for {% data variables.product.prodname_copilot_short %} {% octicon "link-external" height:16 %}' +title: Using custom agents in your IDE +shortTitle: Use custom agents +intro: You can create specialized agents with tailored expertise for specific development tasks, and invoke them from chat in your IDE. versions: feature: copilot category: - Configure Copilot - Author and optimize with Copilot contentType: how-tos +redirect_from: + - /copilot/how-tos/use-copilot-agents/cloud-agent/create-custom-agents-in-your-ide --- {% data variables.copilot.custom_agents_caps_short %} allow you to tailor {% data variables.product.prodname_copilot_short %}'s expertise for specific tasks. For a conceptual overview of {% data variables.copilot.custom_agents_short %}, see [AUTOTITLE](/copilot/concepts/agents/cloud-agent/about-custom-agents). diff --git a/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-plan-mode.md b/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-plan-mode.md new file mode 100644 index 000000000000..e7d9475bb7b0 --- /dev/null +++ b/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-plan-mode.md @@ -0,0 +1,133 @@ +--- +title: Using plan mode in your IDE +shortTitle: Use plan mode +intro: 'Have {% data variables.product.prodname_copilot_short %} research a task and draft an implementation plan for your review before any code is changed.' +defaultTool: vscode +versions: + feature: copilot +contentType: how-tos +category: + - Author and optimize with Copilot +--- + +## Introduction + +{% data reusables.copilot.plan-agent-intro %} + +Plan mode is available in {% data variables.product.prodname_vscode %}, JetBrains IDEs, Xcode, and Eclipse. It is not currently available in {% data variables.product.prodname_vs %}. Click the tabs above for instructions for your editor. + +To run a task without planning it first, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode). + + + + + +{% vscode %} + +## Using the plan agent + +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. 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.` + + 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. + +{% data reusables.copilot.plan-agent-steps %} + +For more information, see [Planning with agents in VS Code](https://code.visualstudio.com/docs/copilot/agents/planning) in the {% data variables.product.prodname_vscode %} documentation. + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide) + +{% endvscode %} + + + + + +{% jetbrains %} + +## Using 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 %} + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide) + +{% endjetbrains %} + + + + + +{% xcode %} + +> [!NOTE] +> Plan mode is currently in {% data variables.release-phases.public_preview %} and subject to change. + +## Using 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 %} + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide) + +{% endxcode %} + + + + + +{% eclipse %} + +> [!NOTE] +> Plan mode is currently in {% data variables.release-phases.public_preview %} and subject to change. + +## Using 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 %} + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide) + +{% endeclipse %} diff --git a/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-subagents.md b/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-subagents.md new file mode 100644 index 000000000000..5ca86a0d238a --- /dev/null +++ b/content/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-subagents.md @@ -0,0 +1,129 @@ +--- +title: 'Using {% data variables.copilot.subagents_short %} in your IDE' +shortTitle: Use subagents +intro: 'Delegate a self-contained subtask to a separate agent that works in its own context and reports back to your main chat session.' +defaultTool: vscode +versions: + feature: copilot +contentType: how-tos +category: + - Author and optimize with Copilot +--- + +## Introduction + +{% data reusables.copilot.subagent-intro %} + +{% data variables.copilot.subagents_caps_short %} are available in {% data variables.product.prodname_vscode %}, JetBrains IDEs, Xcode, and Eclipse. They are not currently available in {% data variables.product.prodname_vs %}. The steps to enable and invoke them differ by editor, so click the tabs above for instructions for your IDE. + +For the agent session that {% data variables.copilot.subagents_short %} are delegated from, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode). + + + + + +{% vscode %} + +## 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. See [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/create-custom-agents#configuring-an-agent-profile), and [Use prompt files in VS Code](https://code.visualstudio.com/docs/copilot/customization/prompt-files) in the {% data variables.product.prodname_vscode %} documentation. + +## 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. + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode) +* [AUTOTITLE](/copilot/reference/customization-cheat-sheet) + +{% endvscode %} + + + + + +{% jetbrains %} + +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/copilot-in-your-ide/use-copilot-agents/use-custom-agents). + +## Enabling {% 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. + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode) +* [AUTOTITLE](/copilot/reference/customization-cheat-sheet) + +{% endjetbrains %} + + + + + +{% xcode %} + +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/copilot-in-your-ide/use-copilot-agents/use-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. + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode) +* [AUTOTITLE](/copilot/reference/customization-cheat-sheet) + +{% endxcode %} + + + + + +{% eclipse %} + +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/copilot-in-your-ide/use-copilot-agents/use-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 + +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-agent-mode) +* [AUTOTITLE](/copilot/reference/customization-cheat-sheet) + +{% endeclipse %} diff --git a/content/copilot/how-tos/copilot-on-github/copilot-for-github-tasks/using-the-github-mcp-server-from-copilot-chat.md b/content/copilot/how-tos/copilot-on-github/copilot-for-github-tasks/using-the-github-mcp-server-from-copilot-chat.md index 127d614689a5..b939952d5a07 100644 --- a/content/copilot/how-tos/copilot-on-github/copilot-for-github-tasks/using-the-github-mcp-server-from-copilot-chat.md +++ b/content/copilot/how-tos/copilot-on-github/copilot-for-github-tasks/using-the-github-mcp-server-from-copilot-chat.md @@ -32,7 +32,7 @@ For a full list of available skills, see [AUTOTITLE](/copilot/reference/chat-che The {% data variables.product.github %} MCP server in {% data variables.copilot.copilot_chat_dotcom_short %} supports a limited set of skills. If a requested action is not supported, {% data variables.copilot.copilot_chat_short %} provides guidance but cannot perform it directly. -To access the full set of tools, set up the {% data variables.product.github %} MCP server in your IDE. See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server). +To access the full set of tools, set up the {% data variables.product.github %} MCP server in your IDE. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). You can also use the {% data variables.product.github %} MCP server with {% data variables.copilot.copilot_cloud_agent %}. It is enabled with read-only access by default and can be customized for wider access. See [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers#customizing-the-built-in-github-mcp-server). ## Further reading diff --git a/content/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions/add-repository-instructions.md b/content/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions/add-repository-instructions.md index 7ea3a079698f..a6c6e3705728 100644 --- a/content/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions/add-repository-instructions.md +++ b/content/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions/add-repository-instructions.md @@ -18,7 +18,7 @@ category: ## Introduction -Repository custom instructions let you provide {% data variables.product.prodname_copilot_short %} with repository-specific guidance and preferences on {% data variables.product.github %}. To find out how to set up custom instructions in an IDE, see [AUTOTITLE](/copilot/how-tos/configure-custom-instructions-in-your-ide/add-repository-instructions-in-your-ide). For more information about custom instructions, see [AUTOTITLE](/copilot/concepts/prompting/response-customization). +Repository custom instructions let you provide {% data variables.product.prodname_copilot_short %} with repository-specific guidance and preferences on {% data variables.product.github %}. To find out how to set up custom instructions in an IDE, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/configure-custom-instructions/add-repository-instructions-in-your-ide). For more information about custom instructions, see [AUTOTITLE](/copilot/concepts/prompting/response-customization). {% data reusables.copilot.repository-custom-instructions-prerequisites %} diff --git a/content/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers.md b/content/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers.md index f8b9385dc721..c68c600cff21 100644 --- a/content/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers.md +++ b/content/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers.md @@ -422,7 +422,7 @@ If you want to allow {% data variables.product.prodname_copilot_short %} to acce 1. If you see a firewall warning for `api.github.com` when using the {% data variables.product.github %} MCP server, add `api.github.com` to the custom allowlist. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/customize-the-firewall). -For information on using the {% data variables.product.github %} MCP server in other environments, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server). +For information on using the {% data variables.product.github %} MCP server in other environments, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). ## Disabling MCP tools for code review @@ -443,4 +443,4 @@ If you disable this setting, {% data variables.copilot.copilot_code-review_short * [AUTOTITLE](/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review) * [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/create-custom-agents) * [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/customize-the-agent-environment) -* [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp) diff --git a/content/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/collaborate-with-others.md b/content/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/collaborate-with-others.md index 13c2871b864b..516be9701d0a 100644 --- a/content/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/collaborate-with-others.md +++ b/content/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/collaborate-with-others.md @@ -71,4 +71,4 @@ To share an individual-owned space with others: If you’re part of an organization that has shared spaces, you can access them in the **Organizations** tab on [https://github.com/copilot/spaces](https://github.com/copilot/spaces?ref_product=copilot&ref_type=engagement&ref_style=text). -You can also use organization spaces directly in your IDE by specifying the organization as the owner when accessing the space. For more information, see [AUTOTITLE](/copilot/how-tos/provide-context/use-copilot-spaces/use-copilot-spaces#using-copilot-spaces-in-your-ide). +You can also use organization spaces directly in your IDE by specifying the organization as the owner when accessing the space. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/use-copilot-spaces#using-copilot-spaces-in-your-ide). diff --git a/content/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/create-copilot-spaces.md b/content/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/create-copilot-spaces.md index 9805cd97854a..d343a03300b8 100644 --- a/content/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/create-copilot-spaces.md +++ b/content/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/create-copilot-spaces.md @@ -67,6 +67,6 @@ You can add files to a space directly from the code view on {% data variables.pr ## Next steps * For an overview of {% data variables.copilot.copilot_spaces %}, see [AUTOTITLE](/copilot/concepts/context/spaces). -* To use {% data variables.copilot.copilot_spaces_short %} in {% data variables.product.github %} and your IDE, see [AUTOTITLE](/copilot/how-tos/provide-context/use-copilot-spaces/use-copilot-spaces). +* To use {% data variables.copilot.copilot_spaces_short %} in your IDE, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/use-copilot-spaces). * To speed up development work with {% data variables.copilot.copilot_spaces_short %}, see [AUTOTITLE](/copilot/tutorials/speed-up-development-work). * To share your space with your team, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/collaborate-with-others). diff --git a/content/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/index.md b/content/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/index.md index 3fe87c543f1a..297cbaf06e5c 100644 --- a/content/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/index.md +++ b/content/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/index.md @@ -7,5 +7,9 @@ versions: children: - /create-copilot-spaces - /collaborate-with-others +redirect_from: + - /copilot/using-github-copilot/copilot-spaces + - /copilot/how-tos/context/copilot-spaces + - /copilot/how-tos/context/use-copilot-spaces contentType: how-tos --- diff --git a/content/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-enterprise.md b/content/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-enterprise.md index 147f10a3cfcd..3f0cd79679b8 100644 --- a/content/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-enterprise.md +++ b/content/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-enterprise.md @@ -42,7 +42,7 @@ If your corporate network restricts users' traffic, add the required URLs to the If you route traffic via a proxy server, you may need to ask users to configure proxy settings in their environment. You may also need to install custom certificates on your users' machines. For more information, see [AUTOTITLE](/copilot/concepts/network-settings). -If your enterprise is on {% data variables.enterprise.data_residency_site %}, users will also need to configure their environment to authenticate from their development environment. See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/authenticate-to-ghecom). +If your enterprise is on {% data variables.enterprise.data_residency_site %}, users will also need to configure their environment to authenticate from their development environment. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/authenticate-to-ghecom). ## Assign licenses diff --git a/content/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-organization.md b/content/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-organization.md index 7648d2a3f1ff..99eb87579e08 100644 --- a/content/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-organization.md +++ b/content/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-organization.md @@ -32,13 +32,13 @@ Control which {% data variables.product.prodname_copilot_short %} features are a If your organization members connect through an HTTP proxy server or firewall, add the required URLs to the allowlist. See [AUTOTITLE](/copilot/reference/copilot-allowlist-reference). -If your environment uses custom SSL certificates, install them on your members' machines. See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-network-settings#installing-custom-certificates). +If your environment uses custom SSL certificates, install them on your members' machines. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-network-settings#installing-custom-certificates). ## Grant access to members Enable {% data variables.product.prodname_copilot_short %} for some or all members of your organization. Consider starting with teams most likely to benefit, to discover potential blockers and demonstrate early success. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/manage-access/grant-access). -> [!TIP] If your organization belongs to an enterprise on {% data variables.enterprise.data_residency_site %}, users need additional setup to authenticate from their development environment. See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/authenticate-to-ghecom). +> [!TIP] If your organization belongs to an enterprise on {% data variables.enterprise.data_residency_site %}, users need additional setup to authenticate from their development environment. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/authenticate-to-ghecom). ## Next steps diff --git a/content/copilot/how-tos/get-code-suggestions/index.md b/content/copilot/how-tos/get-code-suggestions/index.md deleted file mode 100644 index 0191f151a4b6..000000000000 --- a/content/copilot/how-tos/get-code-suggestions/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Get suggestions from GitHub Copilot -shortTitle: Get code suggestions -intro: 'Learn how to get suggestions from {% data variables.product.prodname_copilot %}.' -versions: - feature: copilot -children: - - /get-ide-code-suggestions - - /find-matching-code -redirect_from: - - /copilot/how-tos/completions - - /copilot/using-github-copilot/using-copilot-text-completion - - /copilot/how-tos/completions/using-copilot-text-completion - - /copilot/how-tos/completions/write-pr-descriptions - - /copilot/how-tos/get-code-suggestions/write-pr-descriptions -contentType: how-tos ---- diff --git a/content/copilot/how-tos/index.md b/content/copilot/how-tos/index.md index 715b41da8b1d..7ff82b0ec925 100644 --- a/content/copilot/how-tos/index.md +++ b/content/copilot/how-tos/index.md @@ -6,9 +6,7 @@ versions: feature: copilot children: - /copilot-on-github - - /set-up - - /get-code-suggestions - - /chat-with-copilot + - /copilot-in-your-ide - /copilot-cli - /cloud-and-local-sandboxes - /github-copilot-app @@ -16,12 +14,7 @@ children: - /github-agentic-workflows - /use-copilot-agents - /copilot-integrations - - /use-ai-models - - /provide-context - - /configure-custom-instructions-in-your-ide - /configure-content-exclusion - - /use-copilot-for-common-tasks - - /configure-personal-settings - /manage-and-track-spending - /manage-your-account - /administer-copilot diff --git a/content/copilot/how-tos/manage-your-account/disable-copilot-free.md b/content/copilot/how-tos/manage-your-account/disable-copilot-free.md index 325121e4ec94..70fd30029981 100644 --- a/content/copilot/how-tos/manage-your-account/disable-copilot-free.md +++ b/content/copilot/how-tos/manage-your-account/disable-copilot-free.md @@ -28,7 +28,7 @@ You can disable {% data variables.copilot.copilot_free_short %} in your {% data You can partially or fully disable {% data variables.copilot.copilot_free_short %} in JetBrains IDEs, {% data variables.product.prodname_vscode_shortname %}, {% data variables.product.prodname_vs %}, and XCode: -1. Navigate to [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide). +1. Navigate to [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-in-ide). 1. At the top of the page, select your IDE. 1. At the top right of the page, under "In this article," select **Enabling or disabling {% data variables.product.prodname_copilot_short %}**. 1. Follow the instructions to disable {% data variables.copilot.copilot_free_short %} in your IDE. diff --git a/content/copilot/how-tos/manage-your-account/manage-policies.md b/content/copilot/how-tos/manage-your-account/manage-policies.md index b10eba5cd0c2..a0c18bee4914 100644 --- a/content/copilot/how-tos/manage-your-account/manage-policies.md +++ b/content/copilot/how-tos/manage-your-account/manage-policies.md @@ -30,7 +30,7 @@ Your personal settings for {% data variables.product.prodname_copilot %} include If you choose to block suggestions matching public code, in most {% data variables.product.prodname_copilot %} products, {% data variables.product.prodname_copilot %} checks code suggestions with their surrounding code of about 150 characters against public code on {% data variables.product.prodname_dotcom %}. If there is a match, or a near match, the suggestion is not shown to you. -If you choose to allow suggestions matching public code or use a product that does not support "Block" mode, when {% data variables.product.prodname_copilot_short %} suggests matching code you can display details of the matches and click through to the relevant repositories on {% data variables.product.prodname_dotcom %}. For more information, see [AUTOTITLE](/copilot/how-tos/get-code-suggestions/find-matching-code). +If you choose to allow suggestions matching public code or use a product that does not support "Block" mode, when {% data variables.product.prodname_copilot_short %} suggests matching code you can display details of the matches and click through to the relevant repositories on {% data variables.product.prodname_dotcom %}. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/find-matching-code). {% data reusables.user-settings.copilot-settings %} 1. To the right of **Suggestions matching public code**, select the dropdown menu, then click **Allow** to allow suggestions matching public code, or **Block** to block suggestions matching public code. diff --git a/content/copilot/how-tos/manage-your-account/view-and-change-your-copilot-plan.md b/content/copilot/how-tos/manage-your-account/view-and-change-your-copilot-plan.md index 49b1ed86c225..f6f004814218 100644 --- a/content/copilot/how-tos/manage-your-account/view-and-change-your-copilot-plan.md +++ b/content/copilot/how-tos/manage-your-account/view-and-change-your-copilot-plan.md @@ -65,7 +65,7 @@ You can upgrade or downgrade your {% data variables.product.prodname_copilot_sho You can cancel your {% data variables.product.prodname_copilot_short %} plan at any time. You’ll retain access to your current features until your billing cycle ends. You will automatically be downgraded to {% data variables.copilot.copilot_free_short %} at the end of your billing cycle. -{% data reusables.copilot.free-access-cancellation-note %} If you have access to {% data variables.product.prodname_copilot_short %} through an organization or enterprise, you will not be able to cancel your plan. In these cases, you can disable {% data variables.product.prodname_copilot_short %} in your environment. See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide). +{% data reusables.copilot.free-access-cancellation-note %} If you have access to {% data variables.product.prodname_copilot_short %} through an organization or enterprise, you will not be able to cancel your plan. In these cases, you can disable {% data variables.product.prodname_copilot_short %} in your environment. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-in-ide). {% data reusables.copilot.copilot-one-account-short %} diff --git a/content/copilot/how-tos/provide-context/index.md b/content/copilot/how-tos/provide-context/index.md deleted file mode 100644 index 23f78002e263..000000000000 --- a/content/copilot/how-tos/provide-context/index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Provide context to GitHub Copilot -shortTitle: Provide context -intro: Learn how to give {% data variables.product.prodname_copilot %} relevant information to increase the quality of responses. -versions: - feature: copilot -children: - - /use-copilot-spaces - - /use-mcp-in-your-ide -redirect_from: - - /copilot/customizing-copilot - - /copilot/how-tos/context -contentType: how-tos ---- - diff --git a/content/copilot/how-tos/provide-context/use-copilot-spaces/index.md b/content/copilot/how-tos/provide-context/use-copilot-spaces/index.md deleted file mode 100644 index 0728c87e4323..000000000000 --- a/content/copilot/how-tos/provide-context/use-copilot-spaces/index.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: GitHub Copilot Spaces -shortTitle: Use Copilot Spaces -intro: "Organize and centralize relevant content into {% data variables.copilot.copilot_spaces_short %} that ground {% data variables.product.prodname_copilot_short %}'s responses in the right context for a specific task." -versions: - feature: copilot -children: - - /use-copilot-spaces -redirect_from: - - /copilot/using-github-copilot/copilot-spaces - - /copilot/how-tos/context/copilot-spaces - - /copilot/how-tos/context/use-copilot-spaces -contentType: how-tos ---- - -These articles provide how-to information for creating and using {% data variables.copilot.copilot_spaces %}. - -For an overview, see [AUTOTITLE](/copilot/concepts/context/spaces). To learn how to use {% data variables.copilot.copilot_spaces_short %} to help with development work, see [AUTOTITLE](/copilot/tutorials/speed-up-development-work). diff --git a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/index.md b/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/index.md deleted file mode 100644 index 4ebf5966c430..000000000000 --- a/content/copilot/how-tos/provide-context/use-mcp-in-your-ide/index.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Using Model Context Protocol in your IDE -shortTitle: Use MCP in your IDE -intro: Model Context Protocol (MCP) is a protocol that allows you to extend the capabilities of {% data variables.product.prodname_copilot %} by integrating it with other systems. -versions: - feature: copilot -children: - - /extend-copilot-chat-with-mcp - - /set-up-the-github-mcp-server - - /enterprise-configuration - - /configure-toolsets - - /use-the-github-mcp-server - - /change-mcp-registry -redirect_from: - - /copilot/customizing-copilot/using-model-context-protocol - - /copilot/how-tos/context/model-context-protocol - - /copilot/how-tos/context/use-mcp - - /copilot/how-tos/provide-context/use-mcp -contentType: how-tos ---- - diff --git a/content/copilot/how-tos/set-up/index.md b/content/copilot/how-tos/set-up/index.md deleted file mode 100644 index b99b775b6bc8..000000000000 --- a/content/copilot/how-tos/set-up/index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Setting up GitHub Copilot -shortTitle: Set up -intro: Learn how to set up {% data variables.product.prodname_copilot %}. -versions: - feature: copilot -children: - - /set-up-for-self - - /install-copilot-extension -redirect_from: - - /copilot/setting-up-github-copilot - - /copilot/get-started/setting-up-github-copilot -contentType: how-tos ---- - diff --git a/content/copilot/how-tos/set-up/set-up-for-self.md b/content/copilot/how-tos/set-up/set-up-for-self.md deleted file mode 100644 index afb6c10a54a9..000000000000 --- a/content/copilot/how-tos/set-up/set-up-for-self.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Setting up GitHub Copilot for yourself -shortTitle: Set up for self -intro: Follow these steps to start using Copilot. -permissions: Individuals -versions: - feature: copilot -redirect_from: - - /copilot/setting-up-github-copilot/setting-up-github-copilot-for-yourself - - /copilot/get-started/setting-up-github-copilot/setting-up-github-copilot-for-yourself - - /copilot/how-tos/set-up/setting-up-github-copilot-for-yourself -contentType: how-tos -category: - - Configure Copilot ---- - -## 1. Get access to {% data variables.product.prodname_copilot %} - -There are a few ways that you can get access to {% data variables.product.prodname_copilot %}: - -* **Use {% data variables.copilot.copilot_free_short %}**. Get a limited experience of {% data variables.product.prodname_copilot_short %} with up to 2,000 inline suggestion requests and limited chat and agent usage-no paid plan required. See [AUTOTITLE](/copilot/get-started/plans). - -* **Sign up for a paid plan**. You can subscribe to one of these plans: - - * **{% data variables.copilot.copilot_pro_short %}**, which includes access to premium models and a monthly allowance of {% data variables.product.prodname_ai_credits_short %}. [Subscribe to {% data variables.copilot.copilot_pro_short %}](https://github.com/github-copilot/signup?ref_product=copilot&ref_type=purchase&ref_style=text&ref_plan=pro). - * **{% data variables.copilot.copilot_pro_plus_short %}**, which includes a higher monthly allowance of {% data variables.product.prodname_ai_credits_short %} and access to all available models. [Subscribe to {% data variables.copilot.copilot_pro_plus_short %}](https://github.com/github-copilot/signup?ref_product=copilot&ref_type=purchase&ref_style=text&ref_plan=pro-plus). - * **{% data variables.copilot.copilot_max_short %}**, which includes advanced AI models and our highest individual monthly allowance of {% data variables.product.prodname_ai_credits_short %}. [Subscribe to {% data variables.copilot.copilot_max_short %}](https://github.com/settings/billing/licensing?ref_product=copilot&ref_type=purchase&ref_style=text&ref_plan=max). - -* **Use {% data variables.product.prodname_copilot_short %} through your organization or enterprise**. If you're part of an organization or enterprise with a {% data variables.product.prodname_copilot_short %} plan, you can request access at [https://github.com/settings/copilot](https://github.com/settings/copilot) under "Get {% data variables.product.prodname_copilot_short %} from an organization." - -* **Verified students** can sign up to {% data variables.copilot.copilot_student_short %} to access {% data variables.product.prodname_copilot_short %} for free. See [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-students). - -* **Verified teachers or open source maintainers** may be eligible to use {% data variables.product.prodname_copilot_short %} for free. See [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-teachers-and-os-maintainers). - -## 2. Install the {% data variables.product.prodname_copilot_short %} extension for your IDE - -If you want to use {% data variables.product.prodname_copilot_short %} in your IDE, install the {% data variables.product.prodname_copilot_short %} extension for your IDE. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). - -## 3. Install the {% data variables.product.prodname_copilot_short %} extension for the command line - -If you want to use {% data variables.product.prodname_copilot_short %} in the command line, install the {% data variables.product.prodname_copilot_short %} extension for the {% data variables.product.prodname_cli %}. See [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli). - -## 4. Use {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_windows_terminal %} - -If you want to chat with {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_windows_terminal %}, connect {% data variables.product.prodname_copilot_short %} with Terminal Chat in {% data variables.product.prodname_windows_terminal %} Canary. See [AUTOTITLE](/copilot/get-started/quickstart-for-using-github-copilot-in-your-ide). - -## 5. Set up networking (if necessary) - -If you connect through an HTTP proxy server or firewall, ensure that key URLs are added to the allowlist for the proxy server or firewall. See [AUTOTITLE](/copilot/reference/copilot-allowlist-reference). - -You may also need to install a custom SSL certificate on your machine. See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-network-settings#installing-custom-certificates). - -## 6. Configure settings (optional) - -All users can configure {% data variables.product.prodname_copilot_short %} settings in their IDE. See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide). - -If you have your own {% data variables.product.prodname_copilot_short %} plan (instead of using your organization or enterprise's plan), you can: - -* **Install Model Context Protocol (MCP) servers** to integrate with {% data variables.copilot.copilot_chat_short %}. See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp). -* **Manage policies**. See [AUTOTITLE](/copilot/how-tos/manage-your-account/manage-policies). -* **Enable {% data variables.copilot.copilot_memory %}**, which allows {% data variables.product.prodname_copilot_short %} to generate and store useful information about your repositories. See [AUTOTITLE](/copilot/concepts/agents/copilot-memory). - -## 7. Start using {% data variables.product.prodname_copilot_short %} - -Start using {% data variables.product.prodname_copilot_short %} to help you write code faster and more efficiently. For all the ways you can use {% data variables.product.prodname_copilot_short %}, see [AUTOTITLE](/copilot/how-tos). {% data variables.product.prodname_copilot_short %} code suggestions, {% data variables.copilot.copilot_chat_dotcom_short %}, and {% data variables.copilot.copilot_chat_short %} in your IDE are a great place to start. - -To get started with agent-driven development in the {% data variables.copilot.github_copilot_app %}, see [AUTOTITLE](/copilot/get-started/quickstart-copilot-app). - -To learn how to best use {% data variables.product.prodname_copilot_short %}, see [AUTOTITLE](/copilot/get-started/best-practices) and [AUTOTITLE](/copilot/concepts/prompting/prompt-engineering). diff --git a/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-common-issues.md b/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-common-issues.md index 121f7ef03f33..ff6eba53af10 100644 --- a/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-common-issues.md +++ b/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-common-issues.md @@ -28,9 +28,9 @@ We recommend you follow the quickstart guide for {% data variables.product.prodn The {% data variables.product.prodname_copilot %} extension is frequently updated to fix bugs and add new features. It's important to keep your extension up to date because older clients cannot communicate with the {% data variables.product.prodname_copilot %} servers. Update your {% data variables.product.prodname_copilot %} extension on all the machines you have it installed. -{% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/authenticate-to-ghecom). +{% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/authenticate-to-ghecom). -For more information about configuring {% data variables.product.prodname_copilot %} in a supported IDE, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide). +For more information about configuring {% data variables.product.prodname_copilot %} in a supported IDE, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-in-ide). ## {% data variables.product.prodname_copilot %} not working in some files @@ -77,7 +77,7 @@ In case you experience repeated rate limiting in {% data variables.product.prodn ## Can't find {% data variables.copilot.copilot_chat_short %} in my IDE -If you can't find {% data variables.copilot.copilot_chat_short %} in your editor, make sure you have checked the "Prerequisites" section of [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide). +If you can't find {% data variables.copilot.copilot_chat_short %} in your editor, make sure you have checked the "Prerequisites" section of [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide). > [!NOTE] > The linked article has tabs for various IDEs. @@ -90,7 +90,7 @@ To use {% data variables.copilot.copilot_chat_short %}, make sure you are using ## Authentication problems with {% data variables.enterprise.prodname_managed_user %} accounts -{% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/authenticate-to-ghecom). +{% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/authenticate-to-ghecom). ## Authentication problems in {% data variables.product.prodname_vscode %} diff --git a/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-network-errors.md b/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-network-errors.md index 4f6bb55c0613..80db07eda840 100644 --- a/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-network-errors.md +++ b/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-network-errors.md @@ -14,7 +14,7 @@ category: - Troubleshooting Copilot --- -If you're working on company equipment and connecting to a corporate network, you may be connecting to the Internet via a VPN or an HTTP proxy server. In some cases, these types of network setups may prevent {% data variables.product.prodname_copilot %} from connecting to {% data variables.product.prodname_dotcom %}'s server. For more information about the options for setting up proxies with {% data variables.product.prodname_copilot %}, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-network-settings). +If you're working on company equipment and connecting to a corporate network, you may be connecting to the Internet via a VPN or an HTTP proxy server. In some cases, these types of network setups may prevent {% data variables.product.prodname_copilot %} from connecting to {% data variables.product.prodname_dotcom %}'s server. For more information about the options for setting up proxies with {% data variables.product.prodname_copilot %}, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-network-settings). This article provides guidance for common issues related to HTTP proxies and custom certificates. If you use a firewall, this may also interfere with {% data variables.product.prodname_copilot %}'s connection. For more information, see [AUTOTITLE](/copilot/how-tos/troubleshoot-copilot/troubleshoot-firewall-settings). @@ -46,14 +46,14 @@ If you're unable to connect and the `curl` requests don't help to identify the e If there is a problem with your proxy setup, you may see the following error: `{% data variables.product.prodname_copilot %} could not connect to server. Extension activation failed: "read ETIMEDOUT" or "read ECONNRESET"`. This error can be caused by a range of network issues. -If you know you are connecting via a proxy, make sure the proxy is configured correctly in your environment. For more information, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-network-settings#configuring-proxy-settings-for-copilot). +If you know you are connecting via a proxy, make sure the proxy is configured correctly in your environment. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-network-settings#configuring-proxy-settings-for-copilot). > [!NOTE] If you are an employee of a company with a proxy server, your company must also configure proxy settings for {% data variables.product.prodname_copilot_short %} at the company level. See [AUTOTITLE](/copilot/reference/copilot-allowlist-reference). {% data variables.product.prodname_copilot %} uses custom code to connect to proxies. This means a proxy setup supported by your editor is not necessarily supported by {% data variables.product.prodname_copilot %}. Some common causes for errors related to proxies are: * If your proxy's URL starts `https://`, it is not currently supported by {% data variables.product.prodname_copilot %}. -* You may need to authenticate to the proxy. {% data variables.product.prodname_copilot %} supports basic authentication or authentication with Kerberos. If you are using Kerberos, ensure you have a valid ticket for the proxy service and that you are using the correct service principal name for the service. For more information, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-network-settings). +* You may need to authenticate to the proxy. {% data variables.product.prodname_copilot %} supports basic authentication or authentication with Kerberos. If you are using Kerberos, ensure you have a valid ticket for the proxy service and that you are using the correct service principal name for the service. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-network-settings). * {% data variables.product.prodname_copilot %} may reject custom certificates. For more information, see [Troubleshooting certificate-related errors](#troubleshooting-certificate-related-errors). ## Troubleshooting certificate-related errors @@ -63,11 +63,11 @@ Depending on your proxy setup, you may encounter errors like "certificate signat Some possible ways to resolve certificate-related errors are: * Configure a different proxy that does not intercept secure connections. * If you are using a corporate proxy, contact your IT department to see if they can configure the proxy to not intercept secure connections. -* Ensure the custom certificates are properly installed in your operating system's trust store. For more information, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-network-settings#installing-custom-certificates). If the certificates are installed on your machine but {% data variables.product.prodname_copilot %} isn't detecting them, it may help you to know the mechanisms that {% data variables.product.prodname_copilot %} uses to find certificates. +* Ensure the custom certificates are properly installed in your operating system's trust store. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-network-settings#installing-custom-certificates). If the certificates are installed on your machine but {% data variables.product.prodname_copilot %} isn't detecting them, it may help you to know the mechanisms that {% data variables.product.prodname_copilot %} uses to find certificates. * On Windows, {% data variables.product.prodname_copilot_short %} uses the [win-ca package](https://www.npmjs.com/package/win-ca). * On macOS, {% data variables.product.prodname_copilot_short %} uses the [mac-ca package](https://www.npmjs.com/package/mac-ca). * On Linux, {% data variables.product.prodname_copilot_short %} checks the standard OpenSSL files `/etc/ssl/certs/ca-certificates.crt` and `/etc/ssl/certs/ca-bundle.crt`. -* Configure {% data variables.product.prodname_copilot %} to ignore certificate errors. In your proxy settings, you can deselect **Proxy Strict SSL** in {% data variables.product.prodname_vscode %}, or select **Accept non-trusted certificates automatically** in a JetBrains IDE. For more information, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-network-settings#configuring-proxy-settings-for-copilot). +* Configure {% data variables.product.prodname_copilot %} to ignore certificate errors. In your proxy settings, you can deselect **Proxy Strict SSL** in {% data variables.product.prodname_vscode %}, or select **Accept non-trusted certificates automatically** in a JetBrains IDE. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-network-settings#configuring-proxy-settings-for-copilot). > [!WARNING] Ignoring certificate errors can cause security issues and is not recommended. diff --git a/content/copilot/how-tos/troubleshoot-copilot/view-logs.md b/content/copilot/how-tos/troubleshoot-copilot/view-logs.md index a9a9d4fe282b..9db275414da5 100644 --- a/content/copilot/how-tos/troubleshoot-copilot/view-logs.md +++ b/content/copilot/how-tos/troubleshoot-copilot/view-logs.md @@ -22,7 +22,7 @@ category: ## Collecting log files -The location of the log files depends on the JetBrains IDE you are using. For more information, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide?tool=jetbrains). +The location of the log files depends on the JetBrains IDE you are using. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-in-ide?tool=jetbrains). These steps describe how to view and collect the log files for the following JetBrains IDEs: diff --git a/content/copilot/how-tos/use-ai-models/index.md b/content/copilot/how-tos/use-ai-models/index.md deleted file mode 100644 index c2d1bbe4dd6e..000000000000 --- a/content/copilot/how-tos/use-ai-models/index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: AI models for GitHub Copilot -shortTitle: Use AI models -intro: 'Learn how to use alternative large language models for {% data variables.product.prodname_copilot %}.' -versions: - feature: copilot -children: - - /change-the-chat-model - - /change-the-completion-model -redirect_from: - - /copilot/using-github-copilot/ai-models - - /copilot/how-tos/ai-models - - /copilot/how-tos/use-ai-models/create-a-custom-model -contentType: how-tos ---- diff --git a/content/copilot/how-tos/use-copilot-agents/cloud-agent/index.md b/content/copilot/how-tos/use-copilot-agents/cloud-agent/index.md index fcee18ceb244..81cc98e011ec 100644 --- a/content/copilot/how-tos/use-copilot-agents/cloud-agent/index.md +++ b/content/copilot/how-tos/use-copilot-agents/cloud-agent/index.md @@ -2,7 +2,7 @@ title: GitHub Copilot cloud agent shortTitle: '{% data variables.copilot.copilot_cloud_agent_short_cap_c %}' allowTitleToDifferFromFilename: true -intro: 'Find out how {% data variables.product.prodname_copilot_short %} can research a repository, plan and make code changes, and create pull requests for you to review.' +intro: Find out how {% data variables.product.prodname_copilot_short %} can research a repository, plan and make code changes, and create pull requests for you to review. versions: feature: copilot children: @@ -11,11 +11,9 @@ children: - /manage-rationale-confidence-approvals - /changing-the-ai-model - /configuring-agent-settings - - /create-custom-agents-in-your-ide - /use-cloud-agent-on-github - /use-cloud-agent-on-mobile - /use-agent-apps - - /use-cloud-agent-in-your-ide - /use-cloud-agent-via-the-api - /use-cloud-agent-from-cli - /use-cloud-agent-with-mcp diff --git a/content/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-with-mcp.md b/content/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-with-mcp.md index 26b97da35e71..1c05d9903e7f 100644 --- a/content/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-with-mcp.md +++ b/content/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-with-mcp.md @@ -16,7 +16,7 @@ category: ## Starting a session -1. Install the {% data variables.product.github %} MCP Server in your preferred IDE or agentic coding tool. See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server). +1. Install the {% data variables.product.github %} MCP Server in your preferred IDE or agentic coding tool. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). 1. Ensure the `create_pull_request_with_copilot` tool is enabled. diff --git a/content/copilot/how-tos/use-copilot-for-common-tasks/index.md b/content/copilot/how-tos/use-copilot-for-common-tasks/index.md deleted file mode 100644 index a6d2e6e6c79c..000000000000 --- a/content/copilot/how-tos/use-copilot-for-common-tasks/index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Use GitHub Copilot for common tasks -shortTitle: Use Copilot for common tasks -intro: '{% data variables.product.prodname_copilot %} enhances and integrates with many different {% data variables.product.github %} features.' -versions: - feature: copilot -children: - - /use-copilot-in-the-cli -redirect_from: - - /copilot/how-tos/github-flow -contentType: how-tos ---- diff --git a/content/copilot/how-tos/use-copilot-for-common-tasks/use-copilot-in-the-cli.md b/content/copilot/how-tos/use-copilot-for-common-tasks/use-copilot-in-the-cli.md deleted file mode 100644 index 0a08e41047f1..000000000000 --- a/content/copilot/how-tos/use-copilot-for-common-tasks/use-copilot-in-the-cli.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Using the GitHub CLI Copilot extension -shortTitle: Use Copilot in the CLI -allowTitleToDifferFromFilename: true -intro: 'This article provides details about the replacement for the {% data variables.product.prodname_copilot_short %} extension for {% data variables.product.prodname_cli %}.' -versions: - feature: copilot-in-the-cli -redirect_from: - - /copilot/github-copilot-in-the-cli/using-github-copilot-in-the-cli - - /copilot/using-github-copilot/using-github-copilot-in-the-cli - - /copilot/using-github-copilot/using-github-copilot-in-the-command-line - - /copilot/how-tos/github-flow/using-github-copilot-in-the-command-line - - /copilot/how-tos/github-flow/use-copilot-in-the-cli - - /copilot/github-copilot-in-the-cli - - /copilot/how-tos/configure-personal-settings/customize-copilot-in-the-cli - - /copilot/github-copilot-in-the-cli/configuring-github-copilot-in-the-cli -contentType: how-tos -category: - - Author and optimize with Copilot ---- - -# Replacing the {% data variables.release-phases.retired %} {% data variables.product.prodname_copilot_short %} extension - -The {% data variables.product.prodname_copilot %} extension for {% data variables.product.prodname_cli %} is {% data variables.release-phases.retired %}. It has been replaced by the new {% data variables.copilot.copilot_cli %}. See [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-copilot-cli). diff --git a/content/copilot/reference/ai-models/model-comparison.md b/content/copilot/reference/ai-models/model-comparison.md index e77e82800d8c..d32b14a6b0e3 100644 --- a/content/copilot/reference/ai-models/model-comparison.md +++ b/content/copilot/reference/ai-models/model-comparison.md @@ -130,7 +130,7 @@ Use one of these models if you want to: * Understand front-end behavior from visual context. > [!TIP] -> If you're using a model in a context that doesn’t support image input (like a code editor), you won’t see visual reasoning benefits. You may be able to use an MCP server to get access to visual input indirectly. See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp). +> If you're using a model in a context that doesn’t support image input (like a code editor), you won’t see visual reasoning benefits. You may be able to use an MCP server to get access to visual input indirectly. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp). ### When to use a different model @@ -153,5 +153,5 @@ Some models have behaviors, limitations, or safeguards that are useful to unders Choosing the right model helps you get the most out of {% data variables.product.prodname_copilot_short %}. If you're not sure which model to use, start with a general-purpose option like {% data variables.copilot.copilot_gpt_5_mini %}, then adjust based on your needs. * For detailed model specs and pricing, see [AUTOTITLE](/copilot/reference/ai-models/supported-models). -* To switch between models, refer to [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-chat-model) or [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-completion-model). +* To switch between models, refer to [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model) or [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/change-the-completion-model). * To learn how {% data variables.copilot.copilot_chat_short %} serves different AI models, see [AUTOTITLE](/copilot/reference/ai-models/model-hosting). diff --git a/content/copilot/reference/ai-models/supported-models.md b/content/copilot/reference/ai-models/supported-models.md index fb556cac70c8..43ce5fd255ef 100644 --- a/content/copilot/reference/ai-models/supported-models.md +++ b/content/copilot/reference/ai-models/supported-models.md @@ -117,7 +117,7 @@ The following table shows which models are available in each client. {% endrowheaders %} > [!NOTE] -> In {% data variables.product.prodname_vscode %} you can add more models than those that are available by default with your {% data variables.product.prodname_copilot_short %} subscription. See [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-chat-model?tool=vscode#adding-more-models). +> In {% data variables.product.prodname_vscode %} you can add more models than those that are available by default with your {% data variables.product.prodname_copilot_short %} subscription. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model?tool=vscode#adding-more-models). ## Minimum IDE versions for recent models diff --git a/content/copilot/reference/chat-cheat-sheet.md b/content/copilot/reference/chat-cheat-sheet.md index c7da75501246..d0b6ecb83572 100644 --- a/content/copilot/reference/chat-cheat-sheet.md +++ b/content/copilot/reference/chat-cheat-sheet.md @@ -60,7 +60,7 @@ Below is a list of the MCP skills that are currently available in {% data variab | `get_me` | Tell me about myself. | | `search_users` | Search for users with the name "Mona Octocat" | -For more information about using MCP skills in {% data variables.copilot.copilot_chat_short %}, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server). +For more information about using MCP skills in {% data variables.copilot.copilot_chat_short %}, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). {% endwebui %} @@ -70,7 +70,7 @@ This version of this article is for {% data variables.product.prodname_copilot_s {% data reusables.copilot.about-copilot-enhancements %} -For information about how to get started with {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode %}, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide). +For information about how to get started with {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode %}, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide). ## Slash commands @@ -114,7 +114,7 @@ Below is a list of some of the most common chat participants for using {% data v | Variable | Description | |--------------|----------------------------------------------------------------------------------------------| | `@azure` | Has context about Azure services and how to use, deploy and manage them. Use `@azure` when you want help with Azure. The `@azure` chat participant is currently in {% data variables.release-phases.public_preview %} and is subject to change. | -| `@github` | Allows you to use {% data variables.product.github %}-specific {% data variables.product.prodname_copilot_short %} skills. See [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide#using-github-skills-for-copilot). | +| `@github` | Allows you to use {% data variables.product.github %}-specific {% data variables.product.prodname_copilot_short %} skills. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide#using-github-skills-for-copilot). | | `@terminal` | Has context about the {% data variables.product.prodname_vscode %} terminal shell and its contents. Use `@terminal` when you want help creating or debugging terminal commands. | | `@vscode` | Has context about {% data variables.product.prodname_vscode %} commands and features. Use `@vscode` when you want help with {% data variables.product.prodname_vscode %}. | @@ -126,7 +126,7 @@ This version of this article is for {% data variables.product.prodname_copilot_s {% data reusables.copilot.about-copilot-enhancements %} -For information about how to get started with {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vs %}, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide). +For information about how to get started with {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vs %}, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide). ## Slash commands @@ -162,7 +162,7 @@ This version of this article is for {% data variables.product.prodname_copilot_s {% data reusables.copilot.about-copilot-enhancements %} -For information about how to get started with {% data variables.copilot.copilot_chat_short %} in JetBrains, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide). +For information about how to get started with {% data variables.copilot.copilot_chat_short %} in JetBrains, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide). ## Slash commands @@ -190,7 +190,7 @@ This version of this article is for {% data variables.product.prodname_copilot_s {% data reusables.copilot.about-copilot-enhancements %} -For information about how to get started with {% data variables.copilot.copilot_chat_short %} in Xcode, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide). +For information about how to get started with {% data variables.copilot.copilot_chat_short %} in Xcode, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide). ## Slash commands diff --git a/content/copilot/reference/copilot-allowlist-reference.md b/content/copilot/reference/copilot-allowlist-reference.md index c7d6a9b40187..632ee70e6d62 100644 --- a/content/copilot/reference/copilot-allowlist-reference.md +++ b/content/copilot/reference/copilot-allowlist-reference.md @@ -16,7 +16,7 @@ contentType: reference If your company employs security measures like a firewall or proxy server, you should add the URLs in this article to an allowlist to ensure {% data variables.product.prodname_copilot_short %} works as expected. Users must be able to authenticate to {% data variables.product.github %} and access the {% data variables.product.prodname_copilot_short %} service on {% data variables.product.prodname_dotcom_the_website %} or {% data variables.enterprise.data_residency_site %}. -Every user of the proxy server or firewall also needs to configure their own environment to connect to {% data variables.product.prodname_copilot_short %}. See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-network-settings). +Every user of the proxy server or firewall also needs to configure their own environment to connect to {% data variables.product.prodname_copilot_short %}. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-network-settings). ## {% data variables.product.prodname_copilot_short %} on {% data variables.product.prodname_dotcom_the_website %} diff --git a/content/copilot/reference/copilot-billing/request-based-billing-legacy/copilot-requests.md b/content/copilot/reference/copilot-billing/request-based-billing-legacy/copilot-requests.md index 66cb5e231a52..1fd70e8e33e0 100644 --- a/content/copilot/reference/copilot-billing/request-based-billing-legacy/copilot-requests.md +++ b/content/copilot/reference/copilot-billing/request-based-billing-legacy/copilot-requests.md @@ -40,7 +40,7 @@ The following {% data variables.product.prodname_copilot_short %} features can u | Feature | Premium request consumption | SKU Attribution | | ------- | ----------- | ----------- | -| [{% data variables.copilot.copilot_chat_short %}](/copilot/how-tos/chat-with-copilot) | {% data variables.copilot.copilot_chat_short %} uses **one premium request** per user prompt, multiplied by the model's rate. This includes ask, edit, agent, and plan modes in {% data variables.copilot.copilot_chat_short %} in an IDE. | {% data variables.product.prodname_copilot_short %} premium requests | +| [{% data variables.copilot.copilot_chat_short %}](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot) | {% data variables.copilot.copilot_chat_short %} uses **one premium request** per user prompt, multiplied by the model's rate. This includes ask, edit, agent, and plan modes in {% data variables.copilot.copilot_chat_short %} in an IDE. | {% data variables.product.prodname_copilot_short %} premium requests | | [{% data variables.copilot.copilot_cli_short %}](/copilot/concepts/agents/copilot-cli/about-copilot-cli) | Each prompt to {% data variables.copilot.copilot_cli_short %} uses **one premium request** with the default model. For other models, this is multiplied by the model's rate. | {% data variables.product.prodname_copilot_short %} premium requests | | [{% data variables.product.prodname_copilot_short %} code review](/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review) | Each time {% data variables.product.prodname_copilot_short %} reviews a pull request (when assigned as a reviewer) or reviews code in your IDE, **13 premium requests** are consumed. | {% data variables.product.prodname_copilot_short %} premium requests | | [{% data variables.copilot.copilot_cloud_agent %}](/copilot/concepts/agents/cloud-agent/about-cloud-agent) | {% data variables.copilot.copilot_cloud_agent %} uses **one premium request** per session, multiplied by the model's rate. A session begins when you prompt {% data variables.product.prodname_copilot_short %} to undertake a task. In addition, each real-time steering comment made during an active session uses **one premium request** per session, multiplied by the model's rate. | {% data variables.copilot.copilot_cloud_agent %} premium requests | diff --git a/content/copilot/reference/custom-instructions-support.md b/content/copilot/reference/custom-instructions-support.md index 88476f69c24e..b36a4d378b1f 100644 --- a/content/copilot/reference/custom-instructions-support.md +++ b/content/copilot/reference/custom-instructions-support.md @@ -137,7 +137,7 @@ WRITING NOTE: The following tables have been written using HTML rather than Mark In JetBrains IDEs, you can manage supported customizations from the Agent Customizations editor. In the {% data variables.copilot.copilot_chat %} panel, click the settings icon in the top-right, then click **Customizations**. -The editor lets you work with workspace customizations for the current project or personal customizations that follow you across projects. You can use it to view and edit {% data variables.copilot.custom_agents_short %}, manage reusable skills and prompt files, and configure instructions. For more information, see [AUTOTITLE](/copilot/how-tos/configure-custom-instructions-in-your-ide/add-repository-instructions-in-your-ide) and [AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/create-custom-agents-in-your-ide). +The editor lets you work with workspace customizations for the current project or personal customizations that follow you across projects. You can use it to view and edit {% data variables.copilot.custom_agents_short %}, manage reusable skills and prompt files, and configure instructions. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/configure-custom-instructions/add-repository-instructions-in-your-ide) and [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-custom-agents). diff --git a/content/copilot/reference/customization-cheat-sheet.md b/content/copilot/reference/customization-cheat-sheet.md index ff27daf4f9ed..d0e4c27fa85b 100644 --- a/content/copilot/reference/customization-cheat-sheet.md +++ b/content/copilot/reference/customization-cheat-sheet.md @@ -20,7 +20,7 @@ This table shows what each customization feature is and where it lives. | [Custom instructions](/copilot/concepts/prompting/response-customization) | Always-on context that automatically applies to every interaction within its defined scope | `.github/copilot-instructions.md` (repo-wide), `.github/instructions/*.instructions.md` (path-specific), `AGENTS.md` (third-party agents), or personal/org settings via UI on {% data variables.product.github %} | | [Prompt files](/copilot/concepts/prompting/response-customization?tool=vscode#about-prompt-files) | Reusable, standalone prompt template with input variables | `.github/prompts/*.prompt.md` | | [{% data variables.copilot.custom_agents_caps_short %}](/copilot/concepts/agents/cloud-agent/about-custom-agents) | Specialist persona with its own instructions, tool restrictions, and context | `.github/agents/AGENT-NAME.md` (repository), `/agents/AGENT-NAME.md` in the organization's `.github` or `.github-private` repository (org-level), `/agents/AGENT-NAME.md` in a designated `.github-private` repository (enterprise-level), or user profile | -| [{% data variables.copilot.subagents_caps_short %}](/copilot/how-tos/chat-with-copilot/chat-in-ide#using-subagents) | Separate agent spawned by the main agent to handle delegated work in an isolated context | N/A (runtime process, not a user-configured file) | +| [{% data variables.copilot.subagents_caps_short %}](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-subagents) | Separate agent spawned by the main agent to handle delegated work in an isolated context | N/A (runtime process, not a user-configured file) | | [Agent skills](/copilot/concepts/agents/about-agent-skills) | Folder of instructions, scripts, and resources that {% data variables.product.prodname_copilot_short %} loads when relevant to a task | `.github/skills//SKILL.md`, `.claude/skills//SKILL.md`, or `.agents/skills//SKILL.md` (project); `~/.copilot/skills//SKILL.md` or `~/.agents/skills//SKILL.md` (personal) | | [Hooks](/copilot/concepts/agents/hooks) | Custom shell commands that execute deterministically at specific points in an agent's workflow | `.github/hooks/*.json` | | [MCP servers](/copilot/concepts/context/mcp) | Connection to external systems, APIs, and databases | `mcp.json` (path varies by IDE), repository MCP settings on {% data variables.product.github %} (applies to {% data variables.copilot.copilot_cloud_agent_short %} and {% data variables.copilot.copilot_code-review_short %}), or `mcp-servers` property in {% data variables.copilot.copilot_custom_agent_short %} configurations | @@ -34,7 +34,7 @@ This table helps you decide which customization feature to use. | [Custom instructions](/copilot/concepts/prompting/response-customization) | Automatic | Standards, guidelines, or expectations that apply broadly across a context | Enforce coding standards, accessibility rules, review checklists | | [Prompt files](/copilot/concepts/prompting/response-customization?tool=vscode#about-prompt-files) | Manual: reference directly in chat or use the prompt file picker | Focused single tasks you run once with different inputs each time | Generate unit tests, run a code review checklist | | [{% data variables.copilot.custom_agents_caps_short %}](/copilot/concepts/agents/cloud-agent/about-custom-agents) | Manual: select from the agent dropdown in your IDE, on {% data variables.product.github %}, or in {% data variables.copilot.copilot_cli_short %} | Projects or processes with distinct stages that need specialized capabilities or strict handoffs | React reviewer agent, read-only auditing agent | -| [{% data variables.copilot.subagents_caps_short %}](/copilot/how-tos/chat-with-copilot/chat-in-ide#using-subagents) | Automatic, or reference a {% data variables.copilot.subagent_short %} directly in your prompt | Complex subtasks that should run in isolation from the main agent | Codebase research, running test suites | +| [{% data variables.copilot.subagents_caps_short %}](/copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-subagents) | Automatic, or reference a {% data variables.copilot.subagent_short %} directly in your prompt | Complex subtasks that should run in isolation from the main agent | Codebase research, running test suites | | [Agent skills](/copilot/concepts/agents/about-agent-skills) | Automatic: chosen by {% data variables.product.prodname_copilot_short %} when relevant to your prompt | Multi-step workflows with bundled assets that should be loaded as needed | {% data variables.product.prodname_actions %} failure debugging, deployment procedures, release note drafting | | [Hooks](/copilot/concepts/agents/hooks) | Automatic: at configured lifecycle events | Tasks that need to run at a specific point in the agent lifecycle, with guaranteed execution | Run a formatter after every file edit, approve or deny tool executions, prevent credential leaks with {% data variables.product.prodname_secret_scanning %} | | [MCP servers](/copilot/concepts/context/mcp) | Automatic, or ask for a specific tool by name | Tasks that require access to external tools or real-time data | Manage issues and PRs ({% data variables.product.github %} MCP server), automate browser testing (Playwright MCP server) | @@ -75,7 +75,7 @@ From the editor, you can: * Manage prompt files * Choose **Workspace** customizations for the current project or **Personal** customizations that follow you across projects -For steps to create repository instructions and prompt files in JetBrains IDEs, see [AUTOTITLE](/copilot/how-tos/configure-custom-instructions-in-your-ide/add-repository-instructions-in-your-ide). +For steps to create repository instructions and prompt files in JetBrains IDEs, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/configure-custom-instructions/add-repository-instructions-in-your-ide). ## Further reading diff --git a/content/copilot/responsible-use/chat.md b/content/copilot/responsible-use/chat.md index 7539d22996a7..72a470c121f2 100644 --- a/content/copilot/responsible-use/chat.md +++ b/content/copilot/responsible-use/chat.md @@ -152,7 +152,7 @@ Understanding GitHub Copilot Chat's limitations is crucial to determine if it is * **Limited scope**: GitHub Copilot Chat has been trained on a large body of code but may not be able to handle more complex code structures or obscure programming languages. For each language, the quality of suggestions depends on the volume and diversity of training data. For example, JavaScript is well-represented and well-supported, while less common languages may yield lower-quality results. * **Potential biases**: Training data drawn from existing code repositories may contain biases and errors that can be perpetuated by the tool. GitHub Copilot Chat may also be biased towards certain programming languages or coding styles, which can lead to suboptimal or incomplete code suggestions. * **Security risks**: Generated code can potentially expose sensitive information or vulnerabilities if not reviewed carefully. Always review and test generated code thoroughly, especially for security-sensitive applications. -* **Matches with public code**: While the probability is low, GitHub Copilot Chat may produce code that matches code in the training set. You should take the same precautions as you would with any code that uses material you did not independently originate including rigorous testing, IP scanning, and checking for security vulnerabilities. For more information, see [AUTOTITLE](/copilot/how-tos/get-code-suggestions/find-matching-code). +* **Matches with public code**: While the probability is low, GitHub Copilot Chat may produce code that matches code in the training set. You should take the same precautions as you would with any code that uses material you did not independently originate including rigorous testing, IP scanning, and checking for security vulnerabilities. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/find-matching-code). * **Inaccurate code**: GitHub Copilot Chat may generate code that appears valid but is not semantically or syntactically correct, or does not accurately reflect the intent of the developer. Carefully review and test generated code, particularly for critical or sensitive applications. * **Inaccurate responses to non-coding topics**: GitHub Copilot Chat is not designed to answer non-coding questions, and its responses in those contexts may be irrelevant or nonsensical. * **Risk of destructive commands (Windows Terminal)**: Copilot may suggest commands that could be destructive—such as deleting content or formatting a hard drive—that may be necessary in certain scenarios but can cause problems if used incorrectly. You are ultimately responsible for any commands you choose to execute. Despite the presence of fail-safes and safety mechanisms, executing commands carries inherent risks. @@ -194,7 +194,7 @@ As part of our product development process, we undertake red teaming to understa ## 9. Safety components and mitigations * **Content filtering**: When enabled, the content filtering system detects and prevents the output of harmful content. If you encounter offensive content, report it to `copilot-safety@github.com`. -* **Public code matching**: Depending on your settings, GitHub Copilot Chat may have the duplicate detection filter turned on or off. If on, GitHub Copilot Chat either blocks suggestions that match public code or annotates them with links to the source repositories and any license details. In VS Code, if you have enabled suggestions that match public code, GitHub Copilot Chat displays a message with a link to show the matched code and any license details in the editor. In Visual Studio, JetBrains, Eclipse, and GitHub Mobile, GitHub Copilot Chat uses filters that block matches with public code. Regardless of settings, you should take the same precautions as with any code that uses material you did not independently originate—including rigorous testing, IP scanning, and checking for security vulnerabilities. For more information, see [AUTOTITLE](/copilot/how-tos/get-code-suggestions/find-matching-code). +* **Public code matching**: Depending on your settings, GitHub Copilot Chat may have the duplicate detection filter turned on or off. If on, GitHub Copilot Chat either blocks suggestions that match public code or annotates them with links to the source repositories and any license details. In VS Code, if you have enabled suggestions that match public code, GitHub Copilot Chat displays a message with a link to show the matched code and any license details in the editor. In Visual Studio, JetBrains, Eclipse, and GitHub Mobile, GitHub Copilot Chat uses filters that block matches with public code. Regardless of settings, you should take the same precautions as with any code that uses material you did not independently originate—including rigorous testing, IP scanning, and checking for security vulnerabilities. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/find-matching-code). ## 10. Best practices for deploying and adopting GitHub Copilot Chat @@ -222,7 +222,7 @@ Responsible AI is a shared commitment between GitHub and its customers. While Gi For additional guidance on the responsible use of GitHub Copilot Chat, we recommend reviewing the following documentation: -* [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide) * [AUTOTITLE](/enterprise-cloud@latest/copilot/how-tos/copilot-on-github/copilot-for-github-tasks/create-a-pr-summary) * [AUTOTITLE](/enterprise-cloud@latest/copilot/how-tos/copilot-on-github/chat-with-copilot/chat-in-github) * [Terminal Chat](https://learn.microsoft.com/windows/terminal/terminal-chat) diff --git a/content/copilot/responsible-use/inline-suggestions.md b/content/copilot/responsible-use/inline-suggestions.md index 2d25fca05bf1..a692d508074e 100644 --- a/content/copilot/responsible-use/inline-suggestions.md +++ b/content/copilot/responsible-use/inline-suggestions.md @@ -174,7 +174,7 @@ Responsible AI is a shared commitment between GitHub and its customers. While Gi For additional guidance on the responsible use of Copilot inline suggestions, we recommend reviewing the following documentation: -* [AUTOTITLE](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/get-ide-code-suggestions) * [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot) * [Copilot Trust Center](https://copilot.github.trust.page/) diff --git a/content/copilot/tutorials/copilot-cookbook/communicate-effectively/creating-diagrams.md b/content/copilot/tutorials/copilot-cookbook/communicate-effectively/creating-diagrams.md index 162cd624d2dd..2c90cfb41f99 100644 --- a/content/copilot/tutorials/copilot-cookbook/communicate-effectively/creating-diagrams.md +++ b/content/copilot/tutorials/copilot-cookbook/communicate-effectively/creating-diagrams.md @@ -68,4 +68,4 @@ This Mermaid code would generate the following diagram: ## Further reading * [Mermaid documentation](https://mermaid-js.github.io/mermaid/#/) -* [GitHub Copilot Chat documentation](/copilot/how-tos/chat-with-copilot) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot) diff --git a/content/copilot/tutorials/enhance-agent-mode-with-mcp.md b/content/copilot/tutorials/enhance-agent-mode-with-mcp.md index 365496572131..bafaf2bdec8e 100644 --- a/content/copilot/tutorials/enhance-agent-mode-with-mcp.md +++ b/content/copilot/tutorials/enhance-agent-mode-with-mcp.md @@ -51,7 +51,7 @@ Follow these best practices to get the most out of combining MCP servers with ag ### Security considerations -* **Use OAuth when available**: For MCP servers like {% data variables.product.prodname_dotcom %} MCP, prefer OAuth authentication over {% data variables.product.pat_generic_plural %}. See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server#remote-mcp-server-configuration-with-oauth). +* **Use OAuth when available**: For MCP servers like {% data variables.product.prodname_dotcom %} MCP, prefer OAuth authentication over {% data variables.product.pat_generic_plural %}. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server#remote-mcp-server-configuration-with-oauth). * **Limit permissions**: Only grant MCP servers the minimum permissions necessary for your tasks. * **Review connections**: Regularly audit which MCP servers have access to your development environment. * **Monitor activity**: Keep track of what actions {% data variables.product.prodname_copilot_short %} performs through MCP servers. @@ -91,7 +91,7 @@ Before using agent mode with MCP, ensure you have: First, you need to configure the MCP servers that you anticipate {% data variables.product.prodname_copilot_short %} will need. For this example scenario, we'll use: -* **{% data variables.product.github %} MCP server**: Configure the {% data variables.product.github %} MCP server to enable {% data variables.product.prodname_copilot_short %} to access your repository, examine your codebase, research existing issues, create branches, and manage pull requests. See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server). +* **{% data variables.product.github %} MCP server**: Configure the {% data variables.product.github %} MCP server to enable {% data variables.product.prodname_copilot_short %} to access your repository, examine your codebase, research existing issues, create branches, and manage pull requests. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server). * **Figma MCP server**: Configure the Figma MCP server to allow {% data variables.product.prodname_copilot_short %} to access design files that include accessibility specifications, such as color contrast requirements, focus states, and interaction patterns. See [Figma-Context-MCP](https://github.com/GLips/Figma-Context-MCP) or try out the [Dev Mode MCP server](https://help.figma.com/hc/en-us/articles/32132100833559-Guide-to-the-Dev-Mode-MCP-Server). @@ -225,5 +225,5 @@ In this exercise, you will learn how to: ## Further reading -* **MCP fundamentals**: For more information about setting up and configuring MCP servers, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp). +* **MCP fundamentals**: For more information about setting up and configuring MCP servers, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp). * **Using MCP servers**: For additional ideas on integrating MCP with {% data variables.product.prodname_copilot %}, see [5 ways to transform your workflow using GitHub Copilot and MCP](https://github.blog/ai-and-ml/github-copilot/5-ways-to-transform-your-workflow-using-github-copilot-and-mcp/) on the {% data variables.product.prodname_blog %}. diff --git a/content/copilot/tutorials/optimize-ai-usage.md b/content/copilot/tutorials/optimize-ai-usage.md index 8d11768d5ab7..3310f089784f 100644 --- a/content/copilot/tutorials/optimize-ai-usage.md +++ b/content/copilot/tutorials/optimize-ai-usage.md @@ -98,7 +98,7 @@ A well-maintained custom instructions file, such as an `AGENTS.md` or `.github/c Large tool sets (for example, a full MCP server's worth of tools) add to the context on every request. Where it fits your workflow, enable only the toolsets relevant to the task. -See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/configure-toolsets). +See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/configure-toolsets). ## 4. Preserve the cache diff --git a/content/copilot/tutorials/reduce-technical-debt.md b/content/copilot/tutorials/reduce-technical-debt.md index 54de72d88163..6af6e556ecbb 100644 --- a/content/copilot/tutorials/reduce-technical-debt.md +++ b/content/copilot/tutorials/reduce-technical-debt.md @@ -115,7 +115,7 @@ try { By adopting the in-the-moment fix approach, you help to ensure that substandard code does not get added to your codebase, and you avoid the creation of a backlog issue that may never be addressed. -For more details on using {% data variables.product.prodname_copilot_short %} in your IDE, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide). +For more details on using {% data variables.product.prodname_copilot_short %} in your IDE, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide). ## Using {% data variables.copilot.copilot_cloud_agent %} for large-scale refactoring diff --git a/content/copilot/tutorials/review-ai-generated-code.md b/content/copilot/tutorials/review-ai-generated-code.md index b951e4de001b..f64199873880 100644 --- a/content/copilot/tutorials/review-ai-generated-code.md +++ b/content/copilot/tutorials/review-ai-generated-code.md @@ -108,7 +108,7 @@ Let tools handle the repetitive work. * Set up CI checks for style, linting, security, code quality and code coverage. * Use {% data variables.product.prodname_dependabot %} for dependency updates and alerts. * Apply {% data variables.product.prodname_codeql %} or similar scanners for static analysis. -* [AUTOTITLE](/copilot/how-tos/get-code-suggestions/find-matching-code) shows how {% data variables.product.prodname_copilot_short %} can help track down code patterns and automate search tasks. +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/find-matching-code) shows how {% data variables.product.prodname_copilot_short %} can help track down code patterns and automate search tasks. * Consider if AI agents with reasoning capabilities can assist in automating parts of your review process. For example, build a self-reviewing agent that evaluates draft pull requests against your standards, checking for accuracy, appropriate tone, and business logic _before_ requesting human review. ## 8. Keep improving your workflow diff --git a/content/copilot/tutorials/roll-out-at-scale/assign-licenses/remind-inactive-users.md b/content/copilot/tutorials/roll-out-at-scale/assign-licenses/remind-inactive-users.md index 3572d969fe08..7f3cd82f9347 100644 --- a/content/copilot/tutorials/roll-out-at-scale/assign-licenses/remind-inactive-users.md +++ b/content/copilot/tutorials/roll-out-at-scale/assign-licenses/remind-inactive-users.md @@ -42,7 +42,7 @@ In the next section, we'll use this message in an automation that creates an iss > We noticed you haven't used your assigned license for {% data variables.product.prodname_copilot %} in 30 days. Here are some resources that might help you get started: > -> * If you haven't yet set up {% data variables.product.prodname_copilot_short %} in your environment, see [AUTOTITLE](/copilot/how-tos/set-up/set-up-for-self) or [AUTOTITLE](/copilot/how-tos/troubleshoot-copilot/troubleshoot-common-issues). +> * If you haven't yet set up {% data variables.product.prodname_copilot_short %} in your environment, see [AUTOTITLE](/copilot/get-started/where-to-use-github-copilot) or [AUTOTITLE](/copilot/how-tos/troubleshoot-copilot/troubleshoot-common-issues). > * For best practices and advice on getting started, see [AUTOTITLE](/copilot/get-started/best-practices) or [AUTOTITLE](/copilot/concepts/prompting/prompt-engineering). > * For examples related to specific tasks, see [AUTOTITLE](/copilot/tutorials/copilot-cookbook). > @@ -55,7 +55,7 @@ In the next section, we'll use this message in an automation that creates an iss ``` markdown copy We noticed you haven't used your assigned license for {% data variables.product.prodname_copilot %} in 30 days. Here are some resources that might help you get started: -* If you haven't yet set up Copilot in your environment, see [Setting up GitHub Copilot for yourself](https://docs.github.com/en/copilot/setting-up-github-copilot/setting-up-github-copilot-for-yourself) or [Troubleshooting common issues with GitHub Copilot](https://docs.github.com/en/copilot/troubleshooting-github-copilot/troubleshooting-common-issues-with-github-copilot). +* If you haven't yet set up Copilot in your environment, see [Where to use GitHub Copilot](https://docs.github.com/en/copilot/get-started/where-to-use-github-copilot) or [Troubleshooting common issues with GitHub Copilot](https://docs.github.com/en/copilot/troubleshooting-github-copilot/troubleshooting-common-issues-with-github-copilot). * For best practices and advice on getting started, see [Best practices for using GitHub Copilot](https://docs.github.com/en/copilot/using-github-copilot/best-practices-for-using-github-copilot) or [Prompt engineering for GitHub Copilot](https://docs.github.com/en/copilot/using-github-copilot/prompt-engineering-for-github-copilot). * For examples related to specific tasks, see [Copilot Chat Cookbook](https://docs.github.com/en/copilot/example-prompts-for-github-copilot-chat). diff --git a/content/copilot/tutorials/roll-out-at-scale/drive-downstream-impact/increase-test-coverage.md b/content/copilot/tutorials/roll-out-at-scale/drive-downstream-impact/increase-test-coverage.md index ae9d48b098e8..2b95c0c662e1 100644 --- a/content/copilot/tutorials/roll-out-at-scale/drive-downstream-impact/increase-test-coverage.md +++ b/content/copilot/tutorials/roll-out-at-scale/drive-downstream-impact/increase-test-coverage.md @@ -128,13 +128,13 @@ Developers **should not**: * [How to generate unit tests with {% data variables.product.prodname_copilot %}: Tips and examples](https://github.blog/ai-and-ml/github-copilot/how-to-generate-unit-tests-with-github-copilot-tips-and-examples/) * [{% data variables.product.prodname_copilot %} is EVERYWHERE in Visual Studio](https://learn.microsoft.com/en-us/shows/github-copilot-for-visual-studio/github-copilot-is-everywhere-in-visual-studio-miniseries) (video content with a section on testing) * [AUTOTITLE](/copilot/concepts/prompting/prompt-engineering) -* [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-chat-model) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model) ### Recommended features * [{% data variables.copilot.copilot_chat_dotcom_short %}](/copilot/how-tos/copilot-on-github/chat-with-copilot/chat-in-github) -* [{% data variables.product.prodname_copilot_short %} inline suggestions](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions) -* [{% data variables.copilot.copilot_chat_short %} in the IDE](/copilot/how-tos/chat-with-copilot/chat-in-ide) +* [{% data variables.product.prodname_copilot_short %} inline suggestions](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/get-ide-code-suggestions) +* [{% data variables.copilot.copilot_chat_short %} in the IDE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide) * [{% data variables.copilot.copilot_cloud_agent %}](/copilot/concepts/agents/cloud-agent/about-cloud-agent) ## Metrics to watch diff --git a/content/copilot/tutorials/roll-out-at-scale/enable-developers/drive-adoption.md b/content/copilot/tutorials/roll-out-at-scale/enable-developers/drive-adoption.md index fdaa5d1796cd..ce75d9055fe1 100644 --- a/content/copilot/tutorials/roll-out-at-scale/enable-developers/drive-adoption.md +++ b/content/copilot/tutorials/roll-out-at-scale/enable-developers/drive-adoption.md @@ -54,12 +54,12 @@ You can start by identifying a small number of teams that are interested in usin ## Supporting users setting up their environment -Once your teams have access to {% data variables.product.prodname_copilot %}, ensure they're confident with setting up their environment. {% data variables.product.github %} provides comprehensive documentation to help users set up their environment and resolve common issues. See [AUTOTITLE](/copilot/how-tos/set-up/set-up-for-self) and [AUTOTITLE](/copilot/how-tos/troubleshoot-copilot). +Once your teams have access to {% data variables.product.prodname_copilot %}, ensure they're confident with setting up their environment. {% data variables.product.github %} provides comprehensive documentation to help users set up their environment and resolve common issues. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot) and [AUTOTITLE](/copilot/how-tos/troubleshoot-copilot). If your company uses a corporate proxy or firewall, there are additional steps for ensuring users can connect to {% data variables.product.prodname_copilot %}: * Ensure that key URLs are added to the allowlist for the proxy server or firewall. See [AUTOTITLE](/copilot/reference/copilot-allowlist-reference). -* Provide guidance for your users to set up their environment to connect via your proxy. You may also need to install custom SSL certificates on your users' machines. See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-network-settings). +* Provide guidance for your users to set up their environment to connect via your proxy. You may also need to install custom SSL certificates on your users' machines. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/configure-network-settings). For more complex issues, you may also choose to designate an internal point of contact to help users resolve issues, or escalate them to {% data variables.contact.github_support %}. You should choose a point of contact who is confident troubleshooting firewall and network configuration issues. @@ -78,8 +78,8 @@ You may choose to create internal onboarding materials to help teams get started * [AUTOTITLE](/copilot/get-started/best-practices) * [AUTOTITLE](/copilot/concepts/prompting/prompt-engineering) * [AUTOTITLE](/copilot/tutorials/roll-out-at-scale/enable-developers/copilot-app-for-teams) -* [AUTOTITLE](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions) -* [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/get-ide-code-suggestions) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide) You can also create a {% data variables.product.github %} repository to store these materials, and encourage teams to contribute their own resources and best practices. This can help foster a sense of community among teams that are using {% data variables.product.prodname_copilot_short %}, and make it easier for new teams to get started. diff --git a/content/copilot/tutorials/vibe-coding.md b/content/copilot/tutorials/vibe-coding.md index 5f8a1114f413..210331f0ae21 100644 --- a/content/copilot/tutorials/vibe-coding.md +++ b/content/copilot/tutorials/vibe-coding.md @@ -39,8 +39,8 @@ Before getting started you must have the following: * A [{% data variables.product.prodname_copilot %} subscription plan](/copilot/get-started/plans). * One of these IDEs: * {% data variables.product.prodname_vscode %} - * Any JetBrains IDE that supports {% data variables.product.prodname_copilot_short %}, with the {% data variables.product.prodname_copilot %} extension for JetBrains installed. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=jetbrains). -* Some experience of using {% data variables.copilot.copilot_chat_short %} in either {% data variables.product.prodname_vscode %} or JetBrains. If you've never used {% data variables.copilot.copilot_chat_short %} before, see [AUTOTITLE](/copilot/how-tos/chat-with-copilot/chat-in-ide). + * Any JetBrains IDE that supports {% data variables.product.prodname_copilot_short %}, with the {% data variables.product.prodname_copilot %} extension for JetBrains installed. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension?tool=jetbrains). +* Some experience of using {% data variables.copilot.copilot_chat_short %} in either {% data variables.product.prodname_vscode %} or JetBrains. If you've never used {% data variables.copilot.copilot_chat_short %} before, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/chat-in-ide). ## Preparation diff --git a/content/copilot/tutorials/write-tests.md b/content/copilot/tutorials/write-tests.md index 6c95402cee8d..a384deb5a521 100644 --- a/content/copilot/tutorials/write-tests.md +++ b/content/copilot/tutorials/write-tests.md @@ -23,7 +23,7 @@ category: Before getting started you must have the following: * A [{% data variables.product.prodname_copilot %} subscription plan](/copilot/get-started/plans). * {% data variables.product.prodname_vs %}, {% data variables.product.prodname_vscode %}, or any JetBrains IDE. -* The [{% data variables.product.prodname_copilot %} extension](/copilot/how-tos/set-up/install-copilot-extension) installed in your IDE. +* The [{% data variables.product.prodname_copilot %} extension](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension) installed in your IDE. ## Writing unit tests with {% data variables.copilot.copilot_chat_short %} diff --git a/content/get-started/start-your-journey/reviewing-your-proposed-changes.md b/content/get-started/start-your-journey/reviewing-your-proposed-changes.md index b0cdc80734f7..ae9cd0f6e0e4 100644 --- a/content/get-started/start-your-journey/reviewing-your-proposed-changes.md +++ b/content/get-started/start-your-journey/reviewing-your-proposed-changes.md @@ -51,7 +51,7 @@ You can also ask {% data variables.copilot.copilot_chat_short %} in your editor > [!TIP] > If you enjoyed using {% data variables.product.prodname_copilot_short %} to review your own code, you can [sign up for a paid plan](https://github.com/github-copilot/signup?ref_product=copilot&ref_type=purchase&ref_style=text&ref_plan=pro) to get additional AI credits and {% data variables.copilot.copilot_code-review_short %}, which can review your pull requests automatically when you add {% data variables.product.prodname_copilot_short %} as a reviewer. > -> For more information, see [AUTOTITLE]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/copilot/how-tos/set-up/set-up-for-self) and [AUTOTITLE]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/copilot/concepts/agents/code-review){% ifversion ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %}. +> For more information, see [AUTOTITLE]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/copilot/get-started/plans) and [AUTOTITLE]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/copilot/concepts/agents/code-review){% ifversion ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %}. ## Applying feedback diff --git a/content/get-started/using-github-docs/github-docs-api.md b/content/get-started/using-github-docs/github-docs-api.md index d5736b11d666..6ae8d51ddc72 100644 --- a/content/get-started/using-github-docs/github-docs-api.md +++ b/content/get-started/using-github-docs/github-docs-api.md @@ -107,6 +107,6 @@ If you are building an agent or tool that needs to access {% data variables.prod ## Further reading -* [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server) +* [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server) {% endif %} \ No newline at end of file diff --git a/content/index.md b/content/index.md index e79ba7d9a201..b241382bccc7 100644 --- a/content/index.md +++ b/content/index.md @@ -9,7 +9,7 @@ featuredLinks: popular: - /pull-requests/reference/pull-requests - /authentication - - /copilot/how-tos/get-code-suggestions/get-ide-code-suggestions + - /copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/get-ide-code-suggestions - /get-started/git-basics/managing-remote-repositories - /pages redirect_from: diff --git a/content/issues/tracking-your-work-with-issues/using-issues/creating-an-issue.md b/content/issues/tracking-your-work-with-issues/using-issues/creating-an-issue.md index 672fae7e6118..bbe2b1398f1e 100644 --- a/content/issues/tracking-your-work-with-issues/using-issues/creating-an-issue.md +++ b/content/issues/tracking-your-work-with-issues/using-issues/creating-an-issue.md @@ -193,7 +193,7 @@ Creating issues manually can be repetitive and time-consuming. With {% data vari ## Creating an issue from {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %} -You can also create an issue directly from {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %}, using the Model Context Protocol (MCP). See [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp). +You can also create an issue directly from {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %}, using the Model Context Protocol (MCP). See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp). {% endif %} diff --git a/content/repositories/creating-and-managing-repositories/creating-a-new-repository.md b/content/repositories/creating-and-managing-repositories/creating-a-new-repository.md index dc37abdf3e4a..c28ace82df2f 100644 --- a/content/repositories/creating-and-managing-repositories/creating-a-new-repository.md +++ b/content/repositories/creating-and-managing-repositories/creating-a-new-repository.md @@ -71,7 +71,7 @@ If you create an invalid URL using query parameters, or if you don’t have the ## Creating a new repository from {% data variables.copilot.copilot_chat_short %} -You can create a new repository from {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode %} with the Model Context Protocol (MCP). For more information, see [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp). +You can create a new repository from {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode %} with the Model Context Protocol (MCP). For more information, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp). {% endif %} ## Further reading diff --git a/data/llms-txt/config-default.yml b/data/llms-txt/config-default.yml index 75cd578ae5bb..798c9de65ff0 100644 --- a/data/llms-txt/config-default.yml +++ b/data/llms-txt/config-default.yml @@ -20,11 +20,11 @@ pinned_section_heading: | Building with GitHub, for coding agents and automation pinned_pages: - - copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp - - copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server - - copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server + - copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/extend-copilot-chat-with-mcp + - copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server + - copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/set-up-the-github-mcp-server - copilot/concepts/agents/cloud-agent/about-cloud-agent - - copilot/how-tos/use-copilot-agents/cloud-agent/create-custom-agents-in-your-ide + - copilot/how-tos/copilot-in-your-ide/use-copilot-agents/use-custom-agents - github-cli/github-cli - github-cli/github-cli/quickstart - rest diff --git a/data/llms-txt/docs.md b/data/llms-txt/docs.md index 6ab47bb83112..1a9579683407 100644 --- a/data/llms-txt/docs.md +++ b/data/llms-txt/docs.md @@ -17,7 +17,7 @@ To retrieve full article content, page lists, or search results programmatically ## Building with GitHub, for coding agents and automation * [Extend Copilot Chat with MCP](https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp): Connect MCP servers to Copilot Chat to share context from other applications. -* [Use the GitHub MCP Server](https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server): Learn how to use the GitHub Model Context Protocol (MCP) server to interact with repositories, issues, pull requests, and other GitHub features, directly from Copilot Chat in your IDE. +* [Use the GitHub MCP Server](https://docs.github.com/en/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/use-the-github-mcp-server): Learn how to use the GitHub Model Context Protocol (MCP) server to interact with repositories, issues, pull requests, and other GitHub features, directly from Copilot Chat in your IDE. * [Set up the GitHub MCP Server](https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server): Learn how to configure the GitHub Model Context Protocol (MCP) server. * [About cloud agent](https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-cloud-agent): Copilot can research a repository, create an implementation plan, and make code changes on a branch. You can review the diff, iterate, and create a pull request when you're ready. * [Create custom agents in your IDE](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/create-custom-agents-in-your-ide): You can create specialized agents with tailored expertise for specific development tasks. @@ -42,7 +42,7 @@ To retrieve full article content, page lists, or search results programmatically * [What is GitHub Copilot?](https://docs.github.com/en/copilot/get-started/what-is-github-copilot): Learn what Copilot is and what you can do with it. * [Install Copilot CLI](https://docs.github.com/en/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli): Learn how to install Copilot CLI so that you can use Copilot directly from the command line. * [Overview](https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/overview): Learn how to use GitHub Copilot from the command line. -* [Get IDE code suggestions](https://docs.github.com/en/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions): Use GitHub Copilot to get code suggestions in your editor. +* [Get IDE code suggestions](https://docs.github.com/en/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/get-ide-code-suggestions): Use GitHub Copilot to get code suggestions in your editor. * [Manage policies](https://docs.github.com/en/copilot/how-tos/manage-your-account/manage-policies): Find out how to change your personal settings on GitHub to configure GitHub Copilot's behavior. * [Install Copilot extension](https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-extension): To use Copilot in your preferred coding environment, follow the steps for your chosen IDE. * [Use code review](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review): Learn how to request a code review from GitHub Copilot. diff --git a/data/reusables/copilot/change-the-ai-model.md b/data/reusables/copilot/change-the-ai-model.md index b693f9f78684..ac1ed82526d8 100644 --- a/data/reusables/copilot/change-the-ai-model.md +++ b/data/reusables/copilot/change-the-ai-model.md @@ -1 +1 @@ -You can change the model {% data variables.product.prodname_copilot_short %} uses to generate responses. You may find that different models perform better, or provide more useful responses, depending on the type of questions you ask. Options include premium models with advanced capabilities. \ No newline at end of file +You can change the model {% data variables.product.prodname_copilot_short %} uses to generate responses. You may find that different models perform better, or provide more useful responses, depending on the type of questions you ask. Options include premium models with advanced capabilities. To change the model in your IDE, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model). To change or compare models on {% data variables.product.github %}, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/chat-with-copilot/chat-in-github#changing-and-comparing-ai-models). \ No newline at end of file diff --git a/data/reusables/copilot/code-completion-switch-model-affects.md b/data/reusables/copilot/code-completion-switch-model-affects.md index 48678b977fb1..24522ed797a6 100644 --- a/data/reusables/copilot/code-completion-switch-model-affects.md +++ b/data/reusables/copilot/code-completion-switch-model-affects.md @@ -1,16 +1,16 @@ > [!NOTE] The list of available models will change over time. When only one model is available for inline suggestions, the model picker will only show that model. Preview models and additional models will be added to the picker as they become available. -For details of how to switch the model for {% data variables.product.prodname_copilot_short %} inline suggestions, see [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-completion-model). +For details of how to switch the model for {% data variables.product.prodname_copilot_short %} inline suggestions, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/change-the-completion-model). ## Effects of switching the AI model -Changing the model that's used for {% data variables.product.prodname_copilot_short %} inline suggestions does not affect the model that's used by {% data variables.product.prodname_copilot_short %} next edit suggestions or {% data variables.copilot.copilot_chat_short %}. See [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-chat-model). +Changing the model that's used for {% data variables.product.prodname_copilot_short %} inline suggestions does not affect the model that's used by {% data variables.product.prodname_copilot_short %} next edit suggestions or {% data variables.copilot.copilot_chat_short %}. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/chat-with-copilot/change-the-chat-model). There are no changes to the data collection and usage policy if you change the AI model. If you are on a {% data variables.copilot.copilot_free_short %} plan, all completions count against your completions quota regardless of the model used. See [AUTOTITLE](/copilot/get-started/plans#comparing-copilot-plans). -The setting to enable or disable suggestions that match public code is applied irrespective of which model you choose. See [AUTOTITLE](/copilot/how-tos/get-code-suggestions/find-matching-code). +The setting to enable or disable suggestions that match public code is applied irrespective of which model you choose. See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/copilot-for-common-tasks/find-matching-code). ## Enabling the model switcher diff --git a/data/reusables/copilot/dotcom-settings.md b/data/reusables/copilot/dotcom-settings.md index ff7b37122ba9..f31c5bd64f91 100644 --- a/data/reusables/copilot/dotcom-settings.md +++ b/data/reusables/copilot/dotcom-settings.md @@ -4,4 +4,4 @@ If you are using a {% data variables.copilot.copilot_pro_short %}, {% data varia ## Authenticating to an account on {% data variables.enterprise.data_residency_site %} -{% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/configure-personal-settings/authenticate-to-ghecom). +{% data reusables.copilot.sign-in-ghecom %} See [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/authenticate-to-ghecom). diff --git a/data/reusables/copilot/jetbrains-plugin-prerequisites.md b/data/reusables/copilot/jetbrains-plugin-prerequisites.md index d4d124727aac..c7f547979793 100644 --- a/data/reusables/copilot/jetbrains-plugin-prerequisites.md +++ b/data/reusables/copilot/jetbrains-plugin-prerequisites.md @@ -1,2 +1,2 @@ -* **Latest version of the {% data variables.product.prodname_copilot %} extension**. See the [{% data variables.product.prodname_copilot %} plugin](https://plugins.jetbrains.com/plugin/17718-github-copilot?ref_product=copilot&ref_type=engagement&ref_style=text) in the JetBrains Marketplace. For installation instructions, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=jetbrains). -* **Sign in to {% data variables.product.company_short %} in your JetBrains IDE**. For authentication instructions, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=jetbrains#installing-the-github-copilot-plugin-in-your-jetbrains-ide). +* **Latest version of the {% data variables.product.prodname_copilot %} extension**. See the [{% data variables.product.prodname_copilot %} plugin](https://plugins.jetbrains.com/plugin/17718-github-copilot?ref_product=copilot&ref_type=engagement&ref_style=text) in the JetBrains Marketplace. For installation instructions, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension?tool=jetbrains). +* **Sign in to {% data variables.product.company_short %} in your JetBrains IDE**. For authentication instructions, see [AUTOTITLE](/copilot/how-tos/copilot-in-your-ide/set-up-copilot/install-copilot-extension?tool=jetbrains#installing-the-github-copilot-plugin-in-your-jetbrains-ide). From b36a266e85a89983d43c8609c3bfd6fd65cc018a Mon Sep 17 00:00:00 2001 From: Sophie <29382425+sophietheking@users.noreply.github.com> Date: Wed, 30 Sep 2026 16:17:00 +0000 Subject: [PATCH 5/8] GitHub Advanced Security trials on Team platform [GA] (#63545) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../enable-security-features-trial.md | 59 ++++++++---- .../planning-a-trial-of-ghas.md | 64 +++++++++---- .../trial-advanced-security.md | 92 ++++++++++++++++--- .../ghas-trial-permission.md | 2 +- data/reusables/gated-features/ghas-trial.md | 2 +- data/reusables/security/start-ghas-trial.md | 2 +- 6 files changed, 167 insertions(+), 54 deletions(-) diff --git a/content/code-security/tutorials/trialing-github-advanced-security/enable-security-features-trial.md b/content/code-security/tutorials/trialing-github-advanced-security/enable-security-features-trial.md index 422b551f8411..d5b89df2b8b6 100644 --- a/content/code-security/tutorials/trialing-github-advanced-security/enable-security-features-trial.md +++ b/content/code-security/tutorials/trialing-github-advanced-security/enable-security-features-trial.md @@ -1,9 +1,9 @@ --- -title: Enabling security features in your trial enterprise +title: Enabling security features in your trial shortTitle: Enable security features in trial allowTitleToDifferFromFilename: true -intro: Quickly create an enterprise-level configuration and apply {% data variables.product.prodname_cs_and_sp %} features across all repositories in your trial enterprise. -permissions: '{% data reusables.permissions.security-configuration-enterprise-enable %}' +intro: Apply {% data variables.product.prodname_cs_and_sp %} to a sample of repositories so your team can evaluate the features during your trial. +permissions: '{% ifversion fpt %}{% data reusables.permissions.security-org-enable %}{% else %}{% data reusables.permissions.security-configuration-enterprise-enable %}{% endif %}' versions: fpt: '*' ghec: '*' @@ -15,33 +15,44 @@ category: - Plan your security strategy --- -This article assumes that you have planned and then started a trial of {% data variables.product.prodname_GHAS %}. For more information, see [AUTOTITLE](/code-security/tutorials/trialing-github-advanced-security/planning-a-trial-of-ghas). +This article assumes that you have planned and started a trial of {% data variables.product.prodname_GHAS %}. For more information, see [AUTOTITLE](/code-security/tutorials/trialing-github-advanced-security/planning-a-trial-of-ghas). -The aim is to enable all the security features you want to trial quickly, as a starting point for deeper exploration. You should start getting results soon on the repositories in your trial enterprise and you can fine-tune the configuration later. +Use this article to quickly enable the security features you want to trial as a starting point for deeper exploration. Results should appear soon for your trial repositories, and you can fine-tune the configuration later. + +{% ifversion fpt %} + +## Enable security features with quick setup + +Use quick setup to enable security features for a sample of repositories that your team understands well. This makes it easier to judge whether the results and developer experience meet the goals you defined for the trial. + +1. In the upper-right corner of {% data variables.product.prodname_dotcom %}, click your profile picture, then click **Your organizations**. +1. Next to the organization, click **Settings**. +1. In the "Security" section of the sidebar, select **{% data variables.product.UI_advanced_security %}**, then click **Configurations**. +1. Click **New configuration**. +1. In the setup dialog, review the default settings and the repositories selected for the trial, and make any necessary adjustments. +1. Click **Review** to see a summary of your configuration, then click **Save and enable** to apply it. + +{% else %} ## Step 1: Create an enterprise security configuration for your trial goals -When you planned your trial, you identified the features that you want to test and any enforcement needs. You should create one or more security configurations for your enterprise that enable these features and set any enforcement levels you require. +When you planned your trial, you identified the features you want to test and any enforcement needs. Create one or more enterprise security configurations that enable these features and set the required enforcement levels. 1. In the top-right corner of {% data variables.product.prodname_dotcom %}, click your profile picture. 1. Depending on your environment, click **Your enterprise**, or click **Your enterprises** then click your trial enterprise. {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.advanced-security-tab %} -1. Click **New configuration** to create a new configuration. -1. Give the configuration a meaningful name and description. -1. You will see that most features are already enabled. Review the features that are **Not set** and enable any that you want to trial, for example: "Automatic dependency submission." -1. In the "Policy" area, set the "Use as default for newly created repositories" option as needed to define whether or not to apply the configuration to new repositories created in the enterprise. -1. In the "Policy" area, notice that the "Enforce configuration" option is set to **Enforce** so that applying the configuration to a repository enforces all settings apart from any left as "Not set". - > [!TIP] While you are testing {% data variables.product.prodname_AS %}, you may want to change this to **Don't enforce** to allow you to optimize repository settings as needed without modifying security configurations. -1. When you have finished defining the configuration, click **Save configuration**. +1. Click **New configuration**. +1. In the setup dialog, review the default settings and the repositories selected for the trial, and make any necessary adjustments. +1. Click **Review** to see a summary of your configuration, then click **Save and enable** to apply it. The new enterprise security configuration is now available for use at the enterprise level and also within every organization in the enterprise. ## Step 2: Apply your enterprise security configuration to repositories -You can apply an enterprise security configuration either at the enterprise level or at the organization level. The best option for you will depend on whether or not you want to apply the configuration to all repositories in the enterprise, or to a subset of repositories. +You can apply an enterprise security configuration either at the enterprise level or at the organization level. Choose a level based on whether you want to apply the configuration to all enterprise repositories or to a subset. -> [!NOTE] {% data variables.product.prodname_cs_and_sp %} are free of charge during trials. However, you will be charged for Actions minutes used by the default {% data variables.product.prodname_code_scanning %} setup if you have exhausted your allocation of Actions minutes. +> [!NOTE] {% data variables.product.prodname_cs_and_sp %} are free of charge during trials. However, you will be charged for {% data variables.product.prodname_actions %} minutes used by the default {% data variables.product.prodname_code_scanning %} setup if you have exhausted your allocation of {% data variables.product.prodname_actions %} minutes. * Enterprise-level application: * Add an enterprise configuration to all repositories in the enterprise, or all repositories without an existing configuration in the enterprise. @@ -49,7 +60,7 @@ You can apply an enterprise security configuration either at the enterprise leve * Add an enterprise or an organization configuration to all repositories in the organization, or all repositories without an existing configuration in the organization. * Add an enterprise or an organization configuration to a subset of repositories in the organization. -You may find it helpful to apply an enterprise security configuration to all repositories in your enterprise, and then work at the organization-level to select a subset of repositories and apply an alternative security configuration. +You may find it helpful to apply an enterprise security configuration to all enterprise repositories. Then, at the organization level, select a subset of repositories and apply an alternative configuration. ### Enterprise-level application @@ -62,16 +73,28 @@ You may find it helpful to apply an enterprise security configuration to all rep 1. Open an organization in your trial enterprise. 1. Click the **Settings** tab to display the organization settings. 1. In the sidebar, click **{% data variables.product.UI_advanced_security %}** and then **Configurations** to display the security configurations page. -1. Optionally, select the **Apply to** dropdown menu and click either **All repositories**, to apply any configuration to all repositories in the organization, or **All repositories without configurations**, to configure just the repositories in the organization without an existing security configuration. -1. Optionally, click the **Repositories** tab, then in the "Apply configurations" section, use the "Search repositories" field or **Filter** button to filter repositories. Then select one or more repositories and use the **Apply configuration** button to choose a configuration to apply to those repositories. +1. Choose how to apply the configuration: + * To apply a configuration across the organization, select the **Apply to** dropdown menu. Click **All repositories** or **All repositories without configurations**. + * To apply a configuration to a subset of repositories, click the **Repositories** tab. In the "Apply configurations" section, find and select the repositories, then click **Apply configuration** and choose a configuration. For more information, see [AUTOTITLE](/code-security/how-tos/secure-at-scale/configure-organization-security/establish-complete-coverage/apply-custom-configuration). After you apply a configuration, each repository's configuration status reflects the result. For example, a repository may show as `attached`, `attaching`, or `failed`. For a full list of statuses and recommended actions, see [AUTOTITLE](/code-security/reference/security-at-scale/configuration-statuses). +{% endif %} + ## Next steps Now that you have enabled the security features you want to test, you are ready to look more deeply into how {% data variables.product.prodname_GH_secret_protection %} and {% data variables.product.prodname_GH_code_security %} protect your code. +{% ifversion fpt %} + +1. Review and assess secret scanning alerts. See [AUTOTITLE](/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/viewing-alerts). +1. Review and assess code scanning alerts. See [AUTOTITLE](/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/assess-alerts). + +{% else %} + 1. [AUTOTITLE](/code-security/tutorials/trialing-github-advanced-security/explore-trial-secret-scanning) 1. [AUTOTITLE](/code-security/tutorials/trialing-github-advanced-security/explore-trial-code-scanning) + +{% endif %} diff --git a/content/code-security/tutorials/trialing-github-advanced-security/planning-a-trial-of-ghas.md b/content/code-security/tutorials/trialing-github-advanced-security/planning-a-trial-of-ghas.md index 831f70696956..0fdf990f8438 100644 --- a/content/code-security/tutorials/trialing-github-advanced-security/planning-a-trial-of-ghas.md +++ b/content/code-security/tutorials/trialing-github-advanced-security/planning-a-trial-of-ghas.md @@ -2,7 +2,7 @@ title: Planning a trial of {% data variables.product.prodname_GHAS %} shortTitle: Plan GHAS trial allowTitleToDifferFromFilename: true -intro: Learn how to prepare for a successful trial of {% data variables.product.prodname_AS %}. +intro: Prepare your organization to evaluate {% data variables.product.prodname_AS %} against clear security and purchasing goals. versions: fpt: '*' ghec: '*' @@ -16,19 +16,33 @@ category: ## Is a self-serve trial right for you? -This article is for organizations that want to begin a trial of {% data variables.product.prodname_GHAS %} independently, without the help of an expert or partner. Typically, that means you're a small or medium-sized organization. +This article helps you plan a **self-serve** trial of {% data variables.product.prodname_GHAS %}. A self-serve trial is right for you if both of the following are true: -This article helps you plan for a **self-serve** trial of {% data variables.product.prodname_GHAS %}. A self-serve trial is right for you if both of the following are true: * You want to conduct your trial independently, without the help of an expert or partner. Typically, this works best for small or medium-sized organizations. -* You're an existing {% data variables.product.prodname_ghe_cloud %} customer who pays by credit card or PayPal. +* {% ifversion fpt %}You own an eligible organization on {% data variables.product.prodname_team %}.{% else %}You're an existing {% data variables.product.prodname_ghe_cloud %} customer who pays by credit card or PayPal.{% endif %} -Otherwise, contact us for help with your trial. -* If you want expert help: [Contact our team](https://github.com/enterprise/contact). -* If you pay by invoice: Contact your sales representative. +{% ifversion fpt %} + +If you want expert help with your trial, [contact our team](https://github.com/enterprise/contact). + +{% else %} + +If a self-serve trial isn't right for you: + +* For expert help, [contact our team](https://github.com/enterprise/contact). +* If you pay by invoice, contact your sales representative. + +{% endif %} + +{% ifversion fpt %} + +Organizations on {% data variables.product.prodname_team %} can start a trial with any payment method. To purchase through the trial checkout flow, the organization must pay by credit card, PayPal, or Azure. + +{% endif %} ## 1. Define your company goals -Before you start a trial, you should define the purpose of the trial and identify the key questions you need to answer. Maintaining a strong focus on these goals will enable you to plan a trial that maximizes discovery and ensures that you have the information needed to decide whether or not to upgrade. +Before you start a trial, define its purpose and identify the key questions you need to answer. Keep these goals in focus as you plan so that you gather the information you need to decide whether to upgrade. If your company already uses {% data variables.product.github %}, consider what needs are currently unmet that {% data variables.product.prodname_cs_or_sp %} might address. You should also consider your current application security posture and longer term aims. For inspiration, see [Design Principles for Application security](https://wellarchitected.github.com/library/application-security/design-principles/) in the {% data variables.product.github %} well-architected documentation. @@ -36,25 +50,29 @@ If your company already uses {% data variables.product.github %}, consider what | Example need | Features to explore during the trial | |--|--| -| Enforce use of security features | Enterprise-level security configurations and policies. See [AUTOTITLE](/code-security/concepts/security-at-scale/organization-security) and [AUTOTITLE](/admin/concepts/security-and-compliance/enterprise-policies) | -| Protect custom access tokens | Custom patterns for {% data variables.product.prodname_secret_scanning %}, delegated bypass for push protection, and validity checks. See [AUTOTITLE](/code-security/tutorials/trialing-github-advanced-security/explore-trial-secret-scanning) | -| Define and enforce a development process | Dependency review, auto-triage rules, rulesets, and policies. See [AUTOTITLE](/code-security/concepts/supply-chain-security/dependency-review), [AUTOTITLE](/code-security/concepts/supply-chain-security/dependabot-auto-triage-rules), [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets), and [AUTOTITLE](/admin/concepts/security-and-compliance/enterprise-policies) | +| Enforce use of security features | Security configurations and policies. See [AUTOTITLE](/code-security/concepts/security-at-scale/organization-security){% ifversion ghec or ghes %} and [AUTOTITLE](/admin/concepts/security-and-compliance/enterprise-policies){% endif %}. | +| Protect custom access tokens | Custom patterns for {% data variables.product.prodname_secret_scanning %}, delegated bypass for push protection, and validity checks. See {% ifversion fpt %}[AUTOTITLE](/code-security/concepts/secret-security/secret-scanning){% else %}[AUTOTITLE](/code-security/tutorials/trialing-github-advanced-security/explore-trial-secret-scanning){% endif %}. | +| Define and enforce a development process | Dependency review, auto-triage rules, and rulesets{% ifversion ghec or ghes %}, with enterprise policies where needed{% endif %}. See [AUTOTITLE](/code-security/concepts/supply-chain-security/dependency-review), [AUTOTITLE](/code-security/concepts/supply-chain-security/dependabot-auto-triage-rules), and [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets){% ifversion ghec or ghes %}, and [AUTOTITLE](/admin/concepts/security-and-compliance/enterprise-policies){% endif %}. | | Reduce technical debt at scale | Security campaigns. See {% ifversion fpt or ghec %}[AUTOTITLE](/code-security/concepts/security-at-scale/about-security-campaigns){% else %}[AUTOTITLE](/enterprise-cloud@latest/code-security/concepts/security-at-scale/about-security-campaigns) in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %}. | -| Monitor and track trends in security risks | Security overview. See [AUTOTITLE](/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-security-insights) | +| Monitor and track trends in security risks | Security overview. See [AUTOTITLE](/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-security-insights). | {% endrowheaders %} +{% ifversion ghec or ghes %} + If your company doesn't use {% data variables.product.github %} yet, you are likely to have additional questions including how the platform handles data residency, secure account management, and repository migration. For more information, see [AUTOTITLE](/enterprise-cloud@latest/get-started/onboarding/getting-started-with-github-enterprise-cloud). +{% endif %} + ## 2. Identify the members of your trial team -{% data variables.product.prodname_GHAS %} enables you to integrate security measures throughout the software development life cycle, so it's important to ensure that you include representatives from all areas of your development cycle. Otherwise, you risk making a decision without having all the data you need. A trial includes 50 licenses which provides scope for representation from a wide range of people. +{% data variables.product.prodname_GHAS %} enables you to integrate security measures throughout the software development life cycle. Include representatives from all areas of your development cycle so that you have the data you need to make a decision. You may also find it helpful to identify a champion for each company need that you want to investigate. ## 3. Determine whether preliminary research is needed -Decide whether your team would benefit from hands-on experience with our free security features **before** you begin your trial. Testing code scanning and secret scanning on public repositories can help new users get familiar with the core features of {% data variables.product.prodname_GHAS %}. This will allow you to focus your trial period on private repositories and the advanced features and controls available in {% data variables.product.prodname_cs_and_sp %}. +Decide whether your team would benefit from hands-on experience with our free security features **before** you begin your trial. Testing code scanning and secret scanning on public repositories can help new users become familiar with the core features of {% data variables.product.prodname_GHAS %}. This lets you focus your trial period on private repositories and the advanced features and controls available in {% data variables.product.prodname_cs_and_sp %}. For more information, see: * [AUTOTITLE](/code-security/how-tos/secure-your-secrets/detect-secret-leaks/enable-secret-scanning) @@ -63,11 +81,11 @@ For more information, see: Organizations on {% data variables.product.prodname_team %} and {% data variables.product.prodname_enterprise %} can run a free report to scan their code for leaked secrets. This helps you assess your repositories' current exposure to leaked secrets and shows how many existing secret leaks could have been prevented by {% data variables.product.prodname_secret_protection %}. See [AUTOTITLE](/code-security/concepts/secret-security/secret-security-with-github). -## 4. Decide which organizations and repositories to test +## 4. Decide which repositories to test -It is generally best to start your trial with an **existing** organization. This ensures that you can experience the features in repositories you know well and within a familiar coding environment. +It is generally best to use an **existing** organization and repositories. This ensures that you can experience the features in code you know well and within a familiar development environment. -If you want, you can add test organizations or code later. However, be aware that deliberately insecure applications, such as WebGoat, are not the best test. They may contain coding patterns that appear to be insecure but which {% data variables.product.prodname_code_scanning %} determines cannot be exploited. As a result, {% data variables.product.prodname_code_scanning %} may report fewer issues in these artificial codebases than other security scanners. +If you want, add test code later. However, deliberately insecure applications, such as WebGoat, are not the best test. They may contain coding patterns that appear to be insecure but which {% data variables.product.prodname_code_scanning %} determines cannot be exploited. As a result, {% data variables.product.prodname_code_scanning %} may report fewer issues in these artificial codebases than other security scanners. ## 5. Define the assessment criteria for the trial @@ -75,9 +93,17 @@ For each company need or goal you set for the trial, decide how you will measure ## 6. Start your trial +{% ifversion fpt %} + +If you own an eligible organization on {% data variables.product.prodname_team %}, see [AUTOTITLE](/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security). + +{% else %} + If you already use {% data variables.product.prodname_ghe_cloud %} (as a paying customer or as part of a free trial), see [AUTOTITLE](/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security). -Otherwise, you can trial {% data variables.product.prodname_GHAS %} as part of a trial of {% data variables.product.prodname_ghe_cloud %}. See [AUTOTITLE](/enterprise-cloud@latest/admin/overview/setting-up-a-trial-of-github-enterprise-cloud){% ifversion fpt %} in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %}. +Otherwise, you can trial {% data variables.product.prodname_GHAS %} as part of a trial of {% data variables.product.prodname_ghe_cloud %}. See [AUTOTITLE](/enterprise-cloud@latest/admin/overview/setting-up-a-trial-of-github-enterprise-cloud). + +{% endif %} > [!NOTE] -> {% data variables.product.prodname_GHAS %} is free of charge during trials, but you will be charged for any Actions minutes used by code scanning or any other workflows. +> {% data variables.product.prodname_GHAS %} is free of charge during trials, but usage-based billing applies for features that consume {% data variables.product.prodname_actions %} minutes or {% data variables.product.prodname_ai_credits_short %}. diff --git a/content/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security.md b/content/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security.md index 42ef43e3f700..7741b493b6a8 100644 --- a/content/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security.md +++ b/content/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security.md @@ -1,6 +1,6 @@ --- title: Setting up a trial of GitHub Advanced Security -intro: You can try the full set of {% data variables.product.prodname_GHAS %} features for free. +intro: Evaluate {% data variables.product.prodname_GH_code_security %} and {% data variables.product.prodname_GH_secret_protection %} on your existing repositories before you buy. permissions: '{% data reusables.advanced-security.ghas-trial-permission %}' product: '{% data reusables.gated-features.ghas-trial %}' versions: @@ -20,20 +20,55 @@ category: ## Prerequisites +{% ifversion fpt %} + +To start a self-serve trial for an organization on {% data variables.product.prodname_team %}, all of the following must be true: + +* You are an owner of the organization. +* The organization does not currently have, and has not previously had, a paid license for {% data variables.product.prodname_GHAS %}. +* The organization is not already using metered billing for {% data variables.product.prodname_GHAS %}. +* If the organization has previously had a {% data variables.product.prodname_GHAS %} trial, it has had no more than one previous trial. That trial ended at least 180 days ago. + +Your payment method does not affect whether you can start a trial. However, you can purchase {% data variables.product.prodname_GHAS %} through the trial checkout flow only if your organization pays by credit card, PayPal, or Azure. + +{% else %} + To set up a trial of {% data variables.product.prodname_GHAS %} using this method, you must meet the following criteria: -1. You are an owner of an enterprise account. See [AUTOTITLE](/enterprise-cloud@latest/admin/concepts/enterprise-fundamentals/enterprise-accounts). -1. You pay by credit card or PayPal. -1. You have not previously purchased {% data variables.product.prodname_GHAS %} (that is, you do not currently or in the past have a paid license for {% data variables.product.prodname_GHAS %}). -1. You are not already using metered billing for {% data variables.product.prodname_GHAS %}. -1. If you have had a previous {% data variables.product.prodname_GHAS %} trial, you are eligible only if you have had no more than one previous trial and it ended at least 180 days ago. -1. Your enterprise has 300 or fewer seats. +* You are an owner of an enterprise account. See [AUTOTITLE](/enterprise-cloud@latest/admin/concepts/enterprise-fundamentals/enterprise-accounts). +* You pay by credit card or PayPal. +* You have not previously purchased {% data variables.product.prodname_GHAS %} and do not currently have a paid license. +* You are not already using metered billing for {% data variables.product.prodname_GHAS %}. +* If you have had a previous {% data variables.product.prodname_GHAS %} trial, you have had no more than one previous trial. That trial ended at least 180 days ago. +* Your enterprise has 300 or fewer seats. > [!TIP] > * **No enterprise account?** Start a trial of {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_GHAS %}. See [AUTOTITLE](/enterprise-cloud@latest/admin/overview/setting-up-a-trial-of-github-enterprise-cloud). -> * **Pay by invoice** Contact {% data variables.contact.contact_enterprise_sales %} to arrange a trial. +> * **Pay by invoice:** Contact {% data variables.contact.contact_enterprise_sales %} to arrange a trial. + +{% endif %} + +## What the trial includes + +The trial gives you access to {% data variables.product.prodname_GH_code_security %} and {% data variables.product.prodname_GH_secret_protection %} for private repositories. You can evaluate capabilities such as: + +* {% data variables.product.prodname_code_scanning_caps %}, {% data variables.copilot.copilot_autofix_short %}, dependency review, and security campaigns +* {% data variables.product.prodname_secret_scanning_caps %}, push protection, custom patterns, validity checks, and delegated bypass + +Use the trial on a sample of repositories so you can assess the results, developer experience, and controls before you purchase. + +## Start your trial + +{% ifversion fpt %} + +An organization owner can start a trial from the organization's "Licensing" page. + +1. In the upper-right corner of {% data variables.product.prodname_dotcom %}, click your profile picture, then click **Your organizations**. +1. Next to the organization, click **Settings**. +1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing & Licensing**, then click **Licensing**. +1. To the right of "{% data variables.product.prodname_GHAS %}", click **Try free for 30 days**, then follow the prompts to start your trial. -## Setting up your trial of {% data variables.product.prodname_GHAS %} +{% else %} {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.licensing-tab-both-platforms %} @@ -42,19 +77,46 @@ To set up a trial of {% data variables.product.prodname_GHAS %} using this metho During a trial of {% data variables.product.prodname_GHAS %}, you can add any number of committers and enable {% data variables.product.prodname_GH_cs_and_sp %} for any number of organizations. +{% endif %} + +## Evaluate features during your trial + +After you start the trial, enable the features you want to evaluate on a sample of repositories. See [AUTOTITLE](/code-security/tutorials/trialing-github-advanced-security/enable-security-features-trial). + +As you evaluate the features, compare the results with the goals and success criteria you defined when planning the trial. + ## Billing during your trial -During the trial, you do not pay license fees for {% data variables.product.prodname_GHAS %}. +During the trial, you do not pay license fees for {% data variables.product.prodname_GH_cs_or_sp %}. + +{% ifversion fpt %} -{% ifversion fpt or ghec %} +Usage-based billing applies for features that consume {% data variables.product.prodname_actions %} minutes or {% data variables.product.prodname_ai_credits_short %}. For private repositories, {% data variables.product.prodname_actions %} minutes used by {% data variables.product.prodname_GHAS %} workflows count toward your organization's included usage. This includes code scanning workflows. Usage beyond the included amount is billed at the standard rate. For more information, see [AUTOTITLE](/billing/reference/product-usage-included). -Usage-based billing continues for features that consume {% data variables.product.prodname_actions %} minutes or {% data variables.product.prodname_ai_credits_short %}. +{% elsif ghec %} -For private repositories, minutes used by {% data variables.product.prodname_GHAS %} workflows that run on standard {% data variables.product.prodname_dotcom %}-hosted runners, including code scanning workflows, count toward the 50,000 minutes included each month with your {% data variables.product.prodname_ghe_cloud %} plan. Workflows in public repositories or on self-hosted runners do not consume included minutes. {% data variables.actions.hosted_runners %} are billed separately. Usage beyond the included amount is billed at the standard rate. For more information, see [AUTOTITLE](/billing/reference/product-usage-included). +Usage-based billing applies for features that consume {% data variables.product.prodname_actions %} minutes or {% data variables.product.prodname_ai_credits_short %}. + +For private repositories, minutes used by {% data variables.product.prodname_GHAS %} workflows on standard {% data variables.product.prodname_dotcom %}-hosted runners count toward the 50,000 minutes included each month with your {% data variables.product.prodname_ghe_cloud %} plan. This includes code scanning workflows. Workflows in public repositories or on self-hosted runners do not consume included minutes. {% data variables.actions.hosted_runners %} are billed separately. Usage beyond the included amount is billed at the standard rate. For more information, see [AUTOTITLE](/billing/reference/product-usage-included). {% endif %} -## Finishing your trial +## Managing and finishing your trial + +Your trial lasts 30 days. You can review the expiration date and current usage on the "Licensing" page for your organization or enterprise. + +{% ifversion fpt %} + +To purchase during the trial: + +1. Access the "Licensing" page for the organization. +1. In the {% data variables.product.prodname_GHAS %} trial banner, click **Buy Advanced Security**. +1. Review the estimated monthly usage, billing information, and payment method. +1. Click **Purchase Advanced Security**. + +If you do not purchase by the end of the trial, it expires automatically, and {% data variables.product.prodname_GH_cs_and_sp %} features are disabled for private repositories. + +{% else %} You can finish your trial at any time by purchasing licenses for {% data variables.product.prodname_GH_cs_or_sp %}. If you haven't made a purchase by the end of the 30 days, your trial will expire. @@ -65,3 +127,5 @@ If you pay for {% data variables.product.prodname_ghe_cloud %} with metered bill {% data reusables.enterprise-accounts.licensing-tab-both-platforms %} 1. To the right of "{% data variables.product.prodname_GHAS %} trial", select the **Manage** dropdown menu and click **Purchase**. {% data reusables.advanced-security.purchase-ghas %} + +{% endif %} diff --git a/data/reusables/advanced-security/ghas-trial-permission.md b/data/reusables/advanced-security/ghas-trial-permission.md index d4b5ea0d010b..593e9853dff3 100644 --- a/data/reusables/advanced-security/ghas-trial-permission.md +++ b/data/reusables/advanced-security/ghas-trial-permission.md @@ -1 +1 @@ -Enterprise owners
Otherwise, you need a trial of {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_GHAS %}. See [AUTOTITLE](/enterprise-cloud@latest/admin/overview/setting-up-a-trial-of-github-enterprise-cloud) in the {% data variables.product.prodname_ghe_cloud %} documentation +{% ifversion fpt %}Owners of eligible organizations on {% data variables.product.prodname_team %}{% else %}Enterprise owners
Otherwise, you need a trial of {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_GHAS %}. See [AUTOTITLE](/enterprise-cloud@latest/admin/overview/setting-up-a-trial-of-github-enterprise-cloud) in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %} diff --git a/data/reusables/gated-features/ghas-trial.md b/data/reusables/gated-features/ghas-trial.md index 234a13133c33..91176940d83d 100644 --- a/data/reusables/gated-features/ghas-trial.md +++ b/data/reusables/gated-features/ghas-trial.md @@ -1 +1 @@ -{% data variables.product.prodname_GHAS %} is available for accounts on {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, and {% data variables.product.prodname_ghe_server %} +{% ifversion fpt %}Eligible organizations on {% data variables.product.prodname_team %} can start a self-serve trial of {% data variables.product.prodname_GHAS %}.{% else %}{% data variables.product.prodname_GHAS %} is available for accounts on {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}.{% endif %} diff --git a/data/reusables/security/start-ghas-trial.md b/data/reusables/security/start-ghas-trial.md index 2b853a4dae97..5206c6e6778d 100644 --- a/data/reusables/security/start-ghas-trial.md +++ b/data/reusables/security/start-ghas-trial.md @@ -1 +1 @@ -Remediating the vulnerabilities or leaks identified by the risk assessment is easier with {% data variables.product.prodname_GHAS %}. Eligible enterprise administrators can start a trial for their entire enterprise straight from the results page. \ No newline at end of file +Remediating the vulnerabilities or leaks identified by the risk assessment is easier with {% data variables.product.prodname_GHAS %}. {% ifversion fpt %}Owners of eligible organizations on {% data variables.product.prodname_team %} can start a trial from a completed {% data variables.product.prodname_code_security_risk_assessment %}.{% else %}Eligible enterprise owners can start a trial for their enterprise from the results page.{% endif %} From 7cd8181031020f6e3c49d6dae2e140ac6746b6cd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 30 Sep 2026 16:18:28 +0000 Subject: [PATCH 6/8] Bump dotenv from 17.3.1 to 18.0.3 (#63607) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Kevin Heis Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 51979f92-6c19-48ab-a503-293280b092fa --- next.config.ts | 5 ++++- package-lock.json | 11 +++++++---- package.json | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/next.config.ts b/next.config.ts index 6fb873c313ff..669a97c36a6c 100644 --- a/next.config.ts +++ b/next.config.ts @@ -53,7 +53,7 @@ const config: NextConfig = { }, webpack: (webpackConfig, { isServer }) => { - webpackConfig.resolve.fallback = { fs: false, async_hooks: false } + webpackConfig.resolve.fallback = { fs: false, async_hooks: false, child_process: false } // OTel is server-only. Alias to empty stub in browser bundles. if (!isServer) { webpackConfig.resolve.alias = { @@ -76,6 +76,9 @@ const config: NextConfig = { async_hooks: { browser: './stub.ts', }, + child_process: { + browser: './stub.ts', + }, '@/observability/logger': { browser: './stub.ts', }, diff --git a/package-lock.json b/package-lock.json index e3995a253356..03b452aef1bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,7 +39,7 @@ "cookie-parser": "^1.4.7", "cuss": "2.2.0", "dayjs": "^1.11.19", - "dotenv": "^17.3.1", + "dotenv": "^18.0.3", "express": "^5.2.1", "fastest-levenshtein": "1.0.16", "github-slugger": "^2.0.0", @@ -7542,10 +7542,13 @@ } }, "node_modules/dotenv": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.3.1.tgz", - "integrity": "sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==", + "version": "18.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-18.0.3.tgz", + "integrity": "sha512-/8CJTyL817qPnfbQrJgOEcrU3fDrJkRIoXBE566wHuvIXKOCHUZhPqGPbCPi9SogjdGnreF0TlvnTgK6J/8zpA==", "license": "BSD-2-Clause", + "bin": { + "dotenv": "dist/index.cjs" + }, "engines": { "node": ">=12" }, diff --git a/package.json b/package.json index db015e1eb4ce..a4fa98cdb013 100644 --- a/package.json +++ b/package.json @@ -201,7 +201,7 @@ "cookie-parser": "^1.4.7", "cuss": "2.2.0", "dayjs": "^1.11.19", - "dotenv": "^17.3.1", + "dotenv": "^18.0.3", "express": "^5.2.1", "fastest-levenshtein": "1.0.16", "github-slugger": "^2.0.0", From 835b89eef33588e24625b5284a67fd88d46333b7 Mon Sep 17 00:00:00 2001 From: Sophie <29382425+sophietheking@users.noreply.github.com> Date: Wed, 30 Sep 2026 16:37:33 +0000 Subject: [PATCH 7/8] Update GitHub Support article (#63619) --- .../about-github-premium-support.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/support/learning-about-github-support/about-github-premium-support.md b/content/support/learning-about-github-support/about-github-premium-support.md index 5a72d194d133..116620b3a4b3 100644 --- a/content/support/learning-about-github-support/about-github-premium-support.md +++ b/content/support/learning-about-github-support/about-github-premium-support.md @@ -40,7 +40,7 @@ There are two {% data variables.contact.premium_support %} plans: Premium and {% |---|---|------| | Hours of operation | 24 x 7 | 24 x 7 | | Initial response time |
  • 30 minutes for {% data variables.product.support_ticket_priority_urgent %} (including initial troubleshooting)
  • 4 hours for {% data variables.product.support_ticket_priority_high %}
  • 48 hours for {% data variables.product.support_ticket_priority_normal %}
  • 48 hours for {% data variables.product.support_ticket_priority_low %}
|
  • 30 minutes for {% data variables.product.support_ticket_priority_urgent %} (including initial troubleshooting)
  • 4 hours for {% data variables.product.support_ticket_priority_high %}
  • 24 hours for {% data variables.product.support_ticket_priority_normal %}
  • 48 hours for {% data variables.product.support_ticket_priority_low %}
| -| Support channels |
  • Online ticket submission
  • Phone support in English via callback request (when required for ticket resolution)
  • Screen share request for critical issues
|
  • Online ticket submission
  • Phone support in English via callback request (when required for ticket resolution)
  • Screen share request for critical issues
| +| Support channels |
  • Online ticket submission
  • Phone support in English via callback request (when required for ticket resolution)
|
  • Online ticket submission
  • Phone support in English via callback request (when required for ticket resolution)
| | Training | Access to premium content |
  • Access to premium content
  • 1 virtual training class per year
| | Members with support entitlements | 20 | 40 | | Resources | Priority ticket handling |
  • Priority ticket handling
  • Named Customer Reliability Engineer
| From 2a2e4393dbe995722f9829260f8990a7c9204343 Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:01:43 +0000 Subject: [PATCH 8/8] Fix garbled Portuguese "de ifversion" Liquid tags (#63622) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Kevin Heis --- src/languages/lib/correct-translation-content.ts | 8 ++++++++ src/languages/tests/correct-translation-content.ts | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/languages/lib/correct-translation-content.ts b/src/languages/lib/correct-translation-content.ts index b93717184066..1f5ea0c85565 100644 --- a/src/languages/lib/correct-translation-content.ts +++ b/src/languages/lib/correct-translation-content.ts @@ -534,6 +534,14 @@ export function correctTranslatedContentStrings( content = content.replaceAll('{%- senão %}', '{%- else %}') content = content.replaceAll('{% mais %}', '{% else %}') content = content.replaceAll('{%- mais %}', '{%- else %}') + content = content.replace( + /\{%(-?)\s*(?:else|mais)\s*-?%\}\s*de\s+([A-Za-z0-9_-]+)\s+de\s+ifversion(?:\s*(-?)%\})?/g, + '{%$1 elsif $2 $3%}', + ) + content = content.replace( + /\{%(-?)\s*([A-Za-z0-9_-]+)\s+de\s+ifversion\s*(-?)%\}/g, + '{%$1 ifversion $2 $3%}', + ) content = content.replaceAll('{% se ', '{% if ') content = content.replaceAll('{% atribuir ', '{% assign ') content = content.replaceAll('{%- atribuir ', '{%- assign ') diff --git a/src/languages/tests/correct-translation-content.ts b/src/languages/tests/correct-translation-content.ts index 485d5778cec9..5fdcb1a96707 100644 --- a/src/languages/tests/correct-translation-content.ts +++ b/src/languages/tests/correct-translation-content.ts @@ -451,6 +451,20 @@ describe('correctTranslatedContentStrings', () => { ) }) + test('fixes garbled "de ifversion" tags', () => { + expect( + fix( + '{% codeql-rust-available de ifversion %} A {% mais %} de codeql-rust-public-preview de ifversion B {% endif %}', + 'pt', + ), + ).toBe( + '{% ifversion codeql-rust-available %} A {% elsif codeql-rust-public-preview %} B {% endif %}', + ) + expect(fix('{% ifversion codeql-rust-available %} A {% endif %}', 'pt')).toBe( + '{% ifversion codeql-rust-available %} A {% endif %}', + ) + }) + test('fixes translated else variants', () => { expect(fix('{% senão %}', 'pt')).toBe('{% else %}') expect(fix('{%- senão %}', 'pt')).toBe('{%- else %}')