Skip to content

Commit 78e0b56

Browse files
Merge branch 'main' into patch-1
2 parents 1cd1a03 + e0202da commit 78e0b56

406 files changed

Lines changed: 8160 additions & 1857 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.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.

‎.github/instructions/content-guidelines.instructions.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ Examples of strong intros by content type:
5454
* Only include a CTA link when it genuinely makes the reader's task easier, for example by saving them the time of navigating to a settings page themselves. Do not force a CTA; if none would genuinely help the reader, do not add one. Avoid turning articles into clickbait.
5555
* A CTA can take several forms, for example a direct link to the relevant product or feature, a Copilot prompt the reader can run, or a link to start a free trial.
5656
* Only link to a URL that is the same for everyone on that version. Do not add a CTA when the in-product URL must include an enterprise, organization, or repository name (for example, `https://github.com/ORG/REPO/settings/copilot/code_review`), because the link cannot be made to work for all readers.
57+
* Place a CTA as close as possible to the step where the reader completes the task it supports. A CTA near the final step measurably reduces time-to-task, while a CTA at an early step (for example, at the start of a multi-step setup) does not change whether or how quickly readers finish.
5758
* Procedural articles: include a CTA wherever one genuinely helps, as directly as possible.
5859
* Conceptual articles: point the reader to exactly one clear next step, usually a link to the related procedure (for example, an "About pull requests" article points to "Creating a pull request"). Place it where the reader is ready to act, typically at the end of the article.
5960

‎.github/instructions/style-guide-summary.instructions.md‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,14 @@ For Liquid variable usage, reusables, linking conventions, bullet-list markers,
5050
* Keep alerts concise (a couple of sentences max).
5151
* Use Markdown syntax: `> [!NOTE]`, `> [!TIP]`, `> [!WARNING]`, `> [!CAUTION]`, `> [!IMPORTANT]`.
5252

53+
Call reusable content inside alert environments, rather than placing alert environments inside reusable Markdown files. For example:
54+
55+
```
56+
> [!CAUTION]
57+
> {% data reusables.foo.bar %}
58+
> Here is some additional optional text.
59+
```
60+
5361
## Links
5462

5563
* Introduce links with "For more information, see" or "See" when context is clear.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Copilot Code Review setup steps
2+
#
3+
# Code Review cannot access the private early-access repository, so it uses
4+
# this secret-free setup instead of the cloud agent setup workflow.
5+
6+
name: 'Copilot Code Review Setup Steps'
7+
8+
on:
9+
workflow_dispatch:
10+
11+
jobs:
12+
copilot-setup-steps:
13+
runs-on: ubuntu-latest
14+
if: github.repository == 'github/docs-internal' || github.repository == 'github/docs'
15+
permissions:
16+
contents: read
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
20+
- uses: ./.github/actions/node-npm-setup

‎.github/workflows/needs-sme-stale-check.yaml‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
runs-on: ubuntu-latest
2020

2121
steps:
22-
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
22+
- uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0
2323
id: stale
2424
with:
2525
only-labels: needs SME
@@ -32,7 +32,10 @@ jobs:
3232
days-before-pr-close: -1 # never close
3333

3434
- name: Print outputs
35-
run: echo "Staled issues/PRs:${{ steps.stale.outputs.staled-issues-prs || '0' }}, Closed issues/PRs:${{ steps.stale.outputs.closed-issues-prs || '0' }}"
35+
env:
36+
STALED: ${{ steps.stale.outputs.staled-issues-prs || '0' }}
37+
CLOSED: ${{ steps.stale.outputs.closed-issues-prs || '0' }}
38+
run: echo "Staled issues/PRs:${STALED}, Closed issues/PRs:${CLOSED}"
3639

3740
- name: Check out repo
3841
if: ${{ failure() }}

‎.github/workflows/no-response.yaml‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
github.actor != 'github-actions' &&
3434
!endsWith(github.actor, '[bot]')
3535
steps:
36-
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
36+
- uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0
3737
id: stale
3838
with:
3939
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -63,7 +63,10 @@ jobs:
6363
to describe your changes. Then we can reopen this PR and begin the review process.
6464
6565
- name: Print outputs
66-
run: echo "Staled issues/PRs:${{ steps.stale.outputs.staled-issues-prs || '0' }}, Closed issues/PRs:${{ steps.stale.outputs.closed-issues-prs || '0' }}"
66+
env:
67+
STALED: ${{ steps.stale.outputs.staled-issues-prs || '0' }}
68+
CLOSED: ${{ steps.stale.outputs.closed-issues-prs || '0' }}
69+
run: echo "Staled issues/PRs:${STALED}, Closed issues/PRs:${CLOSED}"
6770

6871
- name: Check out repo
6972
if: ${{ failure() }}

‎.github/workflows/stale.yml‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
if: github.repository == 'github/docs-internal'
2222
runs-on: ubuntu-latest
2323
steps:
24-
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
24+
- uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0
2525
id: stale
2626
with:
2727
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -35,7 +35,10 @@ jobs:
3535
operations-per-run: 150
3636

3737
- name: Print outputs
38-
run: echo "Staled PRs:${{ steps.stale.outputs.staled-issues-prs || '0' }}, Closed PRs:${{ steps.stale.outputs.closed-issues-prs || '0' }}"
38+
env:
39+
STALED: ${{ steps.stale.outputs.staled-issues-prs || '0' }}
40+
CLOSED: ${{ steps.stale.outputs.closed-issues-prs || '0' }}
41+
run: echo "Staled PRs:${STALED}, Closed PRs:${CLOSED}"
3942

4043
- name: Check out repo
4144
if: ${{ failure() }}

‎.github/workflows/sync-sdk-docs.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ jobs:
7777
- name: Copy SDK docs
7878
run: |
7979
mkdir -p "$SDK_DOCS_TARGET"
80-
rsync -av --exclude='.validation/' "$SDK_TMP/docs/" "$SDK_DOCS_TARGET/"
80+
rsync -av --exclude='.validation/' --exclude='developer-docs/' "$SDK_TMP/docs/" "$SDK_DOCS_TARGET/"
8181
echo "Copied $(find "$SDK_DOCS_TARGET" -name '*.md' | wc -l | tr -d ' ') markdown files"
8282
8383
- name: Normalize content

‎.github/workflows/triage-stale-check.yml‎

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
pull-requests: write
2222

2323
steps:
24-
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
24+
- uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0
2525
with:
2626
repo-token: ${{ secrets.GITHUB_TOKEN }}
2727
days-before-stale: 30
@@ -37,12 +37,6 @@ jobs:
3737
stale-pr-label: 'Inactive'
3838
close-pr-label: 'Closed as inactive'
3939

40-
# Both output options are set true for debugging.
41-
# The numbers should always match unless we change `days-before-close` from `0`.
42-
43-
staled-issues-prs: true # report issues and PRs that were commented on as stale in the output
44-
closed-issues-prs: true # report issues and PRs that were closed in the output
45-
4640
- name: Check out repo
4741
if: ${{ failure() }}
4842
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
@@ -66,7 +60,7 @@ jobs:
6660
issues: write
6761
pull-requests: write
6862
steps:
69-
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
63+
- uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0
7064
id: stale
7165
with:
7266
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -79,7 +73,10 @@ jobs:
7973
stale-pr-label: 'Waiting on Docs team review'
8074

8175
- name: Print outputs
82-
run: echo "Staled issues/PRs:${{ steps.stale.outputs.staled-issues-prs || '0' }}, Closed issues/PRs:${{ steps.stale.outputs.closed-issues-prs || '0' }}"
76+
env:
77+
STALED: ${{ steps.stale.outputs.staled-issues-prs || '0' }}
78+
CLOSED: ${{ steps.stale.outputs.closed-issues-prs || '0' }}
79+
run: echo "Staled issues/PRs:${STALED}, Closed issues/PRs:${CLOSED}"
8380

8481
- name: Check out repo
8582
if: ${{ failure() }}

‎Dockerfile‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# ---------------------------------------------------------------
1111
# To update the sha:
1212
# https://github.com/github/gh-base-image/pkgs/container/gh-base-image%2Fgh-base-noble
13-
FROM ghcr.io/github/gh-base-image/gh-base-noble:20260729-114251-gd3f68777e@sha256:3bcf6ef4f1eb8e94d6c61c02b82a78140cc2d3c558ba83c68b8f168c5d678a16 AS base
13+
FROM ghcr.io/github/gh-base-image/gh-base-noble:20260731-094650-g61ba3829f@sha256:965152ebc8311c75bc9db9fc1c178a8c04718ca5d5521c30f55ba40ef229ff4d AS base
1414

1515
# Install curl for Node install and determining the early access branch
1616
# Install git for cloning docs-early-access & translations repos

0 commit comments

Comments
 (0)