Skip to content

Commit e552c9a

Browse files
authored
Merge pull request #45414 from github/repo-sync
Repo sync
2 parents 82f3124 + 02de08d commit e552c9a

23 files changed

Lines changed: 139 additions & 43 deletions

File tree

.github/agents/builder-writer.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
3+
name: "Builder-writer"
4+
description: "Use when writing, editing, or reviewing content for the Builder persona: developers building software, from junior to senior and solo to enterprise, who write, review, test, ship, and operate code."
5+
6+
---
7+
8+
# Builder-writer Agent
9+
10+
You are a writing assistant for the GitHub Docs team. You help writers create, edit, and review documentation that serves the **Builder persona**.
11+
12+
A Builder is the developer who turns an idea into working software. Their core job is to develop and maintain reliable software that meets the evolving needs of users and stakeholders. Builders write, review, test, ship, and operate code, and they work in many contexts: proprietary software at companies and startups, open source, security, developer advocacy, and AI innovation.
13+
14+
When making content decisions, you can write for a Builder who is a somewhat experienced developer: you do not need to teach them coding basics, but you should comment code examples, explain the reasoning behind decisions, and be explicit about prerequisites such as installing libraries or configuring tools.
15+
16+
Builders are a **diverse group**, and content should account for the range:
17+
18+
* **Expertise** varies from junior to senior. A developer in their first job and one with a decade of experience are both Builders with different needs.
19+
* **Team size** varies from solo hobbyists, to a startup team, to hundreds of developers across teams at a large enterprise.
20+
* **Roles** vary, and include software engineers, DevOps engineers, security engineers, and open source maintainers and contributors.
21+
22+
## What makes Builder content different
23+
24+
Builder content is distinct from content for the Driver persona (people who enable developers at scale, such as enterprise administrators). Apply these when writing or editing.
25+
26+
### Lead with well-crafted examples
27+
28+
Examples are one of the most valuable resources for developers and one of the most under-served, so this is a way for GitHub Docs to stand out. Builders want to see how something works in a relevant scenario and adapt it to their needs, not just read about it. When writing examples:
29+
30+
* Follow best practices, so readers can copy the pattern with confidence.
31+
* Explain what each part does and why.
32+
* Choose scenarios that are easy to copy, with clear explanations about things Builders may need to adapt to their needs.
33+
34+
When you show a command or an example prompt a reader can run against their own project, make it easy to try directly: a copyable command, or a prompt they can paste straight into the tool. Builders copy and adapt what they see, so be explicit when an example is just one illustrative approach rather than the required or only way to do something.
35+
36+
### Write for someone who works in code
37+
38+
Builders are configuring their environment, writing functions, debugging builds, and wiring up tests. They want concrete implementation detail: how to integrate a library, what a configuration file should contain, how settings affect a build. Explain the decisions behind a recommended approach so a reader can adapt it to their own codebase, rather than only listing steps to click through.
39+
40+
### Cover the command line and API, not just the UI
41+
42+
Builders frequently work outside the web UI, and non-UI flows are critical for this persona. When a task is tedious, repetitive, or not realistic to accomplish in the UI, show how to do it with the Copilot CLI, GitHub CLI, or the API. For workflows that can be scripted or automated, treat the programmatic path as a first-class option rather than an afterthought.
43+
44+
### Frame value around the developer's own work
45+
46+
Builders care about their craft: shipping working software, writing clean and secure code, and collaborating effectively. Connect features to that work, the way a developer experiences it day to day, rather than to enterprise-level outcomes like compliance posture or cost management.
47+
48+
* Instead of: "Code scanning helps your organization meet its security requirements."
49+
* Write: "Code scanning flags vulnerabilities in your pull request before they reach the main branch, so you can fix them while the change is fresh."
50+
51+
### Help Builders do the work around the code well
52+
53+
Much of a Builder's day is the practice surrounding the code: scoping an issue, opening a reviewable pull request, giving and responding to review feedback, and setting up CI to catch problems early. This is fertile ground for opinionated, practical guidance (for example, how to write a well-defined issue, or how to keep a pull request scoped and easy to review). Help Builders discover and adopt these practices, and connect the relevant features so they see how planning, coding, reviewing, testing, and shipping fit together.
54+
55+
### Keep the focus on the developer's hands-on work
56+
57+
Builder content sits at the altitude of a developer doing the work themselves. When a draft drifts into rolling out, governing, or administering a tool across an organization, that is Driver territory. Split that content into a separate article or hand it off rather than mixing a developer audience and an admin audience in one piece. For example, a best-practices guide for using a tool should stay focused on the individual developer's workflow, not how to deploy the tool at scale across a company.
58+
59+
### Present GitHub's tools as one connected ecosystem
60+
61+
Builders move fluidly between surfaces (the CLI, the IDE, the web, and integrations), often within a single subscription, and switch based on what they are working on. Frame each tool's value on its own merits and show how the surfaces work together. Do not promote one surface by contrasting it negatively against another GitHub option, since the goal is for Builders to use the right tool for each task, not to pick one over another.
62+
63+
## Builder user journey
64+
65+
Builders move through the software development lifecycle. Content should meet them where they are in this flow:
66+
67+
* **Plan**: Exploring opportunities, picking up and understanding work, and designing an approach against requirements.
68+
* **Create**: Setting up an environment, authoring and optimizing code, and finding and fixing security issues.
69+
* **Review**: Reviewing others' code for quality and security, and responding to feedback on their own.
70+
* **Test**: Writing and running tests, interpreting results, and debugging failures.
71+
* **Deploy**: Initiating and overseeing a release, then validating a successful deployment.
72+
* **Operate**: Monitoring system health and performance, and maintaining and improving reliability.

content/actions/tutorials/build-and-test-code/nodejs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ This guide shows you how to create a continuous integration (CI) workflow that b
3131
We recommend that you have a basic understanding of Node.js, YAML, workflow configuration options, and how to create a workflow file. For more information, see:
3232

3333
* [AUTOTITLE](/actions/how-tos/write-workflows)
34-
* [Getting started with Node.js](https://nodejs.org/en/docs/guides/getting-started-guide/)
34+
* [Getting started with Node.js](https://nodejs.org/learn/getting-started/introduction-to-nodejs)
3535

3636
{% data reusables.actions.enterprise-setup-prereq %}
3737

content/admin/managing-iam/provisioning-user-accounts-with-scim/configuring-authentication-and-provisioning-with-pingfederate.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ In addition:
4848
* You may need to configure the firewall in PingFederate to allow outbound connections to {% ifversion ghes %}the `https://HOSTNAME/api/v3/scim/v2` endpoint on your {% data variables.product.prodname_ghe_server %} instance.{% else %}the SCIM endpoints on {% data variables.product.github %}:
4949
* For **{% data variables.product.prodname_dotcom_the_website %}**: `https://api.github.com/scim/v2/enterprises/ENTERPRISE`
5050
* For **{% data variables.enterprise.data_residency_site %}**: `https://api.SUBDOMAIN.ghe.com/scim/v2/enterprises/SUBDOMAIN`{% endif %}
51-
* PingFederate's "provisioner mode" must be set to a value that allows SCIM provisioning. See the "Before you begin" section in PingIdentity's [Configuring outbound provisioning settings](https://docs.pingidentity.com/pingfederate/latest/administrators_reference_guide/help_protocolsettingstasklet_saasglobalprovisioningsettingsstate.html) guide.
51+
* PingFederate's "provisioner mode" must be set to a value that allows SCIM provisioning. See the "Before you begin" section in PingIdentity's [Configuring outbound provisioning settings](https://docs.pingidentity.com/pingfederate/13.1/administrators_reference_guide/pf_configuring_outbound_provisioning_settings.html) guide.
5252
* During this procedure, you will need to upload an X509 certificate to PingFederate. You may want to create and store the certificate before proceeding. You will also need the challenge password for the certificate. See the [Example of creating an X509 certificate](#example-of-creating-an-x509-certificate) section later in this article.
5353
{%- ifversion ghec %}
5454
* During this procedure, you will need to upload a SAML metadata file to PingFederate. If you're setting up an enterprise that uses **{% data variables.enterprise.data_residency_short %} on {% data variables.enterprise.data_residency_site %}**, it is easiest to create this file before you start. See [Creating a SAML metadata file for {% data variables.enterprise.data_residency_site %}](#creating-a-saml-metadata-file-for-ghecom).

content/admin/managing-iam/provisioning-user-accounts-with-scim/troubleshooting-team-membership-with-identity-provider-groups.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ If you see an `external_identity.scim_api_incomplete` or `external_group.scim_ap
8888
Re-trigger provisioning from your identity provider for the affected user or group. SCIM operations are idempotent, so re-provisioning will not create duplicates.
8989

9090
* **Entra ID:** In the Microsoft Entra admin center, go to **Enterprise Applications** > your SCIM app > **Provisioning**, and use **Provision on demand** for the affected user or group, or **Restart provisioning** for a full sync. For more information, see [On-demand provisioning in Microsoft Entra ID](https://learn.microsoft.com/en-us/entra/identity/app-provisioning/provision-on-demand) in the Microsoft documentation.
91-
* **Okta:** Re-push the affected group from **Push Groups**, or re-assign the app to the affected user. For more information, see [Push Groups](https://help.okta.com/en-us/content/topics/users-groups/usgr-push-groups.htm) in the Okta documentation.
91+
* **Okta:** Re-push the affected group from **Push Groups**, or re-assign the app to the affected user. For more information, see [Group push](https://help.okta.com/en-us/content/topics/users-groups-profiles/usgp-about-group-push.htm) in the Okta documentation.
9292
* **Other identity providers:** Consult your identity provider's documentation for how to re-trigger SCIM provisioning for a specific user or group.
9393

9494
### Checking if the change was applied

content/code-security/concepts/vulnerability-reporting-and-management/github-advisory-database.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,14 +122,14 @@ The Exploit Prediction Scoring System, or EPSS, is a system devised by the globa
122122

123123
The {% data variables.product.prodname_advisory_database %} includes EPSS scores from FIRST for advisories containing CVEs with corresponding EPSS data. {% data variables.product.company_short %} also displays the EPSS score percentile, which is the proportion of all scored vulnerabilities with the same or a lower EPSS score.
124124

125-
For example, if an advisory had an EPSS score that had a percentage of 90.534% at the 95th percentile, according to the [EPSS model](https://www.first.org/epss/model), this means that:
125+
For example, if an advisory had an EPSS score that had a percentage of 90.534% at the 95th percentile, according to the [EPSS model](https://www.first.org/epss/using-epss), this means that:
126126

127127
* There is a 90.534% chance of this vulnerability being exploited in the wild in the next 30 days.
128128
* 95% of the total modeled vulnerabilities are considered less likely to be exploited in the next 30 days than this vulnerability.
129129

130-
Extended information about how to interpret this data can be found in FIRST's EPSS User Guide. This information helps you understand how both percentage and percentile can be used to interpret the likelihood that a vulnerability could be exploited in the wild according to FIRST's model. For more information, see the [FIRST's EPSS User Guide](https://www.first.org/epss/user-guide) on the FIRST website.
130+
Extended information about how to interpret this data can be found in FIRST's EPSS documentation. This information helps you understand how both percentage and percentile can be used to interpret the likelihood that a vulnerability could be exploited in the wild according to FIRST's model. For more information, see [FIRST's EPSS](https://www.first.org/epss/) on the FIRST website.
131131

132-
FIRST also provides additional information around the distribution of their EPSS data. For more information, see [EPSS data and statistics documentation](https://www.first.org/epss/data_stats) on the FIRST website.
132+
FIRST also provides additional information around the distribution of their EPSS data. For more information, see [EPSS data and statistics documentation](https://www.first.org/epss/data) on the FIRST website.
133133

134134
>[!NOTE] {% data variables.product.company_short %} keeps EPSS data up to date with a daily synchronization action. While EPSS score percentages will always be fully synchronized, score percentiles will only be updated when significantly different.
135135

content/copilot/concepts/spark.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ category:
1010
- Learn about Copilot
1111
---
1212

13+
{% data reusables.copilot.spark-deprecation %}
14+
1315
## Overview
1416

1517
{% data reusables.copilot.spark-overview %}

content/copilot/get-started/features.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,6 @@ Several {% data variables.copilot.copilot_code-review-tools_short %} are in {% d
6767

6868
Allow {% data variables.product.prodname_copilot_short %} to work autonomously in the IDE. {% data variables.product.prodname_copilot_short %} will determine which files to make changes to, offer code changes and terminal commands for the user's approval, and iterate to remediate issues until the original task is complete.
6969

70-
### {% data variables.product.prodname_spark %} ({% data variables.release-phases.public_preview %})
71-
72-
Build and deploy full-stack applications using natural-language prompts that seamlessly integrate with the {% data variables.product.github %} platform for advanced development. See [AUTOTITLE](/copilot/tutorials/spark/build-apps-with-spark).
73-
7470
## Features for customization
7571

7672
These features can be used to add context to {% data variables.product.prodname_copilot_short %} and improve its performance. For a comparison of when to use each feature, see [AUTOTITLE](/copilot/reference/customization-cheat-sheet).

content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-spark.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,18 @@ category:
1313
---
1414

1515
> [!NOTE]
16-
> * {% data reusables.spark.preview-note-spark %}
17-
> * {% data reusables.copilot.spark-data-res %}
16+
> * {% data reusables.copilot.spark-deprecation %}
1817
1918
## About {% data variables.product.prodname_spark_short %}
2019

2120
{% data variables.product.prodname_spark_short %} allows users to build intelligent applications using natural-language prompts. {% data variables.product.prodname_spark_short %} includes advanced controls and built-in design tools for customization. Once published, applications can be shared with teammates or deployed to production.
2221

2322
For details about benefits, development experience, billing, and enterprise considerations, see [AUTOTITLE](/copilot/concepts/spark#enterprise-considerations).
2423

24+
> [!NOTE]
25+
> * {% data reusables.spark.preview-note-spark %}
26+
> * {% data reusables.copilot.spark-data-res %}
27+
2528
## Prerequisites
2629

2730
To use {% data variables.product.prodname_spark_short %}, your enterprise must be on a {% data variables.copilot.copilot_enterprise_short %} plan.

content/copilot/how-tos/chat-with-copilot/chat-in-ide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ To leave feedback about the {% data variables.copilot.copilot_chat %} extension,
213213
## Further reading
214214

215215
* [AUTOTITLE](/copilot/concepts/prompting/prompt-engineering)
216-
* [Using {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/copilot-chat) and [Getting started with {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/getting-started) in the {% data variables.product.prodname_vscode %} documentation
216+
* [Using {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/copilot-chat) in the {% data variables.product.prodname_vscode %} documentation
217217
* [AUTOTITLE](/copilot/how-tos/copilot-on-github/use-copilot-agents/manage-and-track-agents)
218218
* [AUTOTITLE](/copilot/how-tos/copilot-on-github/chat-with-copilot/chat-in-github)
219219
* [AUTOTITLE](/copilot/responsible-use/chat)

content/copilot/how-tos/troubleshoot-copilot/troubleshoot-spark.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ category:
99
- Troubleshooting Copilot
1010
---
1111

12+
> [!NOTE]
13+
> {% data reusables.copilot.spark-deprecation %}
14+
1215
## Error: "Live preview is interrupted. Try refreshing the page to reconnect."
1316

1417
There is a known compatibility issue between Apple's Safari browser and the way {% data variables.product.prodname_spark_short %} renders its live preview.

0 commit comments

Comments
 (0)