From 5b6194a758a2080a4444abf0102f006daa0ab3ec Mon Sep 17 00:00:00 2001
From: docs-bot <77750099+docs-bot@users.noreply.github.com>
Date: Fri, 13 Jun 2025 09:38:54 -0700
Subject: [PATCH 1/3] GraphQL schema update (#56062)
Co-authored-by: heiskr <1221423+heiskr@users.noreply.github.com>
---
src/graphql/data/fpt/changelog.json | 14 +++++++++++
src/graphql/data/fpt/schema.docs.graphql | 15 ++++++------
src/graphql/data/fpt/schema.json | 30 ++++++++---------------
src/graphql/data/ghec/schema.docs.graphql | 15 ++++++------
src/graphql/data/ghec/schema.json | 30 ++++++++---------------
5 files changed, 50 insertions(+), 54 deletions(-)
diff --git a/src/graphql/data/fpt/changelog.json b/src/graphql/data/fpt/changelog.json
index de6de910d43c..e9996808119c 100644
--- a/src/graphql/data/fpt/changelog.json
+++ b/src/graphql/data/fpt/changelog.json
@@ -1,4 +1,18 @@
[
+ {
+ "schemaChanges": [
+ {
+ "title": "The GraphQL schema includes these changes:",
+ "changes": [
+ "
Type BotOrUser was removed
",
+ "Input field botIds of type '[ID!]was added to input object typeRequestReviewsInput'
"
+ ]
+ }
+ ],
+ "previewChanges": [],
+ "upcomingChanges": [],
+ "date": "2025-06-13"
+ },
{
"schemaChanges": [
{
diff --git a/src/graphql/data/fpt/schema.docs.graphql b/src/graphql/data/fpt/schema.docs.graphql
index 20d2376cb668..e54fd6fb84fc 100644
--- a/src/graphql/data/fpt/schema.docs.graphql
+++ b/src/graphql/data/fpt/schema.docs.graphql
@@ -2413,11 +2413,6 @@ type Bot implements Actor & Node & UniformResourceLocatable {
url: URI!
}
-"""
-Used when either Bot or User are accepted.
-"""
-union BotOrUser = Bot | User
-
"""
Types which can be actors for `BranchActorAllowance` objects.
"""
@@ -6469,7 +6464,8 @@ input ContributionOrder {
}
"""
-A contributions collection aggregates contributions such as opened issues and commits created by a user.
+A collection of contributions made by a user, including opened issues, commits, and pull requests.
+Contributions in private and internal repositories are only included with the optional read:user scope.
"""
type ContributionsCollection {
"""
@@ -53600,6 +53596,11 @@ type ReprioritizeSubIssuePayload {
Autogenerated input type of RequestReviews
"""
input RequestReviewsInput {
+ """
+ The Node IDs of the bot to request.
+ """
+ botIds: [ID!] @possibleTypes(concreteTypes: ["Bot"])
+
"""
A unique identifier for the client performing the mutation.
"""
@@ -53623,7 +53624,7 @@ input RequestReviewsInput {
"""
The Node IDs of the user to request.
"""
- userIds: [ID!] @possibleTypes(concreteTypes: ["Bot", "User"])
+ userIds: [ID!] @possibleTypes(concreteTypes: ["User"])
}
"""
diff --git a/src/graphql/data/fpt/schema.json b/src/graphql/data/fpt/schema.json
index a122c397aadc..15e4734ea42c 100644
--- a/src/graphql/data/fpt/schema.json
+++ b/src/graphql/data/fpt/schema.json
@@ -16179,7 +16179,7 @@
"kind": "objects",
"id": "contributionscollection",
"href": "/graphql/reference/objects#contributionscollection",
- "description": "A contributions collection aggregates contributions such as opened issues and commits created by a user.
",
+ "description": "A collection of contributions made by a user, including opened issues, commits, and pull requests.\nContributions in private and internal repositories are only included with the optional read:user scope.
",
"fields": [
{
"name": "commitContributionsByRepository",
@@ -94746,25 +94746,6 @@
}
]
},
- {
- "name": "BotOrUser",
- "kind": "unions",
- "id": "botoruser",
- "href": "/graphql/reference/unions#botoruser",
- "description": "Used when either Bot or User are accepted.
",
- "possibleTypes": [
- {
- "name": "Bot",
- "id": "bot",
- "href": "/graphql/reference/objects#bot"
- },
- {
- "name": "User",
- "id": "user",
- "href": "/graphql/reference/objects#user"
- }
- ]
- },
{
"name": "BranchActorAllowanceActor",
"kind": "unions",
@@ -106047,6 +106028,15 @@
"href": "/graphql/reference/input-objects#requestreviewsinput",
"description": "Autogenerated input type of RequestReviews.
",
"inputFields": [
+ {
+ "name": "botIds",
+ "description": "The Node IDs of the bot to request.
",
+ "type": "[ID!]",
+ "id": "id",
+ "kind": "scalars",
+ "href": "/graphql/reference/scalars#id",
+ "isDeprecated": false
+ },
{
"name": "clientMutationId",
"description": "A unique identifier for the client performing the mutation.
",
diff --git a/src/graphql/data/ghec/schema.docs.graphql b/src/graphql/data/ghec/schema.docs.graphql
index 20d2376cb668..e54fd6fb84fc 100644
--- a/src/graphql/data/ghec/schema.docs.graphql
+++ b/src/graphql/data/ghec/schema.docs.graphql
@@ -2413,11 +2413,6 @@ type Bot implements Actor & Node & UniformResourceLocatable {
url: URI!
}
-"""
-Used when either Bot or User are accepted.
-"""
-union BotOrUser = Bot | User
-
"""
Types which can be actors for `BranchActorAllowance` objects.
"""
@@ -6469,7 +6464,8 @@ input ContributionOrder {
}
"""
-A contributions collection aggregates contributions such as opened issues and commits created by a user.
+A collection of contributions made by a user, including opened issues, commits, and pull requests.
+Contributions in private and internal repositories are only included with the optional read:user scope.
"""
type ContributionsCollection {
"""
@@ -53600,6 +53596,11 @@ type ReprioritizeSubIssuePayload {
Autogenerated input type of RequestReviews
"""
input RequestReviewsInput {
+ """
+ The Node IDs of the bot to request.
+ """
+ botIds: [ID!] @possibleTypes(concreteTypes: ["Bot"])
+
"""
A unique identifier for the client performing the mutation.
"""
@@ -53623,7 +53624,7 @@ input RequestReviewsInput {
"""
The Node IDs of the user to request.
"""
- userIds: [ID!] @possibleTypes(concreteTypes: ["Bot", "User"])
+ userIds: [ID!] @possibleTypes(concreteTypes: ["User"])
}
"""
diff --git a/src/graphql/data/ghec/schema.json b/src/graphql/data/ghec/schema.json
index a122c397aadc..15e4734ea42c 100644
--- a/src/graphql/data/ghec/schema.json
+++ b/src/graphql/data/ghec/schema.json
@@ -16179,7 +16179,7 @@
"kind": "objects",
"id": "contributionscollection",
"href": "/graphql/reference/objects#contributionscollection",
- "description": "A contributions collection aggregates contributions such as opened issues and commits created by a user.
",
+ "description": "A collection of contributions made by a user, including opened issues, commits, and pull requests.\nContributions in private and internal repositories are only included with the optional read:user scope.
",
"fields": [
{
"name": "commitContributionsByRepository",
@@ -94746,25 +94746,6 @@
}
]
},
- {
- "name": "BotOrUser",
- "kind": "unions",
- "id": "botoruser",
- "href": "/graphql/reference/unions#botoruser",
- "description": "Used when either Bot or User are accepted.
",
- "possibleTypes": [
- {
- "name": "Bot",
- "id": "bot",
- "href": "/graphql/reference/objects#bot"
- },
- {
- "name": "User",
- "id": "user",
- "href": "/graphql/reference/objects#user"
- }
- ]
- },
{
"name": "BranchActorAllowanceActor",
"kind": "unions",
@@ -106047,6 +106028,15 @@
"href": "/graphql/reference/input-objects#requestreviewsinput",
"description": "Autogenerated input type of RequestReviews.
",
"inputFields": [
+ {
+ "name": "botIds",
+ "description": "The Node IDs of the bot to request.
",
+ "type": "[ID!]",
+ "id": "id",
+ "kind": "scalars",
+ "href": "/graphql/reference/scalars#id",
+ "isDeprecated": false
+ },
{
"name": "clientMutationId",
"description": "A unique identifier for the client performing the mutation.
",
From 04c0608b60a2787bab96521f99c74aa106bb317f Mon Sep 17 00:00:00 2001
From: Joe Clark <31087804+jc-clark@users.noreply.github.com>
Date: Fri, 13 Jun 2025 10:38:56 -0700
Subject: [PATCH 2/3] Add learner documentation for setting up a local
development environment (#56019)
Co-authored-by: Laura Coursen
Co-authored-by: Felicity Chapman
Co-authored-by: Martina Jireckova
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Tadas Labudis
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
Co-authored-by: Steve-Glass <84886334+Steve-Glass@users.noreply.github.com>
Co-authored-by: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com>
Co-authored-by: sunbrye
Co-authored-by: Sam Browning <106113886+sabrowning1@users.noreply.github.com>
---
.../developing-your-project-locally.md | 104 ++++++++++++++++++
content/get-started/learning-to-code/index.md | 1 +
2 files changed, 105 insertions(+)
create mode 100644 content/get-started/learning-to-code/developing-your-project-locally.md
diff --git a/content/get-started/learning-to-code/developing-your-project-locally.md b/content/get-started/learning-to-code/developing-your-project-locally.md
new file mode 100644
index 000000000000..19e5de650b45
--- /dev/null
+++ b/content/get-started/learning-to-code/developing-your-project-locally.md
@@ -0,0 +1,104 @@
+---
+title: Developing your project locally
+intro: 'Learn how to create a local development environment by working with an example client-side application built on HTML, CSS, and JavaScript.'
+versions:
+ fpt: '*'
+shortTitle: Local development
+---
+
+## Overview
+
+Local development means setting up and **running your project on your own computer** instead of in the cloud or on a remote server. When you develop locally, you can work on your code without an internet connection and experiment without affecting the live application.
+
+The steps required to configure a local development environment are different for each project, based on its programming languages, frameworks, tools, and dependencies. In this guide, you'll learn **core skills** needed to set up any project by working with an example client-side application built on HTML, CSS, and JavaScript. You can then apply those same skills to other projects in the future.
+
+## Installing essential development tools
+
+Before you can start, you'll need to install some essential tools that are widely used for local development.
+
+1. [Set up {% data variables.product.prodname_vscode_shortname %} with {% data variables.product.prodname_copilot %}](https://code.visualstudio.com/docs/copilot/setup-simplified).
+1. [Install Git](https://git-scm.com/downloads).
+
+## Cloning and opening the repository in {% data variables.product.prodname_vscode_shortname %}
+
+First, make a copy of the repository on your computer by cloning it.
+
+1. [Start by cloning the new2code/client-side-web-application repository](vscode://vscode.git/clone?url=https://github.com/new2code/client-side-web-application). This link opens a dialog in {% data variables.product.prodname_vscode_shortname %} to clone the repository.
+1. Choose a location to save the repository on your computer, then click **Select as Repository Destination**.
+1. When prompted, open the repository.
+
+## Installing project requirements
+
+1. [Open {% data variables.copilot.copilot_chat_short %}](vscode://GitHub.Copilot-Chat), then ask it to identify what you need to install with the following prompt.
+
+ ```text copy
+ What do I need to install to develop this project locally?
+ ```
+
+ For this example, {% data variables.product.prodname_copilot_short %} will say that this project needs Node.js. Node.js allows you to run JavaScript code on your computer and provides tools for web development.
+
+1. Ask {% data variables.product.prodname_copilot_short %} how to install the project requirements, then follow the steps to install them on your computer.
+
+ For this example, we could ask "How do I install Node.js?" {% data variables.product.prodname_copilot_short %} will provide instructions for visiting https://nodejs.org/ and downloading the installer.
+
+## Installing project dependencies
+
+Now that you have the required software installed, you need to understand how to use it for this specific project.
+
+**Check the README file first**. Most projects include a README file in the root directory that explains how to set up and run the project. For this project, both the README file and asking {% data variables.product.prodname_copilot_short %} will tell you that the next step is to install the project's dependencies using npm, the Node.js package manager.
+
+1. Open the Command Palette by pressing Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (Mac).
+
+1. Type `Terminal: Create New Terminal` and press Enter.
+
+1. In the terminal tab, paste the following command.
+
+ ```bash copy
+ npm install
+ ```
+
+Because this project uses Node.js, we used `npm install` to read the `package.json` file and download all the dependencies the project needs to work properly. Other types of projects will use different commands. For example, Python projects might use `pip install -r requirements.txt`, and Ruby projects might use `bundle install`.
+
+If the README doesn't include information about installing dependencies, you can:
+
+* **Look for configuration files**: Different projects use different files to list their dependencies—for example, Node.js projects use `package.json`, Python projects use `requirements.txt`, and Ruby projects use `Gemfile`.
+* **Ask {% data variables.product.prodname_copilot_short %}**: Try a prompt like, "Now that I have Node.js installed, what's the next step to set up this project?"
+
+## Running and developing your project
+
+Now that your development environment is set up, you can start the development server and use it to preview changes to your code.
+
+1. Find out how to start the project by checking the README file in your project folder.
+
+ For this example, the "Steps for running locally" section of the README explains that you can start the development server with the `npm start` command. Enter the following command in your terminal.
+
+ ```bash copy
+ npm start
+ ```
+
+1. To identify where the local server is available, review the terminal output. You'll see that the local server is available on http://localhost:8080. Navigate to that address in your browser.
+1. Make a small change to the code, such as editing some text in the HTML file or changing a color in the CSS file. Save your changes.
+1. Check the project documentation or terminal output to understand how to see your changes. Some projects automatically refresh after you save the changes, while others require refreshing your browser window.
+
+ For this project, refresh your browser window to see your changes.
+
+If the README doesn't contain the information you need, check the configuration files for available commands. You can also ask [{% data variables.copilot.copilot_chat_short %}](vscode://GitHub.Copilot-Chat) with the following prompt.
+
+```text copy
+How do I start this project locally?
+```
+
+## What's next?
+
+Now that you've successfully set up your first local development environment, it's time to apply these skills to different types of projects.
+
+**Practice with a different project**: Try setting up another project with different requirements. For example, [@new2code's Python web application](https://github.com/new2code/python-web-application) uses Python and Flask instead of Node.js.
+
+Use what you learned in this tutorial to:
+
+* Clone the repository using {% data variables.product.prodname_vscode_shortname %}
+* Ask {% data variables.product.prodname_copilot_short %} what tools and dependencies you need to install
+* Read the README file to understand how to run the project
+* Get the application running in your browser
+
+This practice will help you recognize patterns across different technologies and build confidence in your ability to set up any project locally.
diff --git a/content/get-started/learning-to-code/index.md b/content/get-started/learning-to-code/index.md
index 67f866e5f4df..aa549d9c7622 100644
--- a/content/get-started/learning-to-code/index.md
+++ b/content/get-started/learning-to-code/index.md
@@ -8,6 +8,7 @@ children:
- /finding-and-understanding-example-code
- /reusing-other-peoples-code-in-your-projects
- /setting-up-copilot-for-learning-to-code
+ - /developing-your-project-locally
- /learning-to-debug-with-github-copilot
- /storing-your-secrets-safely
- /finding-and-fixing-your-first-code-vulnerability
From 71b1544c96466bb69c7dd31003494c09328c91b5 Mon Sep 17 00:00:00 2001
From: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com>
Date: Fri, 13 Jun 2025 10:56:25 -0700
Subject: [PATCH 3/3] Copilot code reviews - support for
copilot-instructions.md [Public Preview] (#56045)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Anne-Marie <102995847+am-stead@users.noreply.github.com>
---
.../code-review/using-copilot-code-review.md | 8 +++++++
.../custom-instructions-information.md | 22 +++++++++++++++++++
data/reusables/copilot/policies-for-dotcom.md | 5 ++++-
3 files changed, 34 insertions(+), 1 deletion(-)
create mode 100644 data/reusables/copilot/code-review/custom-instructions-information.md
diff --git a/content/copilot/using-github-copilot/code-review/using-copilot-code-review.md b/content/copilot/using-github-copilot/code-review/using-copilot-code-review.md
index cf555509794d..20c904e90e90 100644
--- a/content/copilot/using-github-copilot/code-review/using-copilot-code-review.md
+++ b/content/copilot/using-github-copilot/code-review/using-copilot-code-review.md
@@ -152,6 +152,10 @@ To request a re-review from {% data variables.product.prodname_copilot_short %},
By default, you manually request a review from {% data variables.product.prodname_copilot_short %} on each pull request, in the same way you would request a review from a human. However, you can set up {% data variables.product.prodname_copilot_short %} to automatically review all pull requests. See [AUTOTITLE](/copilot/using-github-copilot/code-review/configuring-automatic-code-review-by-copilot).
+## Customizing {% data variables.product.prodname_copilot_short %}'s reviews with custom instructions
+
+{% data reusables.copilot.code-review.custom-instructions-information %}
+
## Customizing {% data variables.product.prodname_copilot_short %}'s reviews with coding guidelines
{% data reusables.copilot.code-review.custom-coding-guidelines %}
@@ -223,6 +227,10 @@ To provide feedback, hover over the comment and click the thumbs up or thumbs do

+## Customizing {% data variables.product.prodname_copilot_short %}'s reviews with custom instructions
+
+{% data reusables.copilot.code-review.custom-instructions-information %}
+
## Customizing {% data variables.product.prodname_copilot_short %}'s reviews with coding guidelines
{% data reusables.copilot.code-review.custom-coding-guidelines %}
diff --git a/data/reusables/copilot/code-review/custom-instructions-information.md b/data/reusables/copilot/code-review/custom-instructions-information.md
new file mode 100644
index 000000000000..90c8ffbdb162
--- /dev/null
+++ b/data/reusables/copilot/code-review/custom-instructions-information.md
@@ -0,0 +1,22 @@
+> [!NOTE]
+> Custom instructions for {% data variables.copilot.copilot_code-review_short %} are in {% data variables.release-phases.public_preview %} and are subject to change.
+>
+> This feature is available with the {% data variables.copilot.copilot_pro_short %}, {% data variables.copilot.copilot_pro_plus_short %} {% data variables.copilot.copilot_business_short %}, and {% data variables.copilot.copilot_enterprise_short %} plan.
+>
+> During the {% data variables.release-phases.public_preview %}, if you're using a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan, the organization or enterprise that provides your plan must have the **Opt in to preview features** setting enabled. See [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#enabling-copilot-features-in-your-organization) or [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise#copilot-in-githubcom)
+
+Customize {% data variables.copilot.copilot_code-review_short %} behavior by adding a repository custom instructions file. To do this, create a `.github/copilot-instructions.md` file in your repository and add natural language text that you want {% data variables.product.prodname_copilot_short %} to consider when reviewing code. This is the same `copilot-instructions.md` used by {% data variables.copilot.copilot_chat_short %}. See [AUTOTITLE](/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot).
+
+To enable or disable custom instructions for code review, go to your repository’s settings, then navigate to **Code Review** under **Copilot**, and toggle the “Use custom instructions when reviewing pull requests” option.
+
+### Example
+
+This example of a `.github/copilot-instructions.md` file contains three instructions that will be applied to all {% data variables.copilot.copilot_code-review_short %}s in the repository.
+
+```text
+When performing a code review, respond in Spanish.
+
+When performing a code review, follow our internal security checklist.
+
+When performing a code review, focus on readability and avoid nested ternary operators.
+```
diff --git a/data/reusables/copilot/policies-for-dotcom.md b/data/reusables/copilot/policies-for-dotcom.md
index ae2e4cf35077..4c26aa1174d3 100644
--- a/data/reusables/copilot/policies-for-dotcom.md
+++ b/data/reusables/copilot/policies-for-dotcom.md
@@ -1,2 +1,5 @@
* **Opt in to user feedback collection:** If enabled, users can provide feedback on {% data variables.product.prodname_copilot_short %} pull request summaries. For more information, see [AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-enterprise/copilot-pull-request-summaries/creating-a-pull-request-summary-with-github-copilot).
-* **Opt in to preview features:** If enabled, users can test new {% data variables.product.prodname_copilot_short %} features that are not yet generally available. Be aware that previews of features may have flaws, and the features may be changed or discontinued at any time. Current previews of {% data variables.product.prodname_copilot_short %} features include {% data variables.copilot.copilot_spaces %}. See [AUTOTITLE](/copilot/using-github-copilot/copilot-spaces/about-organizing-and-sharing-context-with-copilot-spaces).
+* **Opt in to preview features:** If enabled, users can test new {% data variables.product.prodname_copilot_short %} features that are not yet generally available. Be aware that previews of features may have flaws, and the features may be changed or discontinued at any time. Current previews of {% data variables.product.prodname_copilot_short %} features include:
+
+ * {% data variables.copilot.copilot_spaces %}. See [AUTOTITLE](/copilot/using-github-copilot/copilot-spaces/about-organizing-and-sharing-context-with-copilot-spaces).
+ * Repository custom instructions for {% data variables.copilot.copilot_code-review_short %}. See [Customizing {% data variables.product.prodname_copilot_short %}'s reviews with custom instructions](/copilot/using-github-copilot/code-review/using-copilot-code-review#customizing-copilots-reviews-with-custom-instructions).