Skip to content

Repo sync #39059

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jun 26, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ redirect_from:

* **{% data variables.copilot.copilot_free %}** is available to individual developers who don't have access to {% data variables.product.prodname_copilot_short %} through an organization or enterprise. This free plan includes limited access to select {% data variables.product.prodname_copilot_short %} features, allowing you to try AI-powered coding assistance at no cost.

* **{% data variables.copilot.copilot_pro %}** is designed for individuals who want more flexibility. This paid plan includes unlimited completions, access to premium models in {% data variables.copilot.copilot_chat_short %}, and a monthly allowance of premium requests. Verified students, teachers, and maintainers of popular open source projects may be eligible for free access.
* **{% data variables.copilot.copilot_pro %}** is designed for individuals who want more flexibility. This paid plan includes unlimited completions, access to premium models in {% data variables.copilot.copilot_chat_short %}, access to {% data variables.copilot.copilot_coding_agent %}, and a monthly allowance of premium requests. Verified students, teachers, and maintainers of popular open source projects may be eligible for free access.

* **{% data variables.copilot.copilot_pro_plus %}** offers the highest level of access for individual developers. In addition to everything in {% data variables.copilot.copilot_pro_short %}, this plan includes {% data variables.copilot.copilot_coding_agent %}, a larger allowance of premium requests, and full access to all available models in {% data variables.copilot.copilot_chat_short %}. Ideal for AI power users who want access to the most advanced capabilities.
* **{% data variables.copilot.copilot_pro_plus %}** offers the highest level of access for individual developers. In addition to everything in {% data variables.copilot.copilot_pro_short %}, this plan includes a larger allowance of premium requests, and full access to all available models in {% data variables.copilot.copilot_chat_short %}. Ideal for AI power users who want access to the most advanced capabilities.

* **{% data variables.copilot.copilot_for_business %}** is for organizations on {% data variables.product.prodname_free_team %} or {% data variables.product.prodname_team %} plan, or enterprises on {% data variables.product.prodname_ghe_cloud %}. This plan includes {% data variables.copilot.copilot_coding_agent %} and enables centralized management and {% data variables.product.prodname_copilot_short %} policy control for organization members.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ shortTitle: 'Add {% data variables.copilot.copilot_coding_agent %}'

{% data reusables.organizations.copilot-policy-ent-overrides-org %}

{% data variables.copilot.copilot_coding_agent %} and use of third-party MCP servers are disabled by default for organization members.
{% data variables.copilot.copilot_coding_agent %} and use of third-party MCP servers are disabled by default for organization members assigned a {% data variables.copilot.copilot_enterprise %} or {% data variables.copilot.copilot_business_short %} license by your organization.

Organizations with {% data variables.copilot.copilot_enterprise %} or {% data variables.copilot.copilot_business_short %} can enable these features for members on the {% data variables.product.prodname_copilot_short %} policies page for their organization. See [Enabling {% data variables.product.prodname_copilot_short %} features in your organization](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#enabling-copilot-features-in-your-organization).
Organizations with {% data variables.copilot.copilot_enterprise_short %} or {% data variables.copilot.copilot_business_short %} can enable these features for members on the {% data variables.product.prodname_copilot_short %} policies page for their organization. See [Enabling {% data variables.product.prodname_copilot_short %} features in your organization](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#enabling-copilot-features-in-your-organization).

* For the "{% data variables.copilot.copilot_coding_agent %}" policy, select "Enabled".
* For the "MCP servers on {% data variables.product.prodname_dotcom_the_website %}" policy, select "Enabled".
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ All AI models are trained to meet a request, even if they don't have all the inf

<a href="https://github.com/github-copilot/purchase?ref_cta=Copilot+Enterprise+trial&ref_cta=Copilot+Business+trial&ref_loc=using-cca-effectively" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"><span>Sign up for {% data variables.product.prodname_copilot_short %}</span> {% octicon "link-external" height:16 aria-label="link-external" %}</a>

> [!TIP] During the {% data variables.release-phases.public_preview %}, you need {% data variables.copilot.copilot_pro_plus %}, {% data variables.copilot.copilot_for_business %} or {% data variables.copilot.copilot_enterprise %} to use {% data variables.copilot.copilot_coding_agent %}.
> [!TIP] You need {% data variables.copilot.copilot_pro %}, {% data variables.copilot.copilot_pro_plus %}, {% data variables.copilot.copilot_for_business %} or {% data variables.copilot.copilot_enterprise %} to use {% data variables.copilot.copilot_coding_agent %}.

As with any other change to working practices, it's important to run a trial to learn how to deploy {% data variables.copilot.copilot_coding_agent %} effectively in your organization or enterprise.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,20 @@ redirect_from:

## {% data variables.product.prodname_copilot_short %} is not available in the "Assignees" list on my issue

You can only assign issues to {% data variables.product.prodname_copilot_short %} if you have access to {% data variables.product.prodname_copilot_short %} through either the **{% data variables.copilot.copilot_pro_plus %}** plan, the **{% data variables.copilot.copilot_for_business %}** plan, or the **{% data variables.copilot.copilot_enterprise %}** plan.
You can only assign issues to {% data variables.product.prodname_copilot_short %} if you have access to {% data variables.product.prodname_copilot_short %} through either the **{% data variables.copilot.copilot_pro %}** plan, **{% data variables.copilot.copilot_pro_plus %}** plan, the **{% data variables.copilot.copilot_for_business %}** plan, or the **{% data variables.copilot.copilot_enterprise %}** plan.

If you do not already have a subscription for one of these plans, click this button for more information:<br>
<a href="https://github.com/features/copilot/plans?ref_cta=Copilot+plans+signup&ref_loc=troubleshooting+copilot+coding+agent&ref_page=docs" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"><span>Sign up for {% data variables.product.prodname_copilot_short %}</span> {% octicon "link-external" height:16 aria-label="link-external" %}</a>

If you _do_ have {% data variables.copilot.copilot_pro_plus %}, {% data variables.copilot.copilot_for_business %}, or {% data variables.copilot.copilot_enterprise %}, check that {% data variables.copilot.copilot_coding_agent %} {% ifversion ghec %}is enabled and{% endif %} has not been manually disabled for the repository:
If you _do_ have {% data variables.copilot.copilot_pro %}, {% data variables.copilot.copilot_pro_plus %}, {% data variables.copilot.copilot_for_business %}, or {% data variables.copilot.copilot_enterprise %}, check that {% data variables.copilot.copilot_coding_agent %} {% ifversion ghec %}is enabled and{% endif %} has not been manually disabled for the repository:

{% ifversion ghec %}

* If you are on the {% data variables.copilot.copilot_for_business %} or {% data variables.copilot.copilot_enterprise_short %} plan, your ability to use {% data variables.copilot.copilot_coding_agent %} is controlled at the enterprise level. See [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-copilot-for-your-enterprise/adding-copilot-coding-agent-to-enterprise).
* If you are on the {% data variables.copilot.copilot_for_business %} or {% data variables.copilot.copilot_enterprise_short %} plan, your ability to use {% data variables.copilot.copilot_coding_agent %} is controlled by your enterprise and/or organization administrator. See [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-copilot-for-your-enterprise/adding-copilot-coding-agent-to-enterprise).

{% endif %}

* For organization-owned repositories, the availability of {% data variables.copilot.copilot_coding_agent %} in the repository is configured in the settings for the organization. See [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-github-copilot-in-your-organization/adding-copilot-coding-agent-to-organization).
* For organization-owned repositories, the availability of {% data variables.copilot.copilot_coding_agent %} in the repository is managed by the organization and/or enterprise administrators. See [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-github-copilot-in-your-organization/adding-copilot-coding-agent-to-organization).

* For personal repositories, the availability of {% data variables.copilot.copilot_coding_agent %} in the repository is configured in your account settings. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-your-copilot-plan/managing-copilot-policies-as-an-individual-subscriber#enabling-or-disabling-copilot-coding-agent).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ You can update a pull request's head branch from the command line or the pull re
* The pull request branch is not up to date with the base branch.
* The base branch requires branches to be up to date before merging or the setting to always suggest updating branches is enabled.

For more information, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches) and [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches).
> [!NOTE] You may not be able to update using the `Update branch` button if the HEAD branch of your pull request is a protected branch.

For more information, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches), [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets) and [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches).

If there are changes to the base branch that cause merge conflicts in your pull request branch, you will not be able to update the branch until all conflicts are resolved. For more information, see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts).

Expand Down
2 changes: 1 addition & 1 deletion data/reusables/copilot/differences-cfi-cfb-table.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

| Agents | {% data variables.copilot.copilot_free_short %} | {% data variables.copilot.copilot_pro_short %} | {% data variables.copilot.copilot_pro_plus_short %} | {% data variables.copilot.copilot_business_short %} | {% data variables.copilot.copilot_enterprise_short %} |
| --- | --- | --- | --- | --- | --- |
| {% data variables.copilot.copilot_coding_agent %} ({% data variables.release-phases.public_preview %}) | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
| {% data variables.copilot.copilot_coding_agent %} ({% data variables.release-phases.public_preview %}) | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
| Agent mode | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
| {% data variables.product.prodname_copilot_short %} code review | Only "Review selection" in {% data variables.product.prodname_vscode_shortname %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
| {% data variables.copilot.copilot_extensions_short %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
Expand Down
2 changes: 1 addition & 1 deletion data/reusables/gated-features/copilot-coding-agent.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{% data variables.copilot.copilot_coding_agent %} is available with the {% data variables.copilot.copilot_pro_plus %}, {% data variables.copilot.copilot_for_business %} and {% data variables.copilot.copilot_enterprise %} plans in repositories where it has not been disabled. {% data variables.copilot.copilot_coding_agent %} is not available in repositories owned by {% data variables.enterprise.prodname_managed_users %}.
{% data variables.copilot.copilot_coding_agent %} is available with the {% data variables.copilot.copilot_pro %}, {% data variables.copilot.copilot_pro_plus %}, {% data variables.copilot.copilot_for_business %} and {% data variables.copilot.copilot_enterprise %} plans in repositories where it has not been disabled. {% data variables.copilot.copilot_coding_agent %} is not available in repositories owned by {% data variables.enterprise.prodname_managed_users %}.
37 changes: 37 additions & 0 deletions src/ai-editors/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# AI-powered editors

A CLI tool for using AI to edit documentation according to defined prompts.

This tool runs an AI review of content files based on an (extensible) set of prompt-driven guidelines. The default is versioning. In the future we might add: scannability, readability, style, technical accuracy.

This script calls the [Models API](https://docs.github.com/en/rest/models/inference?apiVersion=2022-11-28#run-an-inference-request). It requires a personal access token with Models scopes in your `.env` file.

## Usage

```sh
tsx src/ai-editors/scripts/ai-edit.js --editor <type> --response <type> --files <file1.md>
```

* `--files, -f`: One or more content file paths to process (required).
* `--response, -r`: Specify the AI response format. Options: `rewrite` (default), `list`, `json`.
* `--editor, -e`: Specify one or more editor types (default: `versioning`).

**Example:**

```sh
tsx src/ai-editors/scripts/ai-edit.js --files content/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo.md --editor versioning --response list
```

## Requirements

* A valid `GITHUB_TOKEN` with Models scopes in your local `.env` file.

## Future development ideas

* Add prompts to support all available editors.
* Test prompts in Models UI and add evals to prevent regressions.
* Enable running in CI.
* Explore the new `llm` plugin for GitHub Models (see https://github.com/github/copilot-productivity/discussions/5937).
* Add MCP for more comprehensive context.
* Integrate with Copilot Edit mode in VS Code.
* Add unit tests.
24 changes: 24 additions & 0 deletions src/ai-editors/lib/call-models-api.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
const modelsCompletionsEndpoint = 'https://models.github.ai/inference/chat/completions'

export async function callModelsApi(promptWithContent) {
let aiResponse
try {
const response = await fetch(modelsCompletionsEndpoint, {
method: 'post',
body: JSON.stringify(promptWithContent),
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${process.env.GITHUB_TOKEN}`,
'X-GitHub-Api-Version': '2022-11-28',
Accept: 'Accept: application/vnd.github+json',
},
})
const data = await response.json()
aiResponse = data.choices[0]
} catch (error) {
console.error('Error calling GitHub Models REST API')
throw error
}

return aiResponse.message.content
}
31 changes: 31 additions & 0 deletions src/ai-editors/prompts/versioning-editor.prompt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
messages:
- role: system
content: >-
Your task is to remove the conditional markup from content files that
looks like {% ifversion fpt or ghec %}Foo{% endif %}. You need to first try
to write the content without any versioning at all, so it still makes sense
to customers without causing confusion. If you need to explain versioning
differences, do so using prose. Here are the prose guidelines to follow:
* For versioning at the article level:
- When the feature is only available in certain products, use the "Who can
use this feature?" box to convey the content of this article applies only
to XYZ products.
- When an article only exists before the functionality is in older versions
of GHES (and not dotcom and newer versions of GHES), just remove that article.
(This is akin to declining to document a feature.)
* For versioning at the heading level:
- Use prose similar to the "Who can use this feature?" to convey that the
content of this section applies only to XYZ products.
* For versioning the paragraph or sentence level:
- Use one of the following content strategies:
- If you're briefly introducing a feature and then linking to an article,
there's no need to specify versioning. Let folks learn availability when
they follow the link, via the "Who can use this feature?" box.
- When necessary, start sentences with "With GitHub Enterprise Cloud...",
"On GitHub.com", "With GitHub Enterprise Server 3.15+..." etc.
- End list items with "(GitHub Enterprise Cloud only)", "(GitHub.com only)", etc.
- role: user
content: >-
Review this content according to the new prose versioning guidelines. {{responseTypeInstruction}}
{{input}}
model: openai/gpt-4.1-mini
Loading
Loading